documentation projects applications publications gallery download
BOOGA
Virtual Emmental

Up ]

Bezier Patches

Syntax

bezierpatch ([x1,y1,z1],[x2,y2,z2],[x3,y3,z3],[x4,y4,z4],
[x5,y5,z5],[x6,y6,z6],[x7,y7,z7],[x8,y8,z8],
[x9,y9,z9],[x10,y10,z10],[x11,y11,z11],[x12,y12,z12]);

 

Example

The following example show how to create a rotation object. In a first step, the profile of the rotation object can be generated using the BOOGA Lathe Application, which can be run from every Java-capable browser. The image show   the profile of the example object.

example_java.gif (6904 Byte)

The Java-applet can generate a BSDDL rotation object consisting of Bézier patches. The profile can be saved as Postscript:

0.3 0.6 m
0.1 0.4 0.6 0.0 0.0 0.0 c
The profile on the left can be saved in Postscript-like format, which can later be loaded in the Java applet for further processing.

 

example_wire.gif (5152 Byte) example.gif (16521 Byte)
The rotation object as wireframe... ...and raytraced.

BSDL source

using 3D     
define RotationPatch list {
bezierpatch ([0.3,0.6,0.0] ,[0.3,0.6,0.16] ,[0.16,0.6,0.3] ,[0.0,0.6,0.3],
[0.1,0.4,0.0], [0.1,0.4,0.05], [0.05,0.4,0.1], [0.0,0.4,0.1],
[0.6,0.0,0.0], [0.6,0.0,0.33], [0.33,0.0,0.6], [0.0,0.0,0.6],
[0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0] );
};
define RotationObject list {
RotationPatch;
RotationPatch{rotateY(90);}
RotationPatch{rotateY(180);}
RotationPatch{rotateY(270);}
};     
RotationObject;     
 

Last changed: 12.05.98

Back Home Up

documentation projects applications publications gallery download

BOOGA - A project of the fcg Research group of the Insitute of Computer Science of the University of Berne