G A M |
G enerieren A bbilden M odellieren |
General Goals How working Primitives Transformations Modeling Variants Animations Export |
General |
GAM is a synonym for G
Generieren (Generate), A Abbilden (Imaging), M Modellieren (Modeling). The 3D - Software
GAM works like a construction set. Many PRIMITIVES (2D,
3D) are available, which are embedded per menuitems in a fix coordinate system. Then you
can position them in space or change shape or size with TRANSFORMATIONS . All 3D - primitives consist of plane facets. For example a cylinder is a regular prism
with 40 edges but it looks "round". Many imaging methods TOP VIEW, FRONT
VIEW, SIDE VIEW, AXONOMETRY, OBLIQUE PROJECTION, HORIZONTALPROJECTION, PERSPECTIVE, top
and front view, front and side view, top, front and side view are at your disposal.
You can generate images in any direction of projection. You can consider hidden lines and
width of lines. Drawings can be printed scaled. |
back |
Aims and Goals |
It is important to note
that while geometry education software shares many aspects with conventional 3D
computer-aided design (CAD) software at a first glance, its aims and goals are
fundamentally different. Geometry education software is not intended for generating
polished results, but puts an emphasis on the construction process itself. While
relatively simple geometric primitives and operations will suffice for the intended
audience of age 10 to 20, the user interface must be both intuitive and instructive in
terms of the provided visualizations and tools. Commercial CAD software offers an
overwhelming variety of complex features and often has a step learning curve. In contrast,
geometry educators are interested in simple construction tools that expose the underlying
process in a comprehensive way. GAM helps geometry educators by adding computeranimated models (VRML) to their collection of traditional models. Look at the Examples. Goals and aims:
|
THULE SYSTEM HOLDING SET TURBINE DRIVE
How working |
![]() |
With
the top menuitems 2D -, 3D primitives you can place Primitives
in a fix coordinate system (WKS, world coordinate system). Measurements are to type in the
textfields of the appropriate window. In the example a rectangle pyramid is defined. A
good help to see the position in the WKS is a raster (menuitem 2D - Primitives - Raster)
and showing the WKS selecting the button WKS. If you select a color (button Of, objectcolor) before you generate a geometric primitive, the primitive gets this color. Negative measurements place the selected primitive in the appropriate part of the WKS. Defining the measurements you should note: Measurements can include constants, variables and arithmetic terms. GAM includes a formula interpreter. Besides variables are
needed to generate animations und variants. |
back |
Primitives are placed in the world coordinate system (WKS). If a user coordinate system (BKS) is activ, the primitive is placed relative to the BKS. You can select placing between WKS and BKS. You can define and handle as many BKS as you want. | ||
LINE SEGMENT SQUARE RECTANGLE CIRCLE ELLIPSE REGELAR POLYGON POLYGON (SPLINE) SEGMENT SECTOR PARABOLA HYPERBOLA CURVE x(t),y(t),z(t) |
CUBE CUBOID QUADR. PYRAMID RECT. PYRAMID REGULAR PRISM REGULAR PYRAMID CYLINDER, CONE SPHERE TORUS SURFACE OF ROTATION SURFACE z=f(x,y) SURFACE x=x(u,v) ....y=y(u,v), z=z(u,v) SURFACE OF SPIRAL |
SADDLE - ROOF HIP - ROOF WEDGE TETRAEDER OCTAEDER DODEKAEDER IKOSAEDER CYLINDRIC SURFACE CONOID SURFACE SURFACE of TRANSLATION RULED SURFACE (conoidal) RULED SURFACE (c1, developable) RULED SURFACE (c1,c2, developable) HP SURFACE PROFILE SURFACE FREEFORM SURFACE |
![]() | ||
back |
Transformations |
To transform objects of the project:
The Transformation is done relative to the WKS or relative to the active BKS (you can select). |
With CONGRUITY- |
TRANSLATE ROTATE about an axis SYMMETRY at a plane MOVE SPIRAL about an axis |
you can position objects in space |
with TRANSFORMATIONS |
SCALE SHEAR SCALING about a CENTRE TAPER in height z |
you can change size and shape of objects |
SCALE | ![]() |
|
SCALING about a CENTER |
![]() |
|
SHEAR (translate in height z) |
![]() |
|
TAPER (scale in height z) |
![]() |
|
You can animate in GAM all transformations (not SYMMETRY). If the transformations SCALE, TRANSLATION, ROTATE, SCALING about a CENTRE, MOVE, SPIRAL are animated you can decide that the export in VRML is also animated. | ||
back |
TRANSLATION |
To translate the rectangle pyramid (2x3.5x4) in x - direction obout 2.5, in y - direction about 4 and in z - direction about 2 units, you must define the vector s of translation in the window: s = (transx, transy, transz) = (2.5, 4, 2). |
![]() |
back |
ROTATE about an axis | |
The sign of the angle of rotation depends on the orientation of the axis. The axis is an orientated line segment. The orientation of the axis a = P1P2 is fixed by the sequence selecting the beginpoint P1 and endpoint P2. The sign of the angle of rotation is positiv if it rotates clockwise when you look in direction of the orientated axis. The orientation of the x axis is fixed by P1(0,0,0) P2(1,0,0), of the y axis by P1(0,0,0) P2(0,1,0) and of the z axis by P1(0,0,0) P2(0,0,1). | |
![]() |
Notes: The orientated axis of rotation can be selected by mouseclicks:
In the last case the axis begins in P1 and is orientated against the direction of the actual image projection. In this case for example it is easy to select a vertical axis of rotation, if the actual image method is top view (G). |
back |
MOVE | |
![]() |
|
The pyramid is
to move, so that the groundplane becomes to lay in the right plane of the prism. You must select per mouseclick 3 pairs of points (source point -> destination point) in the sequence P1,Q1; P2,Q2 and P3,Q3 . That causes: |
|
back |
MODELING | |
Solids BOOLE operations |
![]() |
Solids CHAMFER a
corner |
![]() |
Solids BORING |
![]() |
Solids Surfaces DELETE EDGES |
![]() |
Solids Surfaces wireframes CUTTING with a PLANE |
![]() |
Solids Surfaces FLATTEN |
![]() |
back |
Mathematical functions |
In all
textfields you can type in constants, variables and arithmetic
terms. Examination of syntax and calculation is the job of the integrated formula interpreter. |
Arithmetic
operation Function |
GAM | Notes |
Addition | + | |
Subtraction | - | |
Multiplication | * | |
Division | / | |
Parentheses | ( ) | |
sin x | SIN(X) | X in degrees |
arcsin x | ASIN(X) | -1<=x<=1-> -90..90 degree |
cos x | COS(X) | |
arccos x | ACOS(X) | -1<=x<=1 -> 0..180 degree |
tan x | TAN(X) | |
arctan x | ATN(X) | result in degrees |
ex | EXP(X) | |
ln x | LN(X) | X > 0, base e |
lg x | LG(X) | X > 0, base 10 |
x2 | SQR(X) | |
x0.5 | SQRT(X) | X >= 0 |
|x| | ABS(X) | |
sinh x | SINH(X) | |
arsinh x | ASINH(X) | |
cosh x | COSH(X) | |
arcosh x | ACOSH(X) | X >= 1 | tanh x | TANH(X) |
artanh x | ATANH(X) | 1 < X < 1 |
rad x | RAD(X) | X in degrees -> radiant |
deg x | DEG(X) | X in radiant -> degree |
round x | RND(X) | |
sign(x) | SGN(X) | x<0 -> -1, x=0 -> 0, x>0 -> 1 |
if (...) | IF(condition:yesvalue:novalue) | example IF(b>600:12:8) |
back |
Variants |
How to
work with variables in GAM to create variant constructions will be demonstrated by the
example Gabelkopf. |
The object
shown right should have variable measurements: l = 66 mm, b = 48, d = 40, d1 = 20, h = 20, h1 = 50, h2 = 35, b1 = b/3. Changing the values of one ore more variables should change shape and size of the object. First you must define the variables l, b, ...using menuitem Edit - Variables, animation. Do not forget to evaluate the definitions selecting the button Examine . In the next step you must create und position the needed primitives. In the textfields for length, width and so on you use the variables l, b, ... instead of the constants 66, 48,...: Following primitives are needed: |
![]() |
Cuboid Q1: b x l x h Cuboid Q2: b x d x h1 Cylinder
Z1: d/2 x b Cylinder Z2:
d1/2 x b Cuboid Q3:
b1 x l x (h1+d) |
![]() |
In
this phase you can create a variant of the project by changing the values of one or more
variables, evaluate by selecting button examine and update the drawing by selecting
button draw,.. . It is a good idea to connect the actual project (before doing any modeling) with a bookmark, for example "before": menuitem Edit - Bookmarks ("before") - set . |
![]() |
To generate
the wanted object BOOLE operations are necessary ( menuitem Modeling - .. ): Union (Q1, Q2) -> Q Union (Q, Z1) -> K Difference (K, Z2) -> K1 Difference (K1, Q3) -> Gabelkopf. |
If now you want to change the values of one or more variables you must go back to the situation of the project before modeling. You can do this selecting menuitem Edit - back a few times but better selecting menuitem Edit -Bookmarks ("before") - go to . After changing variables you must repeat the steps for modeling. |
Notes:
|
|
EW
schwarz S(b, l, h) EW schwarz S(b, d, h1) T(0, (l-d)/2, h) DZ2 schwarz S(d/2, d/2, b) D(0, 90, 0) T(0, l/2, h+h1) DZ2 schwarz S(d1/2, d1/2, b) D(0, 90, 0) T(0, l/2, h+h1) EW schwarz S(b1, l, h1+d) T((b-b1)/2,0,h+h1-h2) ***** l=66 b=48 d=40 d1=20 h=20 h1=50 h2=35 b1=b/3 |
Saving a project, which uses variables, the list of variables will be added to the lines of the protocol after a row "*****". Have a look at the
left column. Variables are not object- or projectoriented, but global. Therefore, of you add a project, which includes variables, you should control the variablelist. The window, which shows the variables, is opened automatically.
|
back |
Animations | |
The project tangram demonstrates how to animate one ore more objects of a project. | |
Tangram is an old chinese game. Look at the grafics pattern and solution. (Source: Salzburger Nachrichten, 9.1.2002). | |
![]() |
|
Generate with GAM the parts, place them like the pattern and put them together with menuitem Transform - translation . Create an animation, in which the necessary translations run automatically and export in VRML (option animate objects by turns ) ! | |
First we
generate a raster (2D Primitives Raster in the [xy]-plane: xmin = 0, xmax = 10, increment x = 1, ymin = 0, ymax = 10, increment y = 1. For example we generate the pink element of the puzzle. Select pink as objectcolor (button Of) and draw a closed polygon in the [xy] - plane (menuitem 2D-primitives - Polygon,spline ). Select Polygon option in [xy] -plane and the button new. Clicking near a fitting rasterpoint will "catch" this point exactly and add to the pointlist in the memofield Points Pi. You should answer the question 'The polygon is closed and plane. Do you want to create a surface?' with Yes. After creating all parts of the puzzle translate them out of the raster to generate the pattern. Translate the raster about (0, 0, -0.1). Now you can save the project. |
|
To animate the translations the check box animated must be checked. After clicking OK a range variable w is definded automatically: |
![]() |
Note
|
|
back |
Export | |
For further working up of the drawing there are available 4 formats of EXPORT. | |
EMF | Windows Metafile : ideal for implementing the drawing in text editing software. You can transfer the drawing into the Windows Clipboard by typing <strg><M>. |
DXF | AutoCad 2D |
Bitmap | Export of the drawing as pixelgrafic |
VRML | Virtual Reality Modeling Language |
back |