VISION-3D

User Manual, Version 1.7
Written by Paul Bourke


Credits

VISION-3D was written by Paul D. Bourke starting in November 1988. It is copyright (c) 1989 by Paul D. Bourke (all rights reserved).

The author would like to acknowledge the following: Dr. Mike Linzey for many suggestions and comments, Dr. Robert Meurant for help with the polyhedra coordinates, to the many students at the Architecture School who were the first users and hence debuggers. Congratulations to Apple for building computers people want to use, and to the developers at Symantec for a C development system that makes programming efficient and enjoyable.

Notice

All rights reserved. No part of this publication may be reproduced or used in any form by any means, without the prior written permission of the author.

The information contained in this publication is believed to be accurate and reliable. However, the author makes no representation or warrantees with respect to the program material described within and specifically disclaims any implied warrantees of merchantability or fitness for any particular purpose. Further the author reserves the right to revise the program material and make changes therein from time to time without obligation to notify the purchaser of the revisions or changes. In no event shall the author be liable for any incidental, indirect, special or consequential damages arising out of the purchaser's use of the program material.

Copyright (c) 1989 Paul D. Bourke


1.0 Introduction

VISION-3D is a 3D model creation, editing, rendering, and partial animation package for the Macintosh family of computers. An attempt has been made to create a productive, low cost, and easy to use 3D modelling package.

This manual assumes the reader has used the Macintosh before and understands how to use the mouse, menus, operate dialog boxes, and handle windows. These topics and others relating to the Macintosh operating system and user interface are covered in documentation supplied by Apple.

Vision3D is distributed as shareware, this means that you may freely copy and distribute it but if you keep and use it then the shareware should be paid.

1.1 Hardware

1.1.1 Minimum hardware

Vision3D runs on any Macintosh computer with colour quickdraw installed. There are two versions distributed, one for all machines and the other for machines with a maths coprocessor. If you have a coprocessor then the later version will perform significantly better. For best results Vision3D expects at least some colour capability and preferably 8 bit colour.

1.1.2 Compatibility

VISION-3D has been tested on a vide range of patforms from the Macintosh II through the LC series and onto the Quadra family. It functions with both system 6 and system 7 versions of the operating system. Vision3D will not function correctly fron locked disks.

1.2 Software

The development and testing of VISION-3D has been carried out under System6 and system 7. No problems are expected under future system releases, ie: Apple development guidelines have been followed closely. The compiler used was originally THINK C version 3.0, this version is written using Symantec THINK Object C version 6.0.

VISION-3D will run under AppleShare(as well as other networks) but only for a single user, this is due to unique work file requirements. VISION-3D creates its own clipboard and scratch files in the same directory as the application and therefore that directory must not be locked, or in the case of a file server VISION-3D will need read/write/delete/modify access to its directory. One copy of the program can not be used by multiple users on a network because the names of the above mentioned work files are unique.

The input and output file formats have been tested for compatibility as far as possible. Macintosh PICT output has been tested with a wide selection of Macintosh applications which support version II of PICT (Version II which provides colour support).

In the case of a system crash due to bugs in this application or other causes a file called VISION_SCRATCH will be left on the disk (if UNDO is turned on) in the same directory as the application. This file may be renamed and opened from VISION-3D and will contain the model one undo before the crash occured. (Note: this will only work if the scratch file is renamed before running the VISION-3D application again)

1.3 Coordinate system

1.3.1 Cartesian coordinates

A right hand cartesiancoordinate system is used by the application and this manual.

In the front camera view the positive x axis points to the right, the positive z axis points upward, and the positive y axis points into the screen.


1.3.2 Polar coordinates

In addition to the cartesian coordinate system above the camera position is most easily varied with polar coordinates.

Transformations from polar to cartesian coordinates is as follows

x = range * cos(above) * cos(about)

y = range * cos(above) * sin(about)

z = range * sin(above)


1.4 Colour

The colourmodel is that used by Apple. A colour is specified as three numbers, ie: made up out of a red, green, and blue component from now on referred to as RGB. Each RGB component value ranges from 0, minimum contribution, to 65535 (216-1), maximum contribution. This is most easily visualized as the so called colour cube, shown below.


As can be seen CMY(Cyan, Magenta, Yellow) system is related to the RGB, they are inverses mod 216.

cyan = white - red

magenta = white - green

yellow = white - blue

Greyslie on the diagonal of the colour cube from black to white, the three RGB components are equal, red = green = blue.

Some commonly used colours and their RGB values are listed below.

Colour

Component values



Red
Green
Blue
white
65535
65535
65535
light grey
49152
49152
49152
grey
32768
32768
32768
dark grey
16384
16384
16384
black
0
0
0
red
65535
0
0
green
0
65535
0
blue
0
0
65535
cyan
0
65535
65535
magenta
65535
0
65535
yellow
65535
65535
0

In general specifying a colour is done via the Apple colour wheel, see the Macintosh II manuals for full details of its operation. It allows the user to specify either the RGB or HSB (hue, saturation, brightness) components numerically. The HSB model may be selected graphically by clicking inside a circle which has the hue axis around the circumference, the saturation component along the radius. The brightness is varied by a scroll bar on the right. See the next diagram.

The number of colours available depends on the video cardand monitor currently being used as well as the settings under the monitor control device listed under the control panel. In a 4 bit system it is possible to have 16 colours on the screen at a time. Since this does not provide many shades, the shading capabilities of VISION-3D are not enabled for 4 bit colour.

The next step is usually 8 bit colour which lets 256 colours be present at once. This is just adequate for simple shading. Shading will work best when using RGB or greys. With 256 colours the system defines the colours it will use, when software attempts to draw in a particular RGB colour the nearest colour from those allocated is chosen. It is possible for software to request an exact colour but for generality VISION-3D does not do this. There is an option in the preferences which enables a 2x2 pixel pattern for shading. This is of main interest for those interested in improving shading on 8 bit colour systems, the number of apparent shades increases to over 2000.

Full colour systems have 24 or 32 bit colour generally allowing about 17 million colours to be displayed simultaneously. These may be used for very sophisticated colouring and shading. In these colour systems the exact colour is always supplied.

1.5 Screen layout

The window layout is illustrated below.

1.6 Model window

The model window is where the current model is viewed. It initially fills the whole screen excluding the menu bar, tool and data windows. It may be placed on a secondary monitor or span across monitors if multiple monitors are available.

Although it does not have a visible grow boxit may be resized by click-dragging from the bottom right hand corner (as if a grow box was there). Resizing with the shift key will result in square windows with sizes 64x64, 128x128, 256x256, 384x384, or 512x512 whichever is the closest.

The zoomrectangle, box in the top right will zoom from a resized window to the full screen window and back again.

There may only be one model window open at a time, therefore the close box in the top left closes the window and quits from the VISION-3D program.

1.7 Tool window

