Flisp3d Engine |
Accesses seit 6-July-2004 |
last Update: 12-Oct-2005 |
Für die grundlegende Navigation im Raum wird ein 3d-Cursor verwendet. Damit kann ähnlich der 2d-Steuerung einer Schildkröte in der altbekannten Programmiersprache LOGO ein Objekt im 3 dimensionalen Raum gesteuert werden. Die Eigenschaften des 3d-Cursors werden je nach Bedarf mit zusätzliche Befehle für abgeleitete Objekte erweitert. So kann z.B. der Öffnungswinkel nur für das Auge geändert werden. Vordefiniert sind außer dem Objekt "Eye" mit dem die komplette Projektion gesteuert wird das Objekt "Light" für die Basisbeleuchtung der Scenerie und die Objekte "Fly" und "Bee", mit dem die darzustellenden 3d-Objekte definiert bzw. dargestellt werden. Das Objekt "Ghost" wírd verwendet, um Objekte mittels vordefinierter Bewegungsabläufe zu animieren. Von welchen Klassen diese Objekt abgeleitet sind, ist in folgendem Diagramm ersichtlich. |
Natürlich
ist man nicht auf die vordefinierten Objekte
beschränkt. Von den Basisklassen können weitere
3d-Cursor Klassen abgeleitet werden, die um die zusätzlich
benötigten Eigenschaften erweitert werden können. Als Beispiel wurde die Klasse "Dragon3d" realisiert, deren Objekte nach einer Bewegung im Raum eine Polygonlinie hinter sich her ziehen. Ein weiteres Beispiel ist die Klasse "Bounce3d", deren Objekte sich nur in einem begrenzten Raum bewegen können. Der prinzipielle Aufbau der Flisp3d-Engine sieht wie folgt aus: |
weitere Informationen folgen.... |
|
Example scenes, simulations
and rotating objects with
background texture or
picture (use
drag & drop). Include: a molecule viewer for XYZ-files, many
examples of 3d surfaces (for example Supertoroid, Steiner
Surface, KleinBottle and much more). The application is coded in Delphi and uses Graphics32 library v1.8 from Alex A. Denisov, which makes basic drawing primitives such as pixels, antialaised lines and polygon and sprites with variable transparency available. Some new simulation examples are added e.g. Lorenz and Rössler attractor where the parameters can be changed interactively. Currently no Direct3d or OpenGL library is being used. It is planned to speed up drawings by using 3d hardware interface OpenGL. |
page created by [email protected]