perm filename 5[GEM,BGB] blob
sn#030959 filedate 1973-03-25 generic text, type T, neo UTF8
00100 V - VERTEX BODY CREATION.
00200
00300 This command creates a polyhedron consisting of one vertex
00400 and one face. The vertex is placed at the world origin.
00500 The V command takes no arguments and leaves the new body,
00600 face and vertex on the stack with the vertex on top.
00700
00800
00900 E - EDGE AND VERTEX CREATION.
01000
01100 This command creates a new edge and a new vertex starting
01200 from an old vertex. The E command requires two arguments, the top
01300 argument is the old vertex and the second argument must be one of the
01400 faces to which the vertex belongs. The new edge and vertex become
01500 associated with the given face.
01600
01700
01800 J - JOIN OLD VERTICES - FACE AND EDGE CREATION.
01900
02000 This command creates a new face and a new edge. The J
02100 command has two forms. The general form of the J command expects two
02200 vertices of the same face to be given on the top of the pdl, and it
02300 returns in their place a new edge and a new face with the edge on
02400 top.
02500 The wire form of the J command applies only to a face that
02600 doesn't have a closed perimeter.
02700 The wire J
02800 command returns the other end of the wire in top and leaves the
02900 second argument unchanged.
03000
03100
03200 G - GLUE TWO FACES TOGETHER.
03300
03400 This command takes two faces from the top of the pdl. The
03500 faces must be nearly coincidant and of opposite orientation. The two
03600 faces are deleted along with all the edges and vertices of one of
03700 them. If there were two bodies, then one remains. A body glued to
03800 itself forms a hole.
00100 K - KILL.
00200
00300 This command takes the top body, face, edge or vertex and
00400 deletes all parts of the body to which it belongs. The camera body
00500 and NIL will not be deleted.
00600
00700
00800 S - SWEEP.
00900
01000 This command sweeps a face into either a sheet or a solid
01100 depending on the NCNT. If the NCNT is zero, then SWEEP returns a new
01200 face coincident with the given face and connected to it by new sweep
01300 edges and rectangular sweep faces forming a prism. Furthermore, a β
01400 sweep forms a pyramid on the given face and returns the peak vertex,
01500 while α sweep and ε sweep form antiprisms. An antiprism is merely a
01600 prism with the rectangular sweep faces split into triangles.
01700 When the NCNT is non-zero, only the first NCNT edges of the
01800 argument face's perimeter are swept into new faces. Thus NCNT new
01900 faces are created and the argument face is returned somewhat more
02000 complicated than before. See the SPHERE example to clarify sweeping
02100 out a solid of rotation.
02200
02300
02400 R - Rotational Solid Completion.
02500
02600 After a wire has been swept around, you have a shell of
02700 rotation. To change a shell into a solid all that remains to be done
02800 is do a series of J commands on the leading and lagging vertices of
02900 the shell. The R command, using the NCNT to step around the pole
03000 caps, calls the J-command for all the necessary pairs. The sweep face
03100 is taken as an argument and nothing is returned.
03200
03300
03400 M - MIDPOINT.
03500
03600 This command takes an edge argument and creating a new edge
03700 and a new vertex makes the appropriate modifications to the body and
03800 returns a the midpoint vertex of the given edge.
00100 The Euclidean geometric transformations are translation, rotation,
00200 dilation and reflection; these transformations do not affect the
00300 topology of faces, edges and vertices. The Top of the scratch pad pdl
00400 is transformed by hitting one of the following Euclidean transform
00500 characters:
00600
00700 : Transform in the positive direction wrt the X-axis.
00800 ; Transform in the negative direction wrt the X-axis.
00900 ) Transform in the positive direction wrt the Y-axis.
01000 ( Transform in the negative direction wrt the Y-axis.
01100 * Transform in the positive direction wrt the Z-axis.
01200 - Transform in the negative direction wrt the Z-axis.
01300
01400 Clearly these characters are not mnemonics, they were chosen because
01500 they do not require the TOP key and are conveniently grouped in pairs
01600 under one's right hand.
01700
01800 The Transform is selected by keying the control bits or or prefixing
01900 the command with a control key character of suffering a preselected
02000 default Transform:
02100
02200 default - usually TRANSLATION.
02300 α ROTATION.
02400 β DILATION.
02500 ε REFLECTION.
02600
02700
02800 The Euclidean Transformation default selection characters are:
02900
03000 ! TRANSLATION.
03100 @ ROTATION.
03200 = DILATION.
03300 ∃ REFLECTION.
00100 Euclidean Transformations.
00200
00300 Translation moves the Top object in the direction specified
00400 by one unit of translation strength. Similairly Rotation rotates the
00500 Top object about the axis specified by one unit of rotational strength.
00600 Positive Rotations are ccw and negative rotations are cw.
00700
00800 Dilations refer to a three state dilation axis selector.
00900 Dilation state 1 causes dilation on the specified axis, dilation
01000 state 2 causes dilation on the two axes not indicated, and dilation
01100 state 3 causes dilation on all the axis indicated. The dilation
01200 selector is advanced by typing the letter A, Advance Axis Selector.
01300 The state of the dilation axis selector is displayed as a digit 1, 2
01400 or 3 just to the right of the dilation strength's per cent sign in
01500 the editor status display at the upper right of the III screen.
01600
01700 And finally, Reflections act only on the axis specified and
01800 always in the world frae of reference. I have found little use for
01900 reflections and consquently their power has atrophied.
00100 COMMANDS - GROUP 3 - continued.
00200
00300 Strength of Transformation
00400
00500 The strength of a Euclidean Transformation can be halved or
00600 doubled by keying the Transform's control bits and by striking
00700 a left or right square bracket respectively.
00800
00900 / Halve a Transformation Strength.
01000 \ Double a Transformation Strength.
01100
01200 The strength of a Euclidean Transformation can be set by keying the
01300 Transform's control bits and by striking a digit from 0 to 9.
01400
01500 For Translation:
01600 0 1/16 of a foot, A "binary inch".
01700 4 One Foot.
01800 9 32 Feet.
01900 N Where 0 ≤ N ≤ 9 yield 2.0↑(N-4) feet,
02000 but you only need to memorize the 0,4,9 in
02100 order to keep your head straight.
02200 For Rotation:
02300 9 π/2
02400 8 π/4
02500 etc
02600 For Dilation:
02700 0 100%
02800 1 10%
02900 2 20%
03000 etc
03100 9 90%
00100 COMMANDS - GROUP 3 - continued.
00200
00300 Setting the Strengths
00400
00500 The strengths of the Euclidean Transformations can be entered
00600 numerically by typing λ,π or % followed by a numerical argument. In
00700 command formats given below x & y are scanned as real numbers, while
00800 n, m, d & s are scanned as integers. Integers can be typed in place
00900 of reals with no ill affect, whereas reals typed for integers are
01000 Fixed.
01100
01200 For Translation:
01300 λx feet. Initially set to 1 foot.
01400 λx' feet.
01500 λx'y" feet and inches.
01600 λy" inches.
01700 For Rotation:
01800 π/m pi fraction. Initially set to π/4.
01900 πn/m pi fraction.
02000 πx radians.
02100 πd,m,s degrees, minutes, seconds of arc.
02200 For Dilation:
02300 %x 0.01 ≤ x ≤ 100.00. Divisions by zero are shunned.
02400 Initial set to 75%
02500
00100 STACK COMMANDS
00200
00300 "↔" Swap 1st and 2nd.
00400 "α↔" Swap 1st and 3nd.
00500 "β↔" Swap 1st and Last.
00600 "ε↔" Swap 2nd and 3rd.
00700
00800 "↓" copy push down.
00900 "α↓" rotate down.
01000
01100 "↑" pop off.
01200 "α↑" rotate up.
00100 SUMMARY OF SWITCHES
00200
00300 switch commentary
00400
00500
00600 Q - FRMORG
00700 FRMORG affects world frame rotations.
00800 TRUE * rotation about a world axis,
00900 thru the world origin.
01000 FALSE rotation about a parallel to a world axis,
01100 thru the body origin.
01200 FRMORG is flipped by the Q-command.
01300 The state of FRMORG is indicated by an asterisked in the
01400 Editor's Status Display. The asterisk is present when
01500 FRMORG is true and absent when FRMORG is false.
01600
01700 F - FRAME
01800 FRAME is a three state switch that affects translation,
01900 rotation and dilation.
02000 state-1 indicates World Frame of Reference.
02100 state-2 indicates Body Frame of Reference.
02200 state-3 indicates Relative Frame of Reference.
02300 FRAME is incremented, modulo 3, by the F-command.
02400
02500 A - AXECNT
02600 AXECNT affects only dilations.
02700 state-1 indicates dilation only on the specified axis.
02800 state-2 indicates dilation on the two axes not specified.
02900 state-3 indicates dilation on all three axes.
03000 The state of dilation is indicated by a digit to the right of
03100 the dilation strength's percent sign in the GEOMED Status Display.
03200 AXECNT is incremented, modulo 3, by the A-command.
03300