The tool window always appears on the far left of the screen and has the following appearance..

The first seven items place the user in an operating mode. The remaining two are just buttons which perform some function before reverting to the original operating mode. The two camera operating modes may be double clicked in order to set the camera attributes manually.

1.8 Data window

The data window appears just below the menu bar and has the following appearance.

The coordinate boxes are used both for user entry as well as feedback from various operations. During coordinate entry, see later, the number x,y or z currently being entered is shown in bold type. The message bar informs the user of what is currently happening or what operating mode is active. Some operations may take a while to complete, in this case the message area will display a thermometer display indicating the state of completion. as below.

The data window cannot be moved although other windows may be placed on top of it.

1.9 Extensions to the Macintosh interface

The CANCEL button on any dialog box related to VISION-3D can be activated by clover-. (period), ie: holding down the key and typing a period. In general clover-. will stop any long operations (for example: a redraw of a complex model) and return control to the user.

Some dialog control items such as check and radio boxes provide audio feedback when selected.

The cursor changes over items in inside dialog boxes depending on the particular item. For example the cursor changes to an edit cursor over text items, to a finger pointer over buttons.

2.0 Model creation

A model in VISION-3D is made up of two fundamental building blocks, edges and plane faces(facets). Edges are lines joining two points in space, facets are made of three or four edges.

Edges and facets can also be combined together into objects, which then can be treated as one entity.

Three methods are provided for model creation, they are coordinate entry, standard building blocks, and form generators. On top of this it is also possible to import3D models created from other software given that the appropriate file formats can be generated.

2.1 Coordinate entry

For precise model creation it is possible to create an object made from edges entered in coordinate form. This is the most general method of creating arbitrary but precisely known forms. For speed it is preferable to be in wireframe rendering mode, see later, when creating or editing a model.

For all coordinate entry creation it is necessary to select the editing tool from the tool window, this is the top tool shaped as a plus sign (+).

2.1.1 Keyboard control

Coordinates may be specified either as an absolute coordinate or as an offset from the current editing position, indicated by a flashing cursor. The following table illustrates the keyboard coordinate entry commands. Each command is following by a number, the coordinate display reflects the current coordinate status.

Key

Action
x
Enter absolute x coordinate
y
Enter absolute y coordinate
z
Enter absolute z coordinate
f
Enter relative y coordinate (forward)
b
Enter relative y coordinate (back)
l
Enter relative x coordinate (left)
r
Enter relative x coordinate (right)
u
Enter relative z coordinate (up)
d
Enter relative z coordinate (down)

As soon as one of the key commands is used the relevant coordinate box becomes boldface. A number is then typed made up of the following

an optional sign + or -

digits from 0 to 9

an optional decimal place

digits from 0 to 9

The backspacekey will reset the coordinate to 0.

After a coordinate is entered, hitting the return key will move the editing cursor to that location, shift-return will draw a line segment (create an edge) from the previous editing position to the new coordinate.

2.1.2 Mouse control

If the two points already exist (as the end points of edges) then clicking on the first point in editing mode will move the editing cursor to that point. Shift-clicking on a second point will draw a line segment (create an edge) between these two points.

2.1.3 Example

To create the following

input the following with the edit tool selected, type a shift return after each line

u 1
l 1
d 2
f 1
u 2
r 1
d 1
the remaining edges may be created by clicking on an existing start point and shift-clicking to the existing end point. The camera position may need to be moved in order to see the back lines, use the left and up pointing arrow keys to get the above orientation.


Note: each edge above is independent of the others and do not by themselves form faces. See latter on for more details on creating planar faces.

2.2 Standard building blocks

2.2.1 Polyhedra

A comprehensive collection of polyhedra are predefined for rapid and precise creation. These include the five platonic solids, the tetrahedron, octahedron, cube, icosahedron, and the dodecahedron.

They may be made either as consisting entirely of edges or as a collection of facets. All the polyhedra are defined as unit size and positioned at the origin. The user is prompted for the final dimensions, position and orientation. Icons attempting to represent each polyhedra are shown besides each menu item.

Each form is created as a single object, ie: all the edges and/or facets are grouped together.

The polyhedra are:

tetrahedron


octahedron


icosahedron


hexahedron


dodecahedron


truncated tetrahedron


truncated octahedron


truncated hexahedron


cuboctahedron


truncated cuboctahedron


rhombic cuboctahedron


icosidodecahedron

2.2.2 Other building blocks

Other fundamental building blocks of common geometric forms are provided for rapid and precise generation. All the building blocks are defined in a unit cube and positioned at the origin. The user is prompted for the final dimensions, position and orientation. Depending on the exact form there may be other attributes the user may alter. For example the number of ribs can be adjusted for all the circular objects, the more ribs the closer the object will come to the ideal. Icons attempting to represent the form a shown besides the menu items.

Each form is created as a single object, ie: all the edges and/or facets are grouped together.

The other standard building blocks are:

square based pyramid


prism


band


cone


cylinder


globe


torus


moebius strip


spiral


grid


SuperEllipsoid


SuperEllipsoid


Supertoroids


Supertoroids

2.2.3 Plant building blocks

This menu contains a mixture of randomly generated plants and some predefined deterministic plants. All the plants are defined in a unit cube and positioned at the origin. The user is prompted for the final dimensions, position and orientation. Depending on the choice of plant there may be other attributes the user may alter.

Each plant is created as a single object, ie: all the edges and/or facets are grouped together.

The plants are:

pine tree


tussock grass


balloon tree


spike tree

2.3 Model Generators.

2.3.1 Lathe

As the name implies the lathe generates circularly symmetric objects. The outline is drawn in the top half of the lathe window, this outline is reflected in the bottom half of the window to aid in visualizing the rotated form.

On creation the user may specify the number of circular segments (ribs), the start and stop angles by which to sweep the outline, and whether or not to create a wireframe of facet object. The outline is formed in a unit cube, positioned at the origin, the lathe axis aligned with the x axis, at creation time the user is prompted for the real size, position and orientation.

Each point on the lathe outline may be moved by click-dragging. A point may be deleted by selecting and typing the backspace key. New points are added to one end of the current outline depending on which end is active. A new point may be added in the middle of the outline by option-dragging from any existing point. As points are dragged about the window the coordinates are displayed in the data window.

The outline of the lathe may be saved for later recall and editing, the file menu items change when the lathe window is active.


Simple line drawings from other Macintosh programs may be pasted into the lathe window.

The lathe window may be placed on a secondary monitor it one is available.

See also later on sweeps which are model space rotations of a selection of edges.

2.3.2 Extruder

The extruder takes an outline defined on a plane (the x-y plane) and gives it depth perpendicular to the outline plane (z axis).

On creation the user is prompted for various options. The number of ribs in the extrusion, whether to extrude parallel or to a point, whether to form a wireframe or facet based object. The outline can also be rotated as it is extruded to form helix shapes.

