Just push the button above and wait a moment for your browser to open up Mondfarilo's main window. Then, read on for a quick tutorial.
Since you haven't created any objects yet, all these areas are empty.
The three "axis views", Top, Front and Side, contain a grid of bluish lines. These are your guides for sizing and aligning objects as you drag them about in these views. All interactive editing occurs in these editable axis views.
In contrast, the camera view has no graph paper. Instead, it has a pair of heavy black lines describing a horizontal rectangle with a 4:3 aspect ratio. This is the standard TV or computer monitor aspect ratio, for example 640 by 480. Mouse drags do not edit objects in this view. Instead, they move the camera in various ways.
In the axis views the box is drawn with some sort of red "target" on it. This target consists of a number of Editing Handles, places where clicking and dragging will reshape the object.
To change the Position, click the mouse anywhere in the camera view and drag freely. The cube seems to rotate as though you were "rolling" it around with the mouse. But actually, the cube remains stationary while your camera position orbits around it.
To change the Focal Point, click and drag while holding down the Shift Key. This does the exact opposite. Instead of orbiting the Position around a stationary Focal Point, it orbits the Focal Point around a stationary Position. A reducing scale factor applies here, so the mouse acts a good deal less "lively" that it does when dragging the Position. Why? Because that's how SCED does it. I must give this more thought.
Another way to change the Position with the mouse is to click and drag while holding down the Ctrl Key. In this mode, horizontal dragging has no effect, but vertical dragging moves the Position closer to or farther away from the Focal Point.
Finally, to change the Focal Length, drag vertically while holding down both the Shift and Ctrl keys.
Translation uses the spot in the middle of the circle. This spot is situated at the origin of the object's local coordinate system. Drag this spot in any of the three editing views and the cube will follow your mouse around. The window you clicked in gets updated continuously while you drag. The other three windows don't get updated until after you release the mouse button.
Uniform Scaling also uses the spot in the middle of the circle. Hold down the Ctrl key before you click the spot. Then, as you drag back and forth, the object is uniformly scaled around its own origin.
Non-uniform Scaling uses the spot below and to the right, outside of the circle. Drag this spot to scale the object in the two dimensions parallel to the editing view. The object remains the same size in the dimension perpendicular to the editing view.
Rotation uses the spot lying on the circle, directly to the right of the center. Drag this spot around the center to rotate the object around an axis perpendicular to the editing view and passing thru the object's origin.
Take a few minutes to familiarize yourself with these standard Editing Handles.
You may have none, one, some or all of your objects selected at any time. Clicking their names in the object list toggles their selected state on and off.
Choose Cone from the Create menu. Now you see something slightly different. In addition to the three standard Editing Handles, the Cone also two green handles, one at the center of each end. Drag these handles back and forth to change the radius at the corresponding end of the Cone.
You can still use the green handles even after the cone has been squashed and stretched beyond recognition by the standard red handles.
Create a Torus. (Delete other objects first, if you want to eliminate some clutter.) Like a Cone, a Torus has two green handles in addition to the standard ones. The green handle near the center of the torus, when dragged back and forth, changes the Major Radius of the torus. The other handle, located near the rim, changes the Minor Radius.
To create a group before the fact, choose New Empty Group from the Create menu. As usual, a new object is born. Its name goes on the object list. Its standard Editing Handles go in the editing views.
With the new Group still selected, choose Open Window from the Edit menu. A new Group Editor window appears. It is in every way exactly like the World Editor you've been using all along, except that it only displays the contents of the Group you just created, and it is capable of performing Constructive Solid Geometry (CSG) on its members.
Add a couple of objects, like a Box and a Sphere, to this new Group. Then choose Close from the File menu. Now you can see the members of the group displayed in the World Editor. Try manipulating the Group's Editing Handles. The members of the group all get transformed together.
To create a group after the fact, select the objects you want grouped and choose Group from the Edit menu. This replaces all the selected objects with a single group containing the originals.
The corresponding Ungroup command performs the reverse operation. Each selected nested group (there can be more than one, of course) is removed and replaced by its separate children. If the group had been transformed, its transformation is bestowed upon its children when they get ungrouped. Making a temporary group, transforming it, and then ungrouping is a useful way to build a world with Mondfarilo.
But that's my problem, not yours.
If we have two objects A and B, their union consists of all points that are inside A or inside B. Their intersection consists of all points that are inside A and inside B. And their difference consists of all points that are inside A and not inside B.
In other words, a union is a simple glomming together of the two objects. Intersections and differences are two different ways of using one object to carve away part of another object.
Using methods already covered above, get yourself a Group Editor window containing two objects, a box and a sphere. Create the box first so that it appears first on the object list. Uniformly scale the sphere down to about half its original size, then translate it so that it overlaps one of the corners of the box. From the CSG Type popup menu, choose Intersection. Hit the Refresh button, then drum your fingers on your desk for several seconds while Mondfarilo calculates the surface. You should be rewarded with a box with a spherical bite taken out of one corner.
Choose Blob from the Create menu. You might notice a slight delay while Mondfarilo calculates the surface of the new object. Blobs have much more complicated suface tiling logic than the simpler primitives do.
Then choose Open Window from the Edit menu. You see something that looks very much like a familiar Group Editor, but with a few extra controls in it.
First of all, the Create menu in a Blob Editor has only one item: a Component. This creates an old-fashioned spherical blob component as used by POV-Ray version 2. POV-Ray Version 3 also allows cylindrical components, and components can be transformed and assigned different textures. Mondfarilo does not (yet) exploit any of these capabilities.
Perhaps a quick review of POV-Ray Blobs would be useful. A blob consists of a number of overlapping spherical force fields, known as components in POV-speak. Each component has a radius and a strength. It contributes the given strength at its center, but the strength fades smoothly away as you move away from the center, finally reaching zero at the radius and beyond. The blob as a whole has a threshold value. Everywhere in space where the sum of all the components' strengths equals this threshold is on the surface of the blob. Places where the sum is greater than the threshold are inside the blob.
A newly-created blob has a threshold of 30 and a single component whose strength is 100. The blob looks like a sphere somewhat smaller than the component. The component contributes its full strength at the center, fading to nothing at the boundary; the blob surface is where that strength happens to equal 30.
Interesting things happen where the components overlap. Adding together smoothly changing force fields results in a smoothly blended transition between the components. They sort of "grab" each other, like two lumps of silly putty pressed together and then pulled apart.
You can give a component a negative strength if you want. Such a component will make a dent in its neighbor instead attracting it and blending with it. You form interesting blobs by lumping together positive components and carving them away with negative components.
In the lower-left corner of the Blob Editor are three text entry fields and a Refresh button. Threshold is the threshold of the blob as a whole. Field Strength is the strength of the currently selected Component. If no component is selected, this field is empty. Granularity refers to how finely Mondfarilo approximates the Blob's surface. A value of 20 (the default) in this field means that Mondfarilo approximates the surface by finding where it intersects the edges of a mesh of 20-unit cubes. Decreasing this number increases the accuracy of the approximation, at the cost of increased time and space.
Blob Components are drawn as heavy black or gray circles. They have a single Editing Handle right in the center. Dragging this handle moves the Component. Dragging horizontally with the Ctrl key down changes the radius.
First of all, you should know that every Group Editor (and Blob Editor) has a POV-Ray command on its File menu. A Group Editor generates a POV-Ray scene from its own contents only. In other words, if you want a POV-Ray description of the whole world, you must choose the POV-Ray command from the World Editor. If you choose the command in, say, a Blob Editor, you will get a POV-Ray description of the Blob only. Sometimes, this is exactly what you want, so be aware of it.
Second, you must be aware that for security reasons, a Java Applet cannot write a file on your local file system.
However, it could send the POV-Ray scene back across the network to whatever machine served up Mondfarilo in the first place. That machine could perform the rendering and mail you the resulting image. I must investigate this possibility more in the future.
To get around this restriction, Mondfarilo simply displays the POV-Ray scene description text in another window. You can use your window system's usual Copy/Paste mechanism to capture this text into something useful.
With the Group Editor of your choice, with the camera angle the way you want it, choose POV-Ray from the File menu. A window full of text appears. You can save this text in a platform-specific way. Under X windows, for instance, I can shift-click at the end of the text to select all of it, then paste it into another window by clicking the middle mouse button. This other window might be running a text editor awaiting typed input, or possibly an xterm window into which I have typed
cat > example.pov
On a Macintosh, I would select all the text, type Cmd-C to copy it to the clipboard, then Cmd-V to paste it into the another program, such as Simple Text, or even POV-Ray itself, that can save the text on disk.
I don't know how to perform this task under Windows, but there has to be a way, or that OS is even worse than I thought.