About 3DLogo objects
After 3DLogo version 0.80 or later, you can add, delete and modify the objects for 3D rendering.
All the objects you added to 3DLogo are sent to the server when you hit the "generate" button.
When the server receives the objects you sent, it creates 3D image for the objects
so that you can see it on your browser.
The 3DLogo objects correspond to POV-ray primitives, but it is limited to the basic objects which is useful to
create 3D text image. About the POV-ray primitives, please see the
POV-ray manual for detail.
3DLogo is based on the POV-ray working on the server machine.
All the 3DLogo objects have the following information as a basic imaging data.
- Name
- The Object name. the name should be unique through all the objects.
- Type name
- A Type name of the object
- Texture name
- A texture name which is used for rendering this object.
- Finish type
- A Finish type name how the object surface looks. If this is specified and also the
texture flag is off, the object is rendered using this finish type with the specified color.
- Color
- A Color name used with the finish type. If the texture flag is on, it is not used.
- Texture flag
- The flag if the object use the texture or not.
- Shadow flag
- The flag if the object has a shadow or not
- Reflection flag
- The flag if the object is reflected by other objects.
- Image flag
- The flag if the object is drawn or not. It can be used when you want to temporarily erase the object.
- Object Scale
- Object scaling data for X,Y,Z direction
- Object Rotation
- Object Rotatin data aroud X,Y,Z axis. -180 to 180 degree.
- Object translation
- Object translation for data X,Y,Z direction
- Texture scale
- Texture scaling data for X,Y,Z direction
- Texture rotaion
- Texture rotation data around the X,Y,Z axis. -180 to 180 degree.
- Texture translation
- Object translation data for X,Y,Z direction
The 3DLogo Objects are created on the location(0,0,0), however you can move, scale and rotate them
by specifing the above object transformation data.
The above are the common object data, but the object has its own object data based on its type.
For example, it may have radius, text string, height, width etc...
Types of 3DLogo object
The following object types are supported in the 3DLogo. More objetcs may be supported in the future,
if there are some needs for them.
Text object
It corresponds to POV-ray 3D text object. It has text string data and its font name data in addition to common
object data. The type name is POV_TEXT.
Plane object
It corresponds to POV-ray infinite plane object. It can be used for the background image like skies or floors.
The type name is POV_PLANE.
Plane can be specified by the distance from the point(0,0,0) and normal vector.
3Dlogo only supports X,Y,Z directioned normal, so if you need other directioned plane,
you may use rotation data ob this object.
Sphere object
It corresponds to sphere object of POV-ray. The type name is POV_SPHERE.
It has only radius data in addition to common object data and always created on the location(0,0,0),
so if you want to move it, you need to use translation data of this object.
SuperEllipsoid ofject
It corresponds to POV-ray's superquadric ellipsoid. The type name is POV_SE.
It has e and n value in addtuin to common object data.
The superellipsoid object creates a shape known as a superquadric ellipsoid object. It is an extension of the quadric ellipsoid. It can be used to create boxes and cylinders with round edges and other interesting shapes.
The values of e and n, called the east-west and north-south exponent, determine the shape of the superquadric ellipsoid. Both have to be greater than zero. The sphere is given by e = 1 and n = 1.
For more detail, you can see the POV-ray manual
This object is created on the location(0,0,0) and occupies the space from location(-1,-1,-1) to
(1,1,1).
Box object
It corresponds to POV-ray box object. The type name is POV_BOX.
The box object is created on the point(0,0,0) and occupies the space from (-x/2, -y/2, -z/2)
to (x/2, y/2, z/2). X,Y,Z is box object specific data inaddtion to common object data.
Cylinder object
It corresponds to POV-ray cylinder object. The type name is POV_CYL.
The cylinder object has height and radius data inaddition to object common data.
When it is created ,the center of the bottom of the cylinder is located on the point(0,-h/2,0).
If you check the "open" checkbox, it creates the cylinder hollow.
CSG Object
The CSG Obect is not a solid figure object itself. You can combine multiple simple shapes into complex shapes using Constructive Solid Geometry (CSG) object. There are four basic types of CSG operations: union, intersection, difference, and merge. CSG objects can be composed of primitives or other CSG objects to create more, and more complex shapes. The type name is POV_CSG.
The details of CSG operation is described in thePOV-ray manual.
You can specify a texture for the CSG object, however the CSG texture is only effective for the combined objects whose texture flag is off.
Object operation
You can add, delete and modify the 3DLogo object as follows:
Object addition
The following is the procedure to add a new object to 3DLogo.
- Select type name from the Object-Type selection box.
- Enter a unique object name into a Name: input box
- Enter object specific data.(For example, a text for a 3d text object, a radius for a sphere object etc.)
- Push the create button.
If you specify the name which is already used,an alert message is popped up, and
the object is not created.
Modfying a object
On your browser screen, the data of selected object is shown.
If you select the other object, the screen is redrawn for the newly selected object.
So it alway shows the currently selected object data. You can modify the object data
just modifying the data on the screen.
When you select another object, or hit generate button, or hit update button,
the data on the screen is applied to currently selected object.
If you hit the revert button before you do the above operation,
the data of currently selected objects are sent back to the screen,
and the original object data is restored.
Adding/removing elements of a CSG object
The CSG object should include some other 3DLogo objects (including other CSG objects) ,
however when you create the CSG object, it is empty and only has a CSG type id.
To add a object to a CSG object, at first you need to select the CSG object name from the selection box
in the [CSG elemnts addition/removal] area. After you select the CSG object, you also need to select the
object to add from the object selection box above. Then you can hit the add button in the CSG operation area
to add the select ed object to teh CSG object.
You can also, select the CSG object and the other object, and hit the remove button to remove the object
from the CSG object.
Object removal
You can just select the object you want to delete from the object selection box at the upper-left area of the
screen, and hit the delete button to remove the object from 3DLogo.