Each point on the extruder outline may be moved by click-dragging. A point may be deleted by selecting and typing the backspace key. New points are added to one end of the current outline depending on which end is active.

The outline is formed in a unit cube, positioned at the origin, the extruder plane aligned on the x-y plane plane (extrusion in the z direction), at creation time the user is prompted for the real size, position and orientation. As points are dragged about the window the coordinates are displayed in the data window. A new point may be added in the middle of the outline by option-dragging from any existing point.

The outline of the extruder may be saved for later recall and editing, the file menu items change when the extruder window is active.

Simple line drawings from other Macintosh programs may be pasted into the extrude window.

The extruder window may be placed on a secondary monitor it one is available.

2.3.3 3D Text

Three dimensional text may be created in four styles, as wireframe, extruded wireframe, planer slices, and extruded planer faces.


2.3.4 Surface

A surface defined over a grid may be generated by letting the vertical dependence be some function of two variables, x and y.

The spacing of the grid is adjustable, whether or not wireframe or faces are to be generated along with the ranges over which the function is to be evaluated.

Three functions are currently provided, all three can be used to control the x or y dependence. Each function has one or two parameters which govern the exact form of the surface.

The functions are

Linear, A determines the slope

f(u) = A u

Hyperbolic, A determines the curvature

f(u) = A u2

Periodic, A is the amplitude, 1/F is the number of cycles

f(u) = A sin(2 [pi] u F)

Some example surfaces are listed below.

Appearance

Coordinate


x
y
flat plane
linear
linear

a = 0
a = 0
inclined plane
linear
linear

a = 0
a = positive
bowl
hyperbolic
hyperbolic

a = positive
a = positive
mound
hyperbolic
hyperbolic

a = negative
a = negative
saddle
hyperbolic
hyperbolic

a = positive
a = negative
The function is evaluated over a user specified range [xmin,xmax] and [ymin,ymax] and it is clipped below zmin and above zmax.

3.0 Editing

3.1 Selection tools

There are four tools beneath the editing tool in the tool window, each one is used to select a different type of item (objects, facets, edges, and vertices). Select the tool for the item type to be manipulated, move the cursor to the model window and click on or near a particular item. The item selected is always that nearest to the camera. If the mouse is clicked on no item then click dragging will form a bounding rectangle, all items enclosed in that rectangle are selected. Holding the shift key down for either of the above selections will add new items to the selection list or if an item is already selected remove it from the list.

There is generally a two pixel tolerance on selecting an item, it may be necessary to zoom in if the item to select is closely surrounded by other items.

An implication of the front to back selection order is that facets behind other facets cannot be selected. the camera must be moved so that the facet to be selected is in front of all others.

The current item selection is indicated by a flashing hilight. Vertices are shown with a flashing oval, edge and facets are outlines, a bounding rectangle is drawn about objects.

Note: If multiple items are coincident, as in the examples of vertices and edges below, clicking or shift clicking only selects the nearest item not all of the coincident items. Click dragging will however select all the coincident items. This is important for example when shifting vertices and edges.

If this prism is made of faces then each visible edge belongs to 2 faces and each vertex belongs to 3 faces.


3.2 Shifting items

If any item is selected it may be shifted in three ways. The first method is to shift by a known amount by using the coordinate entry facility. The item is selected, a coordinate is entered (either absolute or relative), return will shift the item to the new position.

The second method is to option-drag with the mouse, this is only suitable for relatively rough shifting operations although the current position (its centroid for composite items) is displayed in the coordinate boxes in the data window. Note, the item is shifted in the plane perpendicular to the camera direction, it is common to align the camera on one of the coordinate axes (front, back, top, bottom, left, right) before manually shifting.

Thirdly, the shift menu item will prompt for either an absolute or relative shift for the current selection.

Some examples:

Shifting a single vertex does not affect other vertices.


Shifting a drag selected vertex

Dragging a single edge does not affect other edges.

Shifting a drag selected edge

Shifting drag selected vertices all vertices are shifted.

Shifting a face

3.3 Scaling

Selected item may be scaled along any of the three coordinate axes. The scaling menu item will prompt for either an absolute or relative scale factor. The scaling is about the centroid of the selection and is usually applied to single objects.

3.4 Rotating

Selected item may be rotated about any of the three coordinate axes. A positive rotation is defined as anticlockwise when looking towards the origin from the respective positive axis. The rotate menu item will prompt for the relative rotation amount. The rotation is about the centroid of the selection.

3.5 Reflection

Reflections may be made by any of the three coordinate planes, x-y, y-z, and z-x. The reflection menu item will prompt for the plane of reflection. The reflection is made about the centroid of the selection.


3.6 Surface reflectivity

The shading algorithm requires various reflection coefficients. At the moment only the diffuse reflection coefficient is implemented, the other coefficients (specular reflectivity and gloss factor) are only necessary for specular reflection. The reflection coefficient ranges from 0 to 1. 0 means the object does not reflect any light (absorbs all light) and hence cannot be seen (a black hole). 1 means that it reflect all light and will appear white (since VISION-3D only supports white light sources)

3.7 Surface colour

When an item is created it is automatically assigned the current foreground colour as shown in the tool window. To change the foreground colour click on the foreground colour tool which results in a popup menu bar. A list of predefined colours will be displayed in the menu for selection. On systems with only a few colours, for example in 1,2,4 bit systems, all the available colours are shown. In 8 or greater colour systems 16 prefined colours are shown along with an "OTHER" item which will prompt for a colour with the colour wheel.

3.8 Sweep

Sweep provides lathe capabilities directly in the model space. The definition of a sweep requires the user to select the edges to be rotated and the axis of rotation. Using the edge selection tool a number of edges are selected, they will all be swept except for the last edge which is the axis of rotation.

The options for the sweep are the same as for the lathe. The start and stop angles of the sweep, the number of ribs and whether to create edges or facets.

For example: 3 sweep edges and axis of rotation swept about 360 degrees


3.9 Profile

The profiler extrudes a facet selection in one of four directions, along the normal of the facet or along one of the four coordinate axes. The resulting facets have the same colour, and belong to the same group as the original facets.

3.10 Group/ungroup

Grouping takes the current selection whether it consists of edges, facets, or objects and combines them into a single object. An object is identified by a single object ID. The items in an object will be treated as a single item for shifting purposes, colouring, etc.

An object may be split into its constituent parts by ungrouping, effectively each item becomes a group on its own.

3.11 Make face/unmake face

Make face attempts to combine the currently selected edges or vertices into a single facet. The edges or vertices must be selected in either a clockwise or anticlockwise order (although this is only important when selecting 4 or more). In the following example the selection must be made in one of the following ways

or

not as

or

If 3 or 4 edges are selected and they lie head to tail then a single facet is generated. If more the 4 edges are selected then the facets are triangulated from the midpoint of the edge selection. For example selecting the five edges on the left will result in the five 3 point facets on the right.

