You can subscribe to this list here.
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: Henry B. <hb...@pi...> - 2013-07-24 04:31:37
|
Attached is a file that demonstrates the issues with both 'make-body-from-vertices' and with the display code that causes a segmentation fault. Simply fire up 'irteusgl' and tell it '(load "struto.l")'. The file will create a list of 87618 face triangles, then call 'make-body-from-vertices' on this list, and then call '(objects mybody)' on the resulting body. On a standard EusLisp, the 'make-body-from-vertices' will take perhaps 30 minutes, and the call to 'objects' will then crash. With the modified 'make-body-from-vertices' and the modified 'remove-duplicates' (see my previous messages), the 'make-body-from-vertices' should take perhaps 40 seconds, and the call to 'objects' will crash. I don't know what the problem is with the system crashing. Henry Baker Santa Barbara, CA |
From: Henry B. <hb...@pi...> - 2013-07-22 20:41:49
|
I've tracked down some of the issues re excessively long runtimes for 'make-body-from-vertices', found in 'primt.l' in the 'geo' directory. In addition to the performance problem with 'remove-duplicates', there is also a performance problem with the use of 'assoc' in 'make-body-from-vertices'. 'assoc' is being called to search a list of 41653 vertices, which is intolerably slow. By replacing the call to 'assoc' with a hash table, the performance of 'make-body-from vertices' was improved from 30 _minutes_ to 39 _seconds_ !! 39 seconds is still too slow for simply creating a body with 87618 faces, 131427 edges and 41653 vertices, but it is at least tolerable. (defun make-body-from-vertices (face-vertices &optional (klass *body-class*)) ; face-vertices=(list #f(x1 y1 z1) #f(x2 y2 z2) ...) ... (let* ((vlist (mapcar #'list (remove-duplicates (apply #'append face-vertices) :test #'equal))) (vhash (make-hash-table :size (* 2 (length vlist)) :test #'equal)) faces bod) (dolist (vlist-entry vlist) ; Populate hash table. (or (gethash (car vlist-entry) vhash) (setf (gethash (car vlist-entry) vhash) vlist-entry))) (dolist (fverts face-vertices) (let ((fvlist)) (dolist (fv fverts) ;; (push (assoc fv vlist) fvlist) ;; (push (assoc fv vlist :test #'equal) fvlist) ; *** Too slow !!! *** (push (gethash fv vhash) fvlist)) (push (make-face-from-vertices (nreverse fvlist)) faces)) ) (setq bod (instance *body-class* :init :faces (nreverse faces))) (send bod :csg (list (cons :body-from-vertices face-vertices))) bod) ) BTW, after creating this large, complex body, I still can't display it, as irteusgl produces a segmentation fault when '(objects mybody)' is executed. |
From: Henry B. <hb...@pi...> - 2013-07-20 14:17:18
|
After looking over the implementation of EusLisp, it appears that the Maxima open source symbolic algebra system could be ported to EusLisp without too much difficulty. Although the current Maxima is based on Common Lisp, it doesn't make use of any of the object-oriented portions of Common Lisp, nor does it utilize features like full lexical closures. I don't have a current burning need for symbolic algebra capabilities in EusLisp, but perhaps others on this list might. |
From: Henry B. <hb...@pi...> - 2013-07-19 20:20:22
|
I've found Sugihara & Iri's 1989 paper "A Solid Modelling System Free from Topological Inconsistency" to be an incredibly elegant way to do Constructive Solid Geometry. Sugihara, K., and Iri, M.. "A Solid Modelling System Free from Topological Inconsistency". J. Info. Proc., v12#4, 1989, 380-393. Has anyone implemented these ideas in EusLisp? Since EusLisp has bignums, at least a research-quality implementation could be done in EusLisp that didn't worry about overflow. |
From: Henry B. <hb...@pi...> - 2013-07-19 20:14:55
|
There are several places in the EusLisp documentation where the word 'integer' should be replaced by 'fixnum', because 'integer' refers to either a fixnum or a bignum. In particular, on page 5 under 'Data Types', the word 'integer' is used instead of 'fixnum' to refer to 30-bit immediate integers. Also, under 'Compatibility with Common Lisp', bignums _are_ supported. |
From: Kei O. <k-...@js...> - 2013-07-19 13:15:43
|
> But if I wanted to use the mouse scroll wheel & right mouse button, I might have to modify irtviewer, which is ok. > If I were to modify irtviewer, would this be easy? yes, you have to modify irtviewer.l, please see :move-viewing-around-viewtarget method. I don't think it is difficult to modify, The reason we did not implement that is it was difficult to conform to check if this works for all platform/users, at least few years ago. I hope it may much more easy these days. > > At 05:26 AM 7/19/2013, Kei Okada wrote: >>Hi, Henry >> >>There are "virtual slider" on top/bottom/left/right side of the window >>with left button, >>so, move cursor to the right side of the window, where the distance >>between cursor and the edge of window is under 60 pixel , then push >>left button at and move to the up , >>the object will zoom up. >> >>Hope this explain helps you. >> >>Best >> >>On Fri, Jul 19, 2013 at 9:01 PM, Henry Baker <hb...@pi...> wrote: >>> Hi all: >>> >>> You have a very impressive system. >>> >>> I've been able to fire up the irteus system & view all the demos. >>> >>> I've been able to load individual models -- e.g., the coffee-cup -- and display them in the IRT viewer window. >>> >>> The IRT viewer window allows me to rotate the cup with the left mouse button, but how do you move in & out & move side to side? >>> >>> In many other 3D viewers that I've used, the mouse scroll-wheel moves in & out (zooms), while the right mouse button moves (translates) side to side & up and down. >>> >>> Is there an easy way to get this behavior in the irteus viewer? >>> >>> Also, is it possible to see the source file for the coffee cup? It looks like the coffee cup is the compiled output of some other program. >>> >>> Thanks very much for your help. >>> >>> Henry Baker >>> Santa Barbara, CA > > > |
From: Henry B. <hb...@pi...> - 2013-07-19 13:04:09
|
That's very helpful & I'll make do with this approach for a while. But if I wanted to use the mouse scroll wheel & right mouse button, I might have to modify irtviewer, which is ok. If I were to modify irtviewer, would this be easy? At 05:26 AM 7/19/2013, Kei Okada wrote: >Hi, Henry > >There are "virtual slider" on top/bottom/left/right side of the window >with left button, >so, move cursor to the right side of the window, where the distance >between cursor and the edge of window is under 60 pixel , then push >left button at and move to the up , >the object will zoom up. > >Hope this explain helps you. > >Best > >On Fri, Jul 19, 2013 at 9:01 PM, Henry Baker <hb...@pi...> wrote: >> Hi all: >> >> You have a very impressive system. >> >> I've been able to fire up the irteus system & view all the demos. >> >> I've been able to load individual models -- e.g., the coffee-cup -- and display them in the IRT viewer window. >> >> The IRT viewer window allows me to rotate the cup with the left mouse button, but how do you move in & out & move side to side? >> >> In many other 3D viewers that I've used, the mouse scroll-wheel moves in & out (zooms), while the right mouse button moves (translates) side to side & up and down. >> >> Is there an easy way to get this behavior in the irteus viewer? >> >> Also, is it possible to see the source file for the coffee cup? It looks like the coffee cup is the compiled output of some other program. >> >> Thanks very much for your help. >> >> Henry Baker >> Santa Barbara, CA |
From: Kei O. <k-...@js...> - 2013-07-19 12:27:16
|
Hi, Henry There are "virtual slider" on top/bottom/left/right side of the window with left button, so, move cursor to the right side of the window, where the distance between cursor and the edge of window is under 60 pixel , then push left button at and move to the up , the object will zoom up. Hope this explain helps you. Best On Fri, Jul 19, 2013 at 9:01 PM, Henry Baker <hb...@pi...> wrote: > Hi all: > > You have a very impressive system. > > I've been able to fire up the irteus system & view all the demos. > > I've been able to load individual models -- e.g., the coffee-cup -- and display them in the IRT viewer window. > > The IRT viewer window allows me to rotate the cup with the left mouse button, but how do you move in & out & move side to side? > > In many other 3D viewers that I've used, the mouse scroll-wheel moves in & out (zooms), while the right mouse button moves (translates) side to side & up and down. > > Is there an easy way to get this behavior in the irteus viewer? > > Also, is it possible to see the source file for the coffee cup? It looks like the coffee cup is the compiled output of some other program. > > Thanks very much for your help. > > Henry Baker > Santa Barbara, CA > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Jskeus-users mailing list > Jsk...@li... > https://lists.sourceforge.net/lists/listinfo/jskeus-users |
From: Henry B. <hb...@pi...> - 2013-07-19 12:03:22
|
Hi all: You have a very impressive system. I've been able to fire up the irteus system & view all the demos. I've been able to load individual models -- e.g., the coffee-cup -- and display them in the IRT viewer window. The IRT viewer window allows me to rotate the cup with the left mouse button, but how do you move in & out & move side to side? In many other 3D viewers that I've used, the mouse scroll-wheel moves in & out (zooms), while the right mouse button moves (translates) side to side & up and down. Is there an easy way to get this behavior in the irteus viewer? Also, is it possible to see the source file for the coffee cup? It looks like the coffee cup is the compiled output of some other program. Thanks very much for your help. Henry Baker Santa Barbara, CA |