Le dim 20/06/2004 à 22:14, Jerry Kakol a écrit : > Hi all, > > For quite a while already I'm thinking about that thingy mentioned in > the subject line. Namely and object derived from gnome_canvas but with > (x,y,z) world coordinates, "projection-type" property (parallel, > perspective, etc.) and first of all: capable to render NURBS curves and > surfaces. > > First question: is such thing already in the working somewhere? No, AFAIK. There is some 3d plotting in gtk+extra (but this is based on gtk+-1. Anyway, we'll need some 3d rendering for 3d graphs in libgoffice (gnumeric). > The other problem is the rendering of NURBS curves. I guess there is not > an abundance of algorithms to choose from. The best I found so far is > decomposition of NURBS curve into a set o Bezier segments. However, if I > understand the documentation properly, gnome-canvas (really: libart) can > only render curves composed of four control points using > gnome_canvas_path_def_curveto (start point + three points supplied as > arguments to moveto method). That leads me to the second question: > > Is it true that GnomeCanvasPathDef may contain only four control point > bezier seqments? If so then it begs a fourth question: why? I mean is it > universal enough? In other words: is there a way to use curveto method > to render arbitrary defined Bezier seqments? Look at the ArtBPath structure. It uses four points. Analog things exist in svg and postscript (svg has also quadratic bezier curves). > The fifth question is of more general nature. Is it a good idea in the > first place to implement a 3D canvas for gnome? I'm asking this in the > context of incoming wave of changes caused by future adoption of cairo > and removing libart from its role of underlying rendering engine. By the > way, does it mean that GnomeCanvas will be retired as well? From what I > see cairo IS NOT a functional replacement of GnomeCanvas. It seems that gnome libs will become deprecated. A new canvas will have to be based on cairo if cairo does not provide all the necessary functionalities. Now, I believe that a 3d canvas for gnome is a good idea, and probably even a necessity. May be it should be based on cairo. And may be it's time to work on that. Regards, Jean
Attachment:
signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=