Selecting more than 4 vertices also results in the formation of triangular facets to the centroid of the selection. The maximum number of edges pr vertices that can be selected and made into a face is 10.

Unmake face turns the currently selected faces into their component edges. Note: if two faces share an edge then this will result in duplicate edges. These duplicate edges may be removed manually or automatically, see the duplicate edge removal later.


3.12 Splitting

A number of methods can be used to splitedges or faces into parts. An icon besides each menu item attempts to illustrate each splitting method.

These include:

1) split first selected edge by the second selected edge. Note: this is the intersection as seen by the camera, the projection of the edges onto a plane perpendicular to the camera direction. Therefore the edges may not necessarily intersect in 3D space. If they do intersect then the camera view is irrelevant.

The first edge must be a lone edge, ie: not connected to a face, the second edge may be any edge (it may be part of a face). This is a useful construction tool when the exact intersection between edges is not known, the edge can be drawn overshooting the intersecting edge, split and the overshoot deleted.

2) split the first selected face by the plane defined by the second selected face. This is useful when two objects intersect, their facets may be split and the unnecessary parts removed.

3) bisect edges at their midpoint. Single edges will be simply split in half, 3 point and 4 point facets are treated as follows:


4) split a 4 point facet into two 3 point facets. The split is made between the closest diagonal vertices, avoids triangles with small angles. This is often necessary when the 4 points defining a facet plane do not in fact lie on a plane. VISION-3D require this except for the few operations which require an accurate definition of the normal to the plane. In those situations the normal used is that calculated from the first three points in the face.

5) triangulate a 4 point facet into four 3 point facets. The center of the facet is found and splits made to each vertex.

6) gridding 4 point faces with a user selectable cell number.

7) splitting a 3 point facet into two 3 point facets. The longest edge is split across to its opposite vertex.

8) splitting a 3 point facet into three 3 point facets. The center of the facet is found and the split is made to each vertex.

3.13 Alignment

3.13.1 Point snap

The second point selected is moved to the first point selected. If the point belongs to an edge or face the edge or face is deformed to accommodate the shifted point


3.13.2 Translate snap

The item the second point belongs to is shifted so that the second point is located at the first point. This is most useful for aligning objects.


3.14 Miscellaneous

3.14.1 Reverse facet order

This reverses the internal order the edges and hence vertices appear in the description of a facet. A few operations depend on the direction of the normal of a plane face, for example, specular reflection and exploding. The direction of the normal depends on the order of the vertices.

3.14.2 Remove duplicate items.

It is not uncommon when creating large models to occasionally create duplicate edges or facets. This will search though the whole data base and automatically remove any duplicate items. This operation may take a considerable amount of time to complete.

3.14.3 Kaleidoscope

Randomly colours edges and facets contained in the current selection.

3.14.4 Complete parallelogram

If two edges or three vertices are selected they can be formed into a facet by creating a parallelogram. For example the result is show below for edge and vertex selections


3.14.5 Complete parallelpiped

If three edges are selected and they have a common vertex, they can be formed into parallelpiped consisting of 6 faces.


3.15 Distortion effects

Distortion effects are usually applied to whole objects. In some cases for useful effects the object should comprise of a large number of facets. Icons beside the distortion menu items attempt illustrate the process.

Each distortion is shown below with an example of its effect on the following prism


3.15.1 Quantize

All vertices are snapped to a user defined grid. In the following example the facet edges were split at their midpoints twice before the quantizing was applied. Quantizing can be most useful where points are entered with a digitizer which does not have a coordinate snap

3.15.2 Spike

The centroid of each face is used to split the face into further 3 point facets, the centroid is then pulled out perpendicular (along the facet normal) to the original facet by a user defined amount.

3.15.3 Knobble

This is fundamentally an extrusion of each face a user specified distance along the facet normal.

3.15.4 Thicken

Same as knobble except that the original facet is kept. In the example of the pyramid the effect of a knobble and thicken would appear the same on the outside. In the case of thickening however the original faces of the pyramid still exist.

3.15.5 Crumple

Each vertex is displaced by a random amount, the user has control over the standard deviation of the disturbances. In the following example the edges were split at their midpoints before the crumpling was applied. This may take a while.

3.15.6 Shatter

Same as crumple except that each facet is considered separately and not connected to other facets. ie: the facets become dislocated. Note: this and the crumpling effect are random processes and cannot be exactly reproduced.


3.15.7 Explode

Each facet in the selection is moved a user specified distance along the facet normal. The direction of the normal to a facet depends on the edge ordering. If a face is exploded in the wrong direction, undo the explosion, reorder the particular facet and re-explode, alternatively give a negative explosion amount. After an explosion the facets still belong to the same object. The facets can be reassembled by exploding with the same numeric but negative explosion amount, ie: an implosion.


3.15.8 Shear

Simulates the effect of applying a shearing force to the selection. In the following example a shear was applied in the x and y directions.


3.15.9 Inflate

Simulates the effect of inflating the selection. There is control over the amount of inflation, 0% gives no inflation, 100% will inflate all points of the object so they lie on a sphere. This works best with objects made up of a number of facets. The following example used 30% inflation after splitting the facet edges twice.

Algorithm: The minimum enclosing sphere is calculated. Each vertex is shifted the appropriate amount along the line segment from the centre of the enclosing sphere though the original vertex to the surface of the sphere.


4.0 Camera

4.1 Camera

The position and direction of the camera dictates what is "seen" on the view plane located a specified distance in front of the camera. The camera attributes consist of its position, the point it is focused upon and its zoom setting. Complete camera control is provided by the camera menu item and associated dialog box. Double clicking on the focus or camera rotate tools also displays the camera control dialog.

4.1.1 Camera position

p> Keyboard control of the about and above polar coordinates of the camera is with the arrow keys. The left and right pointing keys increase or decrease the about angle, the up and down pointing arrows control the above angle. The angular change is specified with the preferences, usually between 5 and 20 degrees is useful. The above angle is restricted to the range [-90,90], from directly below to directly above.

There is also a tool in the tool window for changing the camera viewing angle. Choose this tool, move the hand cursor to the model window, click and drag. A small pyramid will be displayed in the center of the screen and will rotate as the mouse is dragged left/right and up/down, this indicates the resulting camera viewing angle when the mouse button is released. The above and about angles are displayed in the data window message area. Holding down the shift key while dragging will restrict the angles to 45 degree increments.

4.1.2 Camera focal point

The camera is always pointing towards the focal point which is always located at the center of the screen. The focal point may be chosen in a number of ways. If a selection has been made, choosing the focus menu will focus on the midpoint of the selection. If no selection is made the focus becomes the centroid of the whole model, this is useful if the user has "lost" the model in space. If the editing tool is active the focal point is moved to the current editing point.

There is a focus tool in the tool window which gives mouse dragging control over the focal point. The cross hairs indicate the new focal point, the screen boundary gives an idea of the resulting view position. The focal point coordinates are displayed in the coordinate display in the data window as the focal point is dragged along the viewing plane.

The arrow keys can also shift the focal point by holding down the option key. For example holding down the option key and hitting the left arrow will shift the focal point approximately half a screen width to the left, similarly with the up, right , and down arrows. (Page up and page down keys also shift the focal point up and down but by a whole screen height)

To work in detail on some part of the model it is usual to select an item in the region to be edited, focus on it and zoom into that selection to the appropriate degree.

4.1.3 Moving the camera forward

The camera (and focal point) can be moved forward by using the w (move in the direction of the focal point) and s (move in the opposite direction of the focal point.

4.1.4 Camera zoom

It is also possible to apply a zoomto the camera effectively linearly scaling the view of the model. Keyboard control of the zoom is with the w (zoom in) and the s (zoom out) keys. The amount of zoom is specified in the preferences, usually a factor of 1.5 to 2.0 is most useful. There is also a zoom tool on the tool window which functions equivalently, the left hand side zooms out, the right hand side zooms in.

It is not recommended that the zoom become very large or small except for detailed editing. To fit the model in the model window set the camera to an appropriate distance from the model.

4.1.5 Camera range

Keyboard control of the camera range is using the t (decrease range) and g (increase range) keys. The amount by which the range is increased or decreased is specified in the preferences.

Note: using polar coordinates the range should always be kept positive and cannot be zero.

4.1.6 View plane distance

The position of the viewplane is measured from the camera position and it is always perpendicular to the direction the camera points. All items in the model will be clipped to this plane. The view plane can be used for two effects, firstly to create cut-away sections of a model if the view plane intersects part of a model, secondly the distance of the view plane simulates a wide or narrow angle camera lens. If the viewplane is close to the camera the effect is of a wide angle lens, when the viewplane is distant from the camera the effect is of a telephoto lens. For a "normal" appearance the viewplane should be as far from the model as the window in high or wide, whichever is the larger.

Warning: A model may be appear "lost" if it lies entirely behind a distant view plane.

For example the normal view plane position is between the camera and the model is shown on the right


If the view plane is moved toward the model and intersects it as below, then the edges and facets are clipped to the view plane.

4.1.7 Standard camera positions

At any time the camera may be aligned to one of six positions on the three cartesian coordinate axes. These positions are:

left and right (negative and positive x axis)

front and back (negative and positive y axis)

bottom and top (negative and positive z axis).

These size positions are assigned control keys 1 to 6 for rapid selection.

These views may be particularly useful when freehand dragging items on the viewing plane.

4.1.8 Isometric views

For an isometric view the projection plane is orientated so that it cuts each axis at the same distance from the origin. Note there are three possible isometric views, one in each quadrant. To create an isometric projection firstly choose a parallel projection, then open the camera attributes dialog.

Method 1) set the camera position to equal positions along the three axes using cartesian coordinates, ie: x = +/-r, y = +/-r, z = +/-r. Choosing the sign of the coordinates for the camera position gives any one of the six possible positions.

Method 2) set the about angle to one of 45, 135, -135, or -45 and the above angle to +/-35.2644 = arctan(1/[radical]2), again giving 6 possible views.

5.0 Rendering

Rendering is the process by which the model is displayed on the computer screen. The different rendering modes will have different relative speeds. To stop a long model redraw hold down the clover key while typing a (period) full stop.

5.1 Drawing mode

5.1.1 Wireframe, monochromatic and coloured

This is the simplest mode and the one VISION-3D defaults to. It is much faster to use this mode for all editing, not only is the model update faster but often changes may be made without redrawing the whole model.

In monochromaticmode all the lines are drawn in the inverse of the background colour. In coloured mode the lines are drawn with their colour, edges are drawn in the colour of the facet they belong to.

The order of drawing is from the most distant object to the closest. The following octahedron is used to illustrate this and the remaining rendering modes.


5.1.2 Hiddenline

In hiddenline the parts of edges which are obscured by faces are not drawn. There are a number of algorithms which may be employed depending on the reliability, speed, and type of model to be analysed.

The user may choose which rendering algorithmto use depending on the circumstances. The depth sorted algorithm is the fastest but it often does not produce a correctly rendered scene. The other algorithms provided (depending on the version of the package) will generally be more reliable but much slower.


5.1.3 Coloured

Same as hidden line except that each facet is drawn with its own colour as the fill, if the penthickness is not zero the edges are drawn with the inverse of the background colour.


5.1.4 Shaded

Shading is similar to the hidden line case except that the colour of a facet is determined from its colour, reflection attributes, and the current lighting conditions. Normal the edges are not drawn at all although the use may override this by setting a pen thickness. The three lighting effects considered are ambient light, diffuse reflections, and specular reflection.


5.1.5 Stereoscopic display

This will draw two wireframe images one in red and the other in cyan from two different viewpoints separated by a small about angle. By using glasses with a red filter in one eyepiece and a cyan filter in the other eyepiece a 3D stereoscopic effect is perceived. The separation angle in degrees of the two images is prompted for.

5.1.6 Contour drawing

Contour lines may be drawn perpendicular to any one of the x, y, or z coordinate axes or a combination of these axes.


The contour spacing along each axis is adjustable along with whether to colour the colours according to the items colour or vary the intensity of the colour across contour lines. The contour lines are the intersections of the contour planes with each line or face in the model. The following example shows examples of z axis contouring. This is usually reserved for contouring surfaces, for example, terrain models.

5.1.7 Intensity depth cueing

This is similar to wireframe except that the intensity of the edges is varies depending on their distance from the camera. Close edges are bright, distant edges are faint. This mode is somewhat slower than wireframe since lines are shaded along their length, ie: each edge may be drawn as up to 8 line segments. In this mode the background is forced to plain and coloured black. It works best with models of a single colour.


5.1.8 Haloed lines

A wireframe model is drawn but lines in the foreground are given a halo of some thickness. This halo obsqures intersecting lines in the background.


5.2 Projection

There are two basic methods for projecting a three dimensional object onto a two dimensional plane. All the points of the object may be projected to the surface along parallel perspective projection). In both cases the intersection of a projection line with the viewing surface (also known as the projection plane) determines the coordinates of the projected point on the projection plane.

5.2.1 Parallel projection

A parallel projection preserves the relative dimensions of the object, and thus, is the technique used to produce scale drawings of three dimensional objects. This method is used to obtain accurate views of the various sides of an object but a parallel projection does not give a realistic representation of the appearance of a three dimensional object.


5.2.1 Perspective projection

A perspective projection, on the other hand, produces realistic views but does not preserve relative dimensions. Distant lines are projected as smaller than those closer to the projection plane. VISION-3D defaults to a parallel projection. keyboard control characters are provided to switch quickly between both projections.


5.3 Line thickness

Usually the line thickness will be the minimum of 1x1 pixels, the thinnest possible. Other line thicknesses are provided, it is a global parameter and therefore effects the whole model. VISION-3D defaults to single line thickness.

5.4 Background

The background is drawn onto the model window before the scene is rendered and thus appears behind all other items. There are three types of background available, these are chosen from the background menu item. By default the background is "plain", that is a single colour chosen from background colour tool in the tool window. The default background colour is black. "Night sky" is a random arrangement of star like objects on a black background. "Horizon line" is a single line drawn across the model window indicating the relative height of the horizon. "Horizon split" is similar to "horizon line" except that the area above the horizon is drawn in the foreground colour and the area below the horizon is drawn in the background colour.


The background is not used for printing or copying.

Note: objects created in the same colour as the background will not be visible in most of the rendering modes. While editing users will most likely find it less of a strain to use a plain backgound in either white or black.

5.5 Foreground

The background is drawn onto the model window before the scene is rendered and thus appears The foreground is drawn onto the model window after the scene is rendered and this appears in front of all other items. There are three types of foreground available, these are chosen from the foreground menu item. By default the foreground is a "plain border", that is a thin rectangle drawn around the model window. "None" will generate no foreground, this is often desired when saving onto video or to picture files. "Portal" draws a circular port boundary.

The Foreground image is not used when printing or copying.

5.6 Lighting

The lighting model consists of ambient light and the directional light from two monochromatic sources. For each source the user may specify its intensity and position, by the elevation and azimuth. The source is assumed to be an infinite distance away, rays from the sources strike the scene with parallel lines.

6.0 Flight path

Animationis the process by which motion of either the items in a model and/or the camera are moved generating a sequence of images which when played one after the other give the effect of motion. VISION-3D does not provide special object animation capabilities such as a control language for object movement. It does however provide powerful camera fly though capabilities.

No attempt is made in VISION-3D to provide real time animation. There are good reasons for this, no matter how fast a scene may be rendered there will always be sufficiently complex models which require a significant amount of time to render. Also, the more realistic the rendering algorithm the longer processing time is required.

Instead, VISION-3D should be used to create the frames for the animation process. These frames may be saved to disk for incorporation into dedicated animation software, or they may be recorded directly to video where the relevant frames may be extracted with conventional video editing hardware.

6.1 Autocamera

The simplest means of automatically moving the camera is to simply "fly" around the model on a circular path or to move toward or away from the model. These would generally be used to check the overall model from a range of camera positions.

The user may choose window or full screen display, whether or not to save the views to disk in any one of the export formats, and the delay between each frame in ticks (60 ticks = 1 second). If the views are saved to disk the file names will indicate their order in the sequence. To stop the automatic camera flight type a period (full stop) while holding down the clover key.


Note: this and the flight path frame saving can generate a large number of files, check that sufficient room is available on the disk. The files are placed in the same folder that the VISION-3D application is located.

A text file is also created which contains a list of the file names created above, this can be used with the frame animator software teleVISION, see later.

6.2 Flight path

More useful is to define a flight path about or though the model and then automatically fly along this flight path.

The flight path playback dialog includes a number of options such as:

continuous the path can be flown over and over again or just once. The sequence may be left playing without operator intervention with continuous play turned on.

reversal after the path is completed it may then be reversed. In continuous replay mode this allows for a smoother overall sequence.

saving views the views may be saved to disk for possible inclusion into dedicated animation software. Any of the export formats may be chosen but for animators the colour MacPaint format is the most common.

full screen the sequence may be shown in the current window or on the full screen. This is useful for presentation purposes or for recording directly onto a video player where the menu bar and tool windows are not required.

delay there may be a pause between frames to allow concentration on the individual frames. The units are in ticks, a tick being 1/60th of a second.

If the views are saved to disk the files are given names indicating their position in the sequence. To stop the flight path a period (full stop) while holding down the clover key.

6.3 Saving/Reading flight path

The current flight path may be saved to disk for later reading and replay. The user is prompted for the file name and directory as usual. The flight path file contains a list of the camera attributes in a text format, an example of a five step flight path is shown below where the camera is just panning about in 10 degree steps.

00.0

0.0
22.0
0.6
3.4
-0.65
3.9
1.0
10.0
0.0
22.0
0.6
3.4
-0.65
3.9
1.0
20.0
0.0
22.0
0.6
3.4
-0.65
3.9
1.0
30.0
0.0
22.0
0.6
3.4
-0.65
3.9
1.0
40.0
0.0
22.0
0.6
3.4
-0.65
3.9
1.0
This file may thus be modified with any text editor. The columns in order are: about angle, above angle, range, zoom, the xyz coordinates of the focal point and the distance of the projection plane. Each column should be separated by one or more space characters.

7.0 Menus

7.1 Apple Menu

7.1.1 About VISION-3D

This indicates the current version of the software as well as the contact name and address of the developer, this is the same as the startup dialog box.


7.1.2 Desk accessories

p> The remainder of the Apple menu contains the desk accessorieswhich vary depending on the configuration of the current System.

7.1.2.1 Chooser

The choose is a desk accessory supplied by Apple. The chooser selects one of the available printers to be used for all subsequent printing. If there are any options associated with that printer and its connection to the Macintosh they will also be prompted for. The printers available depend on the drivers in the System Folder as well as the physical printers attached to the computer. See the Apple manuals for more details.

7.1.2.2 Control panel

The control pane is also a desk accessory supplied by Apple. Various user selectable parameters controlling the Macintosh hardware are available. Of importance to VISION-3D is the colour depth selection which is controlled with the control panel monitor control. See the Apple manuals for more details.

Note: the number of colours being used may be adjusted from inside VISION-3D.

7.2 File Menu

7.2.1 New

Clears the model data base (after saving if necessary) and initializes all parameters for a new model. The exact operation depends on the currently active window. For example if the lathe window or extruder window are active then this menu item (and the next 3) will refer to the lathe or extruder.

7.2.2 Open

Opens a previously saved model file and replaces the current model with the new one. This menu item will change depending on the foremost window. For example if the lathe or extruder window are active then their previously saved outlines can be read.


7.2.3 Save

Saves the current model to disk. If the model has not previously been saved, a filename and directory is prompted for in the usual way. The current model is only saved if changes have been made since the last save. The camera and lighting settings are also saved in the model file. This menu item will change depending on the foremost window. For example if the lathe or extruder window are active then their outlines will be saved.

7.2.4 Save as

Saves a model as a new document. The file name and directory are prompted for in the usual way. Use this to preserve a particular stage of a model.

7.2.5 Page setup

This sets up various aspects of the printer and the paper it takes. The exact details vary according to the printer driver being used.VISION-3D currently only supports single page printing. These settings are maintained across prints.

A common trick employed with the Apple Postscriptdrivers for the Apple LaserWriteris to set a 25% reduction but print an image 4 times as large. The result is an image the same size as on the screen but with lines that are 1/300" thick instead of around 1/75" thick (depending on the monitor). In VISION-3D set the page setup to 25% and just before printing zoom in 4 times.

7.2.6 Print

Printing functions are like any other Macintosh application except for a few points. In particular what happens on a black and white device like the Apple LaserWriterseries? The version before 6.0 of the LaserWriter driver from Apple will not convert colours into greys according to the brightness of the colour. If your version of the printer driver is of this type then it is only possible to print from wireframe rendering mode. In this case all colours except for white are converted to black.

Images may of course be pasted either as bitmaps or PICTobjects into other Macintosh applications which support colour printing via postscript.

The background and foreground is not used when printing.

7.2.7 Importing

Models created with other 3D packages may be imported into VISION-3D with the import menu item located in the file menu. On selecting the import menu item a list of acceptable formats is provided followed by the usual file selection procedure.

7.2.7.1 Text file

This is the most basic of the input data formats, it provides all the information necessary to define an object. Each object is defined as shown below

nv id rd rs rg

x y z

x y z

x y z

r g b

where nv is the number of vertices, not to exceed 10 integer

id is the object id, for grouping purposes integer

rd is the diffuse reflection coefficient float

rs is the specular reflection coefficient float

rg is the gloss factor, form 2 to 100 float

x y z are the coordinates of the vertices float

the number depends on nv

r g b is the red green blue colour component float

Range from 0 to 1 for each component

For example: to define a green square based pyramid.

4 100 0.6 0.5 2.0 # vertices, id and reflection attributes

0 0 0 vertices

1 0 0

1 1 0

0 1 0

0.0 1.0 0.0

3 100 0.6 0.5 2.0 next facet

0.5 0.5 1.0

1 0 0

0 0 0

0.0 1.0 0.0

3 100 0.6 0.5 2.0

0.5 0.5 1.0

0 1 0

0 0 0

0.0 1.0 0.0

3 100 0.6 0.5 2.0

0.5 0.5 1.0

1 1 0

0 1 0

0.0 1.0 0.0

3 100 0.6 0.5 2.0

0.5 0.5 1.0

1 1 0

1 0 0

0.0 1.0 0.0

7.2.7.2 Super3D text files

< Not implemented >

7.2.7.3 MOVIE BYU

< Not implemented >

7.2.7.4 DXF

< Not implemented >

7.2.7.5 MacPerspective

Models created in MacPerspectivemay be imported directly into VISION-3D. MacPerspective only supports wireframe models and therefore the model will appear in VISION-3D as a collection of edges. All the edges will be given the same colour and will be part of one object. MacPerspective provides a manual method of splitting and removing the hidden line segments. In general this should not be used if importing into VISION-3D is anticipated as it is only correct for one camera view.

Importing from MacPerspective should be anticipated if colour coding is required or it it is intended to create facets for hidden line removal. Note however that an understanding of the requirements for making facets should be appreciated before creating the wireframe.

7.2.7.6 Symbol files

These files list a symbol type, the x,y,z position of the symbol, and the colour of the symbol. The following format is as follows

symbol# x y z red green blue

symbol# x y z red green blue

: : : :

symbol# x y z red green blue

where each field is separated by a space, each symbol by a new line, all but the id field are real numbers. The symbol numbers can be one of the following:

0 line segment parallel with the z axis

1 line segment parallel with the x axis

2 line segment parallel with the y axis

3 plane perpendicular to the z axis

4 plane perpendicular to the y axis

5 plane perpendicular to the x axis

6 tetrahedron

The dimensions of the symbol be will prompted for. If a symbol type is not one of the above then that coordinate is ignored.

7.2.7.7 Randomly distributed samples

Samples from some surface may be read and converted into a triangular mesh, with a sample at each triangle vertex. This is particularly useful for terrain modelling were spot heights may be available scattered over a parcel of land. The data file for this is simply a text file containing a list of x y z values. Each coordinate value should be separated by a space, one sample per line. (There must be three or more samples)

Triangulation involves creating from the sample points a set of non-overlapping triangularly bounded facets, the vertices of the triangles are the input sample points. There are a number of triangulation algorithms that may be advocated, the more popular algorithms are the radial sweep method and the Watson algorithm which implement Delaunay triangulation.


The Delauney triangulation is closely related geometrically to the Direchlet tesselation also known as the Voronoi or Theissen tesselations. These tesselations split the plane into a number of polygonal regions called tiles. Each tile has one sample point in its interior called a generating point. All other points inside the polygonal tile are closer to the generating point than to any other. The Delauney triangulation is created by connecting all generating points which share a common tile edge. Thus formed, the triangle edges are perpendicular bisectors of the tile edges.

Such a triangulation has many desirable features. It can be shown that a convex equilateral formed by two adjacent triangles has a greater minimum internal angle than if the equilateral was formed another way. In this sense the triangles are as equilateral as possible, thin wedge shaped triangles are avoided.

The triangulation is unique (independent of the order in which the sample points are ordered) for all but trivial cases.

One particular situation where many other techniques perform poorly is when there is a mixture of regions of high and low density sampling. Triangulation based methods honour this situation by giving a large number of triangles and hence more detail to the highly sampled regions and large triangles, less detail, to the regions with a few samples.

Discontinuities are handled quite naturally. The surface can have a discontinuity as narrow as the sampling process permits, it simply results in near vertical triangular facets. Note however that unless special action is taken there can not be two samples at precisely the same point on the sample plane but with different heights. This can occur with discrete digitizers when digitizing near discontinuities. A perturbation of the sample point in the correct direction is usually a satisfactory solution to this problem.

The algorithm as implemented is very fast for its type, however it may still take a significant amount of time for a large number of point. It increases approximately with the 5/4 power of the number of points.

7.2.8 Exporting

7.2.8.1 Text only

See importing for details of this format.

7.2.8.2 Super3D

This creates a text file suitable for importing into Super3D.

Note:


* Vision-3D does not require the normals of facets to be pointing "outwards". When importing Vision-3D files into Super3D some faces may be invisible when employing the hidden line options. To avoid this use the duplicate polygon option in Super3D.


* Al grouping information is lost.

7.2.8.3 DXF

DXF is one of the standard formats for transfering data between CAD packages. VISION uses the 3D entities supported by DXF namely 3DLINE and 3DFACE. To transfer a data file from VISION to another package it will be necessary for the other package to support the inporting of these two entities.

7.2.8.4 RayShade

RayShade is a popular public domain rendering package for Unix machines..

7.2.8.5 RIB

RIB scene description files for a RenderMan renderer.

7.2.8.6 Colour MacPaint

This is a PICT file that consists of a bitmap representation of the window contents. Other Macintosh applications which work on colour PICT bitmaps will be able to read this format.

7.2.8.7 PICT (Version 2)

Generates the standard Macintosh clipboard PICTformat suitable for reading by many other Macintosh applications which can handle colour images. In this case the PICT description contains the graphical items required to represent the image, for example, lines, polygons etc.

7.2.8.8 Radiance

Radiance is a raytracing/radiosity based package normally running on UNIX workstations. It is written by Greg Ward at Lawrence Berkeley Laboratories as a research tool for predicting the distribution of visible radiation in illuminated spaces.

7.2.8.9 POV-Ray

POV-Ray (Persistence of Vision) is a raytracing package available for a number of hardware platforms.

7.2.9 Quit

Quits from VISION-3D, saving any model files if they have not already been saved. Only one model window may be open at a time, closing the model window will also quit from VISION-3D.

7.3 Edit menu

7.3.1 Undo

Undo will reverse the effect of the last operation performed. For many of the operations to be undone a large part of the model must be saved. Temporary files are saved on the disk for this purpose, for this reason the application directory must be read/write and a hard disk is recommended for speed.

Note, camera movements are undoable as well as the more useful model undo. For this reason do not use the camera if a model undo is anticipated!

Undo may be turned off and on in the preferences if it is found to be too slow and the user knows whet he/she is doing.


7.3.2 Cut/copy/paste

The Macintosh cut/copy/paste commands usually use the clipboard and the PICT format (which is fundamentally 2 dimensional). 3D data cannot be readily transmitted with this medium so VISION-3D maintains its own clipboard file and data structures for these operations.

As with most Macintosh applications each of these items are assigned control keys (as well as function keys on the Apple extended keyboards) from x (for cut) to b (for clear), see the edit menu for keys.

The only difference with the usual Macintosh paste is that the user is prompted for the coordinate at which to place the items to be pasted.

Two special copy menu items will place a bitmap or a PICT representation of the current model window on the clipboard. These are for exporting into other Macintosh applications. The exact one to use depends on the destination application.

2D images from other Macintosh applications cannot be pasted into the VISION-3D model window.

7.3.3 Clear

Cleardeletes the current selection. There are some restriction on clear. For example if an edge is selected which belongs to a face that edge may not be cleared. Similarly a vertex belonging to an edge or face cannot be cleared.

7.3.4 Duplicate

Duplicatewill copy the current selection and make a number of copies offset in position, size, or angle from the original. Each displaced copy is made into a new group.

Care should be taken not to duplicate an item onto itself in which case it may not be obvious that there are in fact two coincident items. The dimension offset is multiplicate, if the dimension offset is set to 1.5 the first copy is 1.5 time larger than the original, the next is 2.25, 3.375, 5.0625 etc...

7.3.5 Select all

Selects all the items in the model by selecting them as objects, the current tool switches to the object selection.

7.3.6 Copy as bitmap

When transferring data some applications insist on a particular format on the clipboard. For those applications who deal in colour bitmapsthen copying the model window as a bitmap will provide a convenient method of pasting into those applications.

7.3.7 Copy as PICT

When transferring data some applications insist on a particular format on the clipboard. For those applications who deal in PICTimages then copying the model window will provide a convenient method of pasting into those applications. The exact objects copied depends on the rendering mode, they are either line segments, filled polygons, or framed polygons.

Warning: this requires that QuickDraw create an internal representation of the image in memory. For complex models there may not be sufficient memory for this.

Note: do not cancel while the PICT representation is being created, the model is effectively being redrawn during this process and cancelling it will result in only part of the model being copied to the clipboard.

7.3.8 Paste clipboard line art

Any drawing on the clipboard comprising of line segments, rectangles or polygons is pasted into a plane in the model. Note there is no real units for the contents of the clipboard although they are usually 1/72 or 1/75 of an inch.


7.3.9 Get info

Display information about the global settings of the current model or if something is selected displays any information about the selection. If multiple items are selected and some attribute is not all identical then Not Applicable will be displayed for that attribute.

7.3.10 Preferences

These are user controllable settngs, they allow a user may customise his/her user interface. They are saved with the document.

There are other attributes saved with the preferences that not listed here, for example: the foreground and background colours.

Preferences

Camera attributes The amount of camera movement using the keyboard controls

Undo Whether undo is enabled or disabled

Cursor types Different shaped cursors, including 3D cursors

Pattern shading Using patterns results in improved shading for some colours

8.0 How to

8.1 Create a box with length 1m, height 1.5m, and depth 2m

Select the cube menu item in the create menu, type in the dimensions in the appropriate dialog box.

8.2 Delete an edge

Select the edge using the edge tool from the tool window. Use the menu item "clear" to remove the edge or use the clover key sequence -B.Note: this will not work if the edge is part of a facet, in this case the facet would need to be unmade and then the individual edges are available for individual editing.

8.3 Rotate a group of object

Select the items to be grouped using the appropriate tool from the tool window. Select the rotate menu item from the utilities memu and fill in the rotation angles about each axis.

9.0 Technical info

9.1 VISION-3D Icons

VISION-3D application

Model file

Extruder outline file

Lathe outline file

Flight path file

9.2 VISION-3D cursors

Normal model window cursor Focal point and camera angle shifting

List selector

Menu and button selector

Text editing

Everything else

9.3 Constants

There are a few constants defined in string resources which a knowledgeable user may alter if necessary. They are listed in STR# resource 1000 as follows

id

default
Meaning
1
10,000
Maximum model size (number of items)
2
100
Maximum steps in flight path definition
3
100
Maximum points in a lathe outline
4
100
Maximum points in an extruder outline

9.4 Keyboard

Command keys provide a keyboard means of using menus. Hold down the command (or clover) key and types the character. They are supplied for the more commonly used menu items to speed up use of the program by the experienced user. They are shown on the right hand side of the menu items.

A

Select all


B
Clear
0
Full screen
C
Copy
1
Front
D
Duplicate
2
Back
F
Focus
3
Top
G
Group
4
Bottom
I
Get Info
5
Left
L
Light source
6
Right
M
Make face
=
Parallel projection
N
New model
-
Perspective projection
O
Open
\
Split 1st edge by 2nd edge
P
Preferences
/
Split 1st facet by 2nd facet
Q
Quit
[
Snap 1st point to 2nd point
R
Redraw
]
Translate 1st object point to 2nd
S
Save
,
Complete rectangle
U
Ungroup


V
Paste


X
Cut


Z
Undo


Other keys are listed below, these are used on their own.

a

camera forward
q
camera backward
s
zoom out
w
zoom in
t
decrease range
g
increase range
[arrowup]
pan up
[arrowdown]
pan down
<-
pan left
->
pan right
f1
undo
f2
cut
f3
copy
f4
paste

page down

page up
l
left coordinate entry
r
right coordinate entry
u
up coordinate entry
d
down coordinate entry
f
forward coordinate entry
b
back coordinate entry
x
x coordinate entry


y
y coordinate entry


z
z coordinate entry