Nr. 2300
Einleitung .....•.................................. 5
6. Beispiele . . . . . . . . . . . . . . . . . .37
6.1. Erzeugung der Abbildungstransformation .37
6.2. Beispiel: Hornzyklide (Abb. 3-4) . . . . . . .39
6.3. Beispiel: Torus als Einhiillende von Kugeln (Abb. 5-6) ·40
6.4. Beispiel: Schnitt eines Torus mit einem Kegel (Abb. 7) ·41
6.5. Beispiel: Wendelflache (zugeordnete Normalrisse und Zen-
tralrW) (Abb. 8- 9) . . . . . • . . . . . . • • . • . . • . . . . .42
6.6. Beispiel: Zylinderstumpf mit aufgesetzter Halbkugel,
Schattenkonstruktion (Abb. 10) .44
Zusammenfassung . . . . . . . . . . . .46
3
Literaturverzeichnis ·48
Abbildungen . . . . . . ·49
4
Einleitung
Dagegen ist ein anderer Bereich der Ingenieurtatigkeit bisher noch kaum
in der Lage, sich der modernen Hilfsmittel, wie sie die Datenverarbei-
tungsanlagen bieten, zu bedienen und damit seine Arbeit zu rationalisie-
reno Es handelt sich urn solche Aufgaben, die mit Hilfe von Methoden der
konstruktiven, insbesondere der Darstellenden Geometrie, nach wie vor
zeichnerisch gelost werden mussen. Fur die Automatisierung solcher Ar-
beiten bieten sich grundsatzlich zwei Moglichkeiten an:
5
Aus diesem Grund werden Sprachelemente hinzugefUgt, die komplexere
Aufgaben iibernehmen.
Die zeichentechnische Grundlage fUr die Losung eines jeden Problems nach
dem hier entwickelten Verfahren ist ein Unterprogrammkomplex, der die
erforderlichen Steuerdaten zum Zeichnen einer in Parameterdarstellung
gegebenen ebenen Kurve erzeugt. Die Kurve wird als zeichentechnisch glatt
bis auf endlich viele nicht dicht beieinanderliegende Singularitaten voraus-
gesetzt. Zugelassene Singularitaten sind Ecken und Sprungstellen, auJ3er-
dem ist es zulassig, daJ3 zu gewissen Parameterbereichen keine reellen
Punkte existieren. VerlaJ3t die Kurve einen festgesetzten rechteckigen
Bildbereich, so wird sie an anderer Stelle fortgesetzt, wenn sie wieder
in das Rechteck kommt.
Zur einheitlichen Behandlung von Aufgaben in der Ebene und im Raum er-
wies es sich als zweckmaJ3ig, einen n-dimensionalen homogenen Raum H(n)
zugrunde zu legen, der als Trager von m-dimensionalen Unterraumen bzw.
m-dimensionalen Hyperflachen k-ter Ordnung dient. Dies ermoglicht auch
die Behandlung von Aufgaben, deren Losung iiber den Rahmen der konstruk-
tiven Geometrie hinausgeht.
i = 1 ... n, j = 1 ... n+ 1
6
1. 1. Punkte im projektiven Raum nP bzw. im homogenen Raum nB
Die Indizes der Koordinaten werden oben geschrieben, urn die Einstein'sche
Summenkonvention
verwenden zu konnen. Ist'lt * 0 ein fester Vektor, so bildet die Menge aller
i ;
M
"Q
= p -It = 4""'.(p
1
x ) = ,1//.y"
1
Der homogene Raum nB stellt einen speziellen projektiven Raum dar. Die-
ser nB ist dadurch ausgezeichnet, da/3 er iiber den Punktbegriff mit einem
(n-l) -dimensionalen affinen Raum verkniipft ist, d. h. da/3 eine Vorschrift
gegeben wird, die einem Punkt in beiden Raumen Koordinaten zuordnet.
Ist ein Punkt im affinen Raum n- 1A durch seine Koordinaten y 1, y2, ... yn-l
gegeben, so weist man diesem Punkt im homogenen Raum nB den Teilraum
zu, der durch den Reprasentanten mit den Koordinaten
1 1
x Y
2 2
x Y
n- 1 n-l
x y
n
x
n-l
y = x n-l/ x n J
7
falls xn *
0 ist 1). Die Punkte des nH, deren Reprasentanten durch xn = 0
gekennzeichnet sind, nennt man uneigentliche Punkte oder Fernpunkte des
nH. Jedem Fernpunkt im nH ist eine Richtung im zugehorigen affinen Raum
n_lA zugeordnet.
Da die geometrische Dimension gleich der des affinen Raumes ist, ist die
projektive Dimension, die im folgenden ausschlie13lich verwendet wird, je-
weils urn 1 gro13er als die geometrische.
Zwei Punkte legen eine Gerade, drei Punkte legen eine Ebene fest, falls
die zugehorigen Reprasentanten linear unabhangig sind. Eine Gerade ist
ein linearer Teilraum der Dimension 2, eine Ebene ein linearer Teilraum
der Dimension 3.
nI". = 4".r j .
'1 J 1
1. 3. Hyperebenen im uP bzw. nH
1 )In der Literatur wird haufig x O statt xn geschrieben. Hier wird xn ver-
wendet, da die entwickelten Formeln in der Programmiersprache Fortran
angewendet werden sollen und aIle Feldvereinbarungen in Fortran ab 1 in-
diziert sind.
8
a. rj = 0
J i
bestimmen. Die a· bezeichnet man als Komponenten des Kovektors der Ry-
perebene und manJ schreibt
zur Bestimmung der ai. Die ai sind demnach bei n= 3 geeignet, urn eine
Gerade zu beschreiben.
zur Bestimmung der ai. Die durch dieses System festgelegten ai beschrei-
ben die Ebene durch die drei Punkte
Eine Abbildung des nP oder nR auf einen Teilraum k T(fh"") wird vermittelt
durch
_ .e
(1) -M£a: i
(2 ) = C£ 1. -'ft-- i
i
(3) ~ - 1M"
( 4)
(5a, b) ex.
t
. 13 .
i
=
.e
& . ,...t>. i . ex. j
1 J J J s s
Die ex. j s bilden eine nichtsingulare Matrix.
9
Gilt k < n, so gelten nur die Beziehungen (1) und (2). Diese Abbildung hat
einen Kern (5) der Dimension n-k, d. h. : Es gibt einen Teilraum n_kK,
+
dessen Bild (n_kK) der Nullvektor ist.
Fur den abzubildenden Teilraum r T gilt der Satz: Haben der abzubildende
Teilraum rT und der Kern der Abbildung n_kT einen Teilraum rTn n_kT
der Dimensionl gemeinsam, so hat das Bild <P rT dieses Teilraums rT die
Dimension r-l. Gilt k=n-1, so nennt man den Kern Projektionszentrum. In
dies em Fall lautet der oben angegebene Satz: Teilraume r T, die das Pro-
jektionszentrum enthalten, werden in Teilraume der Dimension r-1 abge-
bildet. AIle anderen Teilraume behalten ihre Dimension.
Besonders wichtig ist der Fall n=4, k=3. Die Abbildung lautet dann:
i = 1..4
4> 4Y'. = M' ex. .t .
1 1. 1
k = 1..3
d. h. die Matrix 0(. ~ ist eine (3,4) Matrix. Das Projektionszentrum 1 T( "I)
ist der Kern diese} Matrix und geht deshalb bei der Abbildung in den Null-
vektor uber:
4>1=0.
Deshalb kann man das Projektionszentrum aus dem homogenen Gleichungs-
system
1 1
0: C(
o
2 3
2 ",2
'" 2 3
o
3 3
c; 2 GI. 3 o
bestimmen. Eine Ebene wird bei der Abbildung auf die ganze Bildebene ab-
gebildet, wenn sie das Projektionszentrum nicht enthalt. Enthalt jedoch die
Ebene das Projektionszentrum, so nennt man sie projizierend und ihr Bild
ist eine Gerade. Analog wird eine Gerade als Gerade abgebildet, wenn sie
das Projektionszentrum nicht enthalt, sonst als Punkt. Ein Punkt erhalt
nur dann einen Punkt als Bild, wenn er nicht gleich dem Projektionszen-
trum ist.
Gegeben sei eine Basis "I 1 ... 11 k des Bildteilraumes und eine Basis
'Y'k+ 1· .. -se n des Kerns der Abbildung. Diese beiden Teilraume mussen
windschief zueinander sein, d. h.: gilt
10
jedem'h"'cnTlal3tsichein'1€ k T (1P l···lIk)undein "o/€ n-kT('!f k+1···1 n )
finden, so dal3 M" = Af + A'f gilt. Daraus folgt: 11.·. 11 n bilden eine
Basis des n T. Somit existiert die eindeutige Abbildung 4> - 1 des n T auf sich:
,j., - 1 Ai, 0 i
't' iT N =,/{j/ i p.£
2- i
e ,jj/
wobei
i 1, i k
P k =0 k und p k e :L
gilt.
Auf diese Weise kann man aus den gegebenen Vektoren 111 .. · 11> n durch
Matrizeninversion die Matrix e.£ i bilden. Streicht man in dieser Matrix die
Zeilen e k t1 bis eni' so erhalt man die Matrix
R-
ex. i' £ = 1 .. k, i=1..n,
und damit ist eine Abbildungsmatrix mit dem Kern n-k T( ~ k+1 ... 11' n) be-
stimmt, die den nP oder nH auf den Teilraum k T( AI 1· .. Ai n) abbildet.
1. 5. Quadriken im nP oder nH
Eine Quadrik ist eine Hyperflache zweiter Ordnung im nP oder nH. Sie kann
durch eine Matrix aik beschrieben werden:
(1)
Dabei kann man formaL1Y ik als eine Vektorbasis in einem Raum R 2 auf-
fassen. Die Reprasentanten A{ von Punkten dieser Quadrik geniigen n den
G leichungen
i
A.(, = '/{Y. x
1
(2) i k
a ik x x o.
n =2 Punktepaar
(3) o
bzw. :
11
1 2
(4) (x , x )
Die beiden Punkte dieser Quadrik konnen durch Auflosen der homogenen
quadratischen Gl. (3) bestimmt werden.
n = 3 Kegelschnitt
(all a 12
(::)
123 l3
(5) (x , x , x ) a 21 a 22 aa ) 0
23
a 31 a 32 a 33
(6)
(5) ist auch die projektive Darstellung eines Kegelschnittes, in dies em Fall
besteht jedoch keine Verbindung zu (6).
n = 4 FUiche 2. Ordnung
all a 12 a 13 Ix 1
2
a 21 a 22 a 23 x
1 2 3 4
(7) (x , x , x , x )
a 31 a 32 a 33
3 =0
x
4
a 41 a 42 a 43 x
Falls die xi auf eine homogene Basis bezogen sind, besteht auch hier der
Zusammenhang mit der inhomogenen Schreibweise:
2 2 '
all x +(a 12 + a 21 )xy + a 22 y +(a 13 + a 31 )xz
2
(8) +(a 23 + a 32 )yz + a 33 z +(a 41 + a 14 )x
+(a 42 + a 24 )y +(a 4 3 + a 34 )z + a 44 = 0
Beschreibt.()( eine Quadrik und ist 1T( 'Y-) ein Punkt, so nennt man die Hy-
perebene 1 T( .&) die Polare zum Punkt 1 T( "I ) in bezug auf die Quadrik Q
(4:):
i k i
(9) .6- = b.4Y = a'1 k p 4y
1
12
Beruhrpunkte aller Tangenten, die man von 1 T(y) aus an Q(pt) legen kann.
1. 6. Cremonatransformationen
(l)
i k
(3) a ik p p o.
Ist n-1 T( '0/) eine Ryperebene, die 1 TC~) nicht enthalt, so ist eine projek-
tive Abbildung des nP bzw. nR auf den Teilraum n-1 T('o/) mit dem Projek-
tionszentrum 1T( 11 ) erklart:
i
(4) 1t = 4Y .
1
X
1. .4
(5)
k = 1. . 3
deren Inverse fUr alle Punkte 1 T( -ce ) der Quadrik Q(-ot) mit der projektiven
Transformation (5) ubereinstimmt. Dabei gilt:
(7) 2 i m k )
q r a mk p q s
(8)
das Bild
(9)
(10)
13
(11)
( 12)
SpezialHille:
i
d jk = Ci T jk
( 15)
(16)
(17)
(18)
d. h. : Das Bild der Schnittkurve der zwei Quadriken Q(iCJt) und Q( 't ) ist die
Kurve 4. Ordnung
(19) d ex /3 r 5 =0.
a~ro y y y y
Der Fall m = 2 lii/3t sich durch Anwendung der Theorie der Buschel von
Fliichen zweiter Ordnung verallgemeinern.
/Ot=).. 't+Jl·f
. k
:1. = fik P 1 P
i k
P = -C ik P P
Falls sich dabei A = }1 =0 ergibt, gehen alle Quadriken des Buschels durch
1 T( 11 ) und man kann
14
setzen. Da aus der Theorie der Buschel folgt, da~ die Schnittkurve von Q (-ex)
I- )
und Q( -t: ) gleich der Schnittkurve von Q( 1: ) und Q( ist, erhalt man
durch Anwendung von (18) das projektive Bild der Schnittkurve von Q(-t')
und Q(I).
Beispiel:
Gegeben seien von einer Kugel nur die Umri~kreise in Grund- und Aufril3.
Dann geschieht die Zuordnung der Punkte der Kugel durch das Wissen, dal3
es sich urn eine Kugel handelt. Die Mal3e der Kugel und ihre Lage sind als
Information durch die beiden Bilder in der Abbildung enthalten.
Beispiele:
15
Parameterintervall.
Das Verwenden von Koordinaten setzt die Wahl einer Basis voraus, da Ko-
ordinaten ohne Angabe der Basis, auf die sie bezogen sind, geometrisch
nicht interpretiert werden konnen. Bei vielen Aufgaben besteht ein wesent-
licher Teil des verwendeterr Kalkuls darin, geeignete Basen zu bestimmen
bzw. durch Transformationen von einer Basis in eine andere eine gemein-
same Basis fur verschiedene geometrische Objekte zu bestimmen, so daJ3
der geometrische Konstruktionsgedanke durchgefuhrt werden kann.
Beispiel:
Zum Schnitt einer Flache 2. Ordnung mit einer Ebene benotigt man eine
Basis dieser Ebene, d. h. 3 unabhangige Punkte.
Die 6. Aufgabe geht uber den konstruktiven Bereich hinaus und ermoglicht
eine Erweiterung der li:isbaren Aufgaben.
1m Raum konnen:
16
3. Die reellen DurchstoBpunkte einer Geraden durch eine Flache zweiter
Ordnung bestimmt werden
4. Der Schnitt einer Ebene mit einer Flache zweiter Ordnung (durch eine
Kegelschnittmatrix) berechnet werden.
Ein weiteres Problem besteht darin, die Daten so aufzubereiten, daB die
Programme m6glichst weitgehend von der verwendeten Zeichenmaschine
unabhangig sind. Dies geschieht hier dadurch, daB die zu verbindenden Po-
lygone auf einen File geschrieben werden, von dem sie ein anderer und von
der eigentlichen geometrischen Behandlung losgel6ster Programmteil wie-
der einliest. Selbstverstandlich mussen gewisse Eigenheiten der benutzten
Zeichenmaschine schon bei der Berechnung der Polygonpunkte berucksich-
tigt werden, etwa das zur VerfUgung stehende Format. Gewisse, aber m6g-
lichst geringfUgig gehaltene Modifikationen lassen sich deshalb nicht ganz
ausschlieBen, wenn ein anderes Zeichengerat verwendet werden soIl.
3. Geometrische Unterprogramme
17
halt. Die Abbildungsmatrizen werden in dem Commonblock /BASIS/ ge-
schrieben:
R(4,4): Matrix aus den Spaltenvektoren 111' 112' 11 3' die als Basis-
vektoren der Bildebene eingefUhrt werden
usw.
zugeordnet.
Nach einem Aufruf von GRAUF mit J=1 und einem anschliel3enden Aufruf
von KOORDZ kann man die Unterprogramme aufrufen, die die BUder der
18
zu zeichnenden Objekte auf TAPE 1 schreiben. Man erhiUt in diesem Fall
den AufrW. Danach wird GRAUF noch einmal mit J=2 und sonst gleichen
Parametern aufgerufen. Einem erneuten Aufruf von KOORDZ folgen dann
die Unterprogrammaufrufe, die die Zeichnung durch die Grundri13bilder
der zu zeichnenden Objekte vervollstandigen. Hat K den Wert 2, so erhalt
man statt AufrW und GrundrW mit J= 1 den 2 zueinander passend Grundri13
und Kreuzri13 in einem Zeichenrechteck.
Das Feld RCH(4) mu13 die Begrenzungen der Bildebene enthalten: ~,T) sind
die Koordinaten der Bildebene. Dels Zeichenrechteck ist gegeben durch
"ll u s. T] s. "0 .
Das Feld RCH(4) enthalt die Gra13en
in diesel' I\eihenfolge.
Das Unterprogramm KOORDZ legt die Lage des Bildes fest, zeichnet einen
Rand urn das Zeichenrechteck und ruft, falls JK ungerade ist, das Unterpro-
gramm PFEIL auf, urn die Bilder der Koordinatenachsen zu zeichnen (d. h.
x Achse, y Achse, z Achse). Dieser letzte Teil unterbleibt, wenn JK ge-
rade ist. Der Aufruf lautet
CALL KOORDZ(JK)
19
breite D festgelegt. Das Feld PZ~4) enthiHt das Projektionszentrum. Bei
Bedarf wird eine Drehung von 90 vorgenommen, um das Zeichenrechteck
gut auszunutzen. Einem Aufruf von PROJV sollte ein Aufruf von KOORDZ
folgen, danach k6nnen die Unterprogramme zum Zeichnen raumlicher Ob-
jekte aufgerufen werden.
erhalt man bei etwas anderer Vorgabe dieselben Ergebnisse, die PROJV
liefert. Statt der Bildebene werden hier die homogenen Koordin.?-ten des
Hauptpunktes vorgegeben, d. h. die Verbindungsrichtung PZ, HP ist die
Blickrichtung der projektiven Abbildung. Das Unterprogramm PROJHP
bestimmt die Bildebene und ruft damit PROJV auf.
Vorgegeben werden die Felder AL(3, 4) und BLD(4) und daraus werden die
Matrizen R(4, 4), V(4,4), PRZ(4) berechnet. Diese Felder werden nicht
in den Commonblock geschrieben, doch kann der Aufruf dazu dienen, R,
V und PRZ in diesen Block zu schreiben, indem man als formale Parame-
ter diese Commonblockadressen iibergibt. Die Bedeutung der Matrizen ist
die gleiche wie bei der Beschreibung des Commonblocks /BASIS/. Das Un-
terprogramm PRJ eignet sich besonders, wenn man axonometrische Bilder
erzeugen will. Dazu besetzt man die Matrix AL folgenderma~en:
Z~
Wf;)
W1J
o. 1.
Man kann die Matrix AL auch so vorgeben, daB echte projektive Abbildun-
gen,'tstehen. In diesem Fall haben die Spaltenvektoren 11 i der Matrix AL
die B€";eutung der homogenen Koordinaten der Bilder der Fernpunkte 4l-1't--i'
i = 1 .. 3 und 'V 4 die Bedeutung der homogenen Koordinaten des Bildes des
Ursprungs. Die Betrage der Spaltenvektoren Sti beeinflussen den Ma~stab
in der betreffenden Achsenrichtung. Um diesen Ma~stab zu beurteilen,
kann man die Bilder der Einheitspunkte auf den Achsen bestimmen. Die
homogenen Koordinaten dieser Bilder sind gegeben durch f 4 + 1 i.
20
3.2. Das Zeichnen von ebenen Kurven mit dem Unterprogramm SCHRITT
1( r(t) = (5 r(t))
Tf r (t)
(5)\))
zeichnenden Kurven und den aus den Punkten 1 T( 1(; (t.))
r 1
Die so numerisch berechnete Kurve muG bis auf einzelne singulare Stellen
im GroGen glatt sein. 1m Kleinen besteht sie nur aus diskreten Punkten,
da dies und T'f Koordinaten nur diskreter (von der Wortlange der Maschine
abhangender) Werte fahig sind. Die bei der Berechnung von 5 und tj auf-
tretenden Hundefehler durfen nicht die GroGenordnung von Dmax erreichen.
Falls dies doch geschieht, so erfolgt ein Zerlegen der Kurve in viele Poly-
gone, die erfahrungsgemaG aus je 1- 3 Punkten bestehen. Dieses Zerlegen
erfordert groGen Rechenzeitaufwand, da jeweils ein Schachtelungsprozei3
stattfindet, bis ein Polygon abgebrochen wird.
21
ten Kurve nicht bemerkt werden, wie man aus der Skizze (Abb. 1) leicht
sehen kann.
Der Parameter Dx max wurde eingefiihrt, urn sich in solchen Fallen helfen
zu konnen. Diese maximale Schrittweite wird nicht iiberschritten. Die Zei-
chenflache wird durch die Parameter XIU, XIO, EU, EO begrenzt. Wird
diese Zeichenflache von einer Kurve verlassen, so wird der Randpunkt be-
stimmt und nach Bestimmung des Randpunktes ein anderes Polygon begon-
nen, wenn die Kurve wieder in den Zeichenbereich kommt. Sinkt durch ein
Verlassen der Zeichenflache die Anzahl np der augenblicklich berechneten
Polygone auf 0 ab, oder ist np von der Parameterdarstellung her 0, so er-
folgt eine Suche nach Kurvenpunkten mit der Schrittweite Dx best.
Dies liegt daran, daB z. B. in der Skizze (Abb. 2) der Punkt P 5 auf einer
glatt en Kurve mit P 3 und P 4 zu lie gen scheint. Das Programm stellt dies
zwar bei der Berechnung des Punktes P 6 fest, ist aber vorwarts orientiert
und kann zuriickliegende Punkte nicht mehr einrechnen.
continue
(Weiterfiihren der Rechnung nach Beendigung der Kurve)
(n 1 ) und (n 2 ) sind Statement identifier.
; =3 cos t
'I) = 5 sin t
program ELLIPSE(TAPE1)
real FLD(2)
10 call SCHRITT(MF, T, NP, FLD, 0., 6.2832)
*"
if (MF. EQ. 2) goto 20
FLD(l) = 3. COS(T)
22
FLD(2) 5."* SIN(T)
NP = 1
goto 10
20 Continue
end
Als Ergebnis erhalt man auf TAPE 1 fUr jedes Polygon eine Uberschrift
aus einem Buchstaben, drei Integer-Zahlen Jl, J2 und J3 und die Para-
meteranfangs- und -endwerte des betreffenden Polygons. Danach folgen
die s
und 17 -Koordinaten der berechneten Punkte in den weiteren Zeilen.
Der Buchstabe wird dem 2. Wort des common Blocks /SCHRIT3/ entnom-
men. Er dient zur Informationsubergabe an das die Polygonpunkte weiter-
verarbeitende Programm.
3.3. Das Zeichnen von Kegelschnitten in der Ebene und von Bildern von
Kegelschnitten, die bezuglich einer Raumbasis gegeben sind
call KEGZEI(A, 0)
P ist ein Punkt des Kegelschnittes (P wird in Abhangigkeit vom Typ be-
stimmt). Zwei weitere Punkte Q und R werden berechnet, deren Verbin-
dungsgerade nicht durch P geht. Ein Punkt auf der Geraden durch Q und
R hat die Darstellung
Yi = as i + fl
p
pi
i k
a ik y y = 0
23
Daraus erhalt man
i k
2a ik s p
i k
(3 -a ik s s
Zerfallt der Kegelschnitt, so werden die beiden Geraden bestimmt und die-
se werden mit PARX gezeichnet, falls sie reell sind.
wird das Bild eines beziiglich der Basis BS gegebenen Kegelschnitts ge-
zeichnet. Die Rechnung verlauft wie beim Zeichnen eines in der Bildeobene
vorgegebenen Kegelschnitts, aber die Koordinaten der Punkte des Kegel-
schnittes werden beziiglich der Basis BS betrachtet und danach noch trans-
formiert. Falls die durch BS gegebene Ebene des Projektionszentrums ent-
halt, so erhalt man dabei eine Parameterdarstellung, die Riickkehrpunkte
enthalt. Urn dies zu vermeiden, kann man stattdessen mit call RKEGZEI
(BS, A, CNTRL) erreichen, daB in diesem Fall eine andersartige Para-
meterdarstellung verwendet wird, die keine Riickkehrprobleme hat. Das
Unterprogramm RKEGZEI priift, ob das Projektionszentrum in der durch
BS gegebenen Ebene liegt und ruft KEGZEI auf, falls dies nicht der Fall
ist. Das als external zu vereinbarende Unterprogramm CNTRL wird auf-
gerufen, bevor die Zeichenpunkte an SCHRITT iibergeben werden. Es sollte
mit dem Aufruf
aus den NQ gegebenen Punkten PR(4, NQ) oder den zugeh6rigen Darstellun-
gen in der Hilfsebene PE(3, NQ) die Anzahl NP der Bildpunkte und die inho-
mogenen Koordinaten FLD(2, NP) dieser Punkte bestimmen. Bei dieser Ge-
legenheit kann die zu zeichnende Kurve noch betrachtlich modifiziert wer-
den. Beispiele:
UNG, CPR.
24
Dies ist ein Unterprogramm, das als CNTRL eingesetzt werden kann. Es
hat die folgende Wirkung: PZ ist ein Punkt und EBG ist eine Ebene. Statt
der Bilder der NQ Raumpunkte PR werden die Bilder der Projektionen die-
ser Raumpunkte von PZ aus auf die Ebene EBG ins Feld FLD geschrieben,
falls diese Bilder in der Zeichenebene liegen. NP ist die Anzahl' der Punkte
im Feld FLD.
Fur Mittelpunktsflachen 2. Ordnung bieten sich neben dem UmriJ3, den man
als Schnitt mit der Polarebene einfach bestimmen kann, die Schnitte mit
den Hauptebenen an. Diese Bilder erhalt man durch einen Aufruf von
FLZEIG. Schnitte mit beliebigen Ebenen kann man mit dem Unterpro-
gramm EBF2 zeichnen.
Fur die Darstellung von Torsen eignen sich neben dem Umri13 die Bilder
von erzeugenden Geraden, urn die Flachen anschaulich darzustellen. Fur
Rohrenflachen und verallgemeinerte Rohrenflachen sind Umrif3 und Bilder
der erzeugenden Kegelschnitte geeignet. Bei Rohrenflachen kann man die
Anschaulichkeit durch die Umrisse erzeugender Kugeln noch steigern.
Der Schnitt der Ebene B mit der Flache 2. Ordnung A wird berechnet und
gezeichnet, falls CNTRL nicht noch weitere Konstruktionen anschlieJ3t.
subroutine FLZEIG(J, A, CNTRL, VEIG, EIW, EBEIG)
real A(4, 4), VEIG(4,4), EIW(3), EBEIG(4,5)
external CNTRL
A sei die Matrix der Koeffizienten einer Flache 2. Ordnung mit einem end-
lichen Mittelpunkt, bezogen auf eine rechtwinklig-homogene Basis.
Dann berechnet das Unterprogramm FLZEIG die Hauptachsenvektoren f'r() l'
M 2 , fI7J und den MittelpunktM 4 von A und schreibt diese Vektoren in die
Matrix ;EIG. Anschlie13end weraen dann die Ebenen durch je drei dieser
Basispunkte berechnet und in das Feld EBEIG geschrieben. Die 5. Ebene
in diesem Feld EBEIG ist die Polarebene zum Projektionszentrum. VEIG(3)
enthalt die drei Eigenwerte der Flache A. 1st J gleich 1, so ist die Rech-
nung damit beendet. Anderenfalls werden die Bilder der Schnitte der Fla-
che A mit diesen fUnf Ebenen gezeichnet.
Eine der Ebenen ist die Fernebene. Deshalb erhalt man nur vier Kegel-
25
schnitte als Bilder, wenn die Abbildung 4> des Raumes auf die Bildebene
eine Parallelprojektion ist, namlich die Hauptachsenschnitte und den Um-
riJ3. 1st die Abbildung projektiv, so wird auch noch der Schnitt mit der
Fernebene gezeichnet.
i = 0, 1, ... , ME + MF
=;
dabei sind A, B die homogenen Koordinaten zweier Punkte zum Parameter
Y, AP, BP die Ableitungen ~~ ,
subroutine KUGFL(J, YA, YE, KUGD, CNTRL, EB, Q, PZ, JF, JG)
external KUGD, CNTRL
real EB(4), Q(4,4), PZ(4)
26
dius dieser Kugel und RADP die Ableitung des Radius nach Y. YA, YE sind
die Parametergrenzen des Parameters Y.
.A.. =
Es werden zu den gleichen Para met ern wie unter b Umrisse von
Kugeln gezeichnet 0
Dabei bedeuten BS(4, 3), die Matrix der ebenen Basis zum Kegelschnitt A
(3,3) und BSP(4, 3), AP(3, 3) die Ableitung dieser Matrizen nach Y. Es ist
moglich, die Matrizen BS, BSP in den Unterprogrammen KEGT, KEGPT
zu bestimmen und als ZBS, ZBP Namen von Unterprogrammen zu nennen,
die nichts berechnen.
27
i = 0, 1, ..• , (JF + JG)
Ein konvexes Polyeder sei durch eine Anzahl Ebenen und einen Punkt im
Innern festgelegt. Der Punkt im Innern dient dazu, die Ebene so zu orien-
tieren, dal3 die Koeffizienten dieser Ebene als Koeffizienten linearer Un-
gleichungen verwendet werden konnen. Diese Orientierung wird vom Un-
terprogramm SETEB durchgefUhrt. Das Unterprogramm NEUEB dient da-
zu, jeweils eine Ebene auszusondern. Mit dieser Ebene wird die gekrumm-
te Flache geschnitten. Alle weiteren Ebenen liefern Ungleichungen fUr die
abzubildendem Raumpunkte. Das Unterprogramm UNG kann fUr CNTRL
eingesetzt werden, urn diese Abfrage durchzufuhren.
Dies ist ein Unterprogramm, das als CNTRL eingesetzt werden kann. Es
hat die fo1gende Wirkung: 1m Feld EBM(4, 10) stehen MFELD orientierte
Stellungsvektoren von Ebenen. Die NQ Punkte PR werden uberpriift, ob
sie auf der richtigen Seite von allen diesen Ebenen liegen, d. h. alle diese
linearen Ungleichungen erfUllen. Die Punkte, die diese Ung1eichungen er-
fUllen und deren Bild in das Zeichenrechteck passen, werden ausgewahlt
und damit wird NP (d. h. die Anzah1 der Bildpunkte) und FLD (das Fe1d mit
den inhomogenen Koordinaten der Bildpunkte) neu bestimmt. Zur Vorbe-
reitung fUr UNG dienen die Unterprogramme SETEB und NEUEB.
Gegeben sind M Ebenen und ein Punkt PKT. Mit einem Aufruf von SETEB
werden diese Ebenen so orientiert, dal3 der Punkt PKT innerer Punkt eines
durch diese Ebenen gebildeten konvexen Vielf1aches wird. Die erste Ebene
wird in das Fe1d EBX, die weitere in das Fe1d EBM geschrieben. Dies dient
zur Vorbereitung von Aufgaben mit konvexen Polyedern. MALT, MNEU,
MFELD werden gesetzt. Die Einschrankung M < 11 kann durch Vergrol3ern
des commonb1ocks /EBXY / unwirksam gemacht werden.
subroutine NEUEB(N)
common/EBXY/MALT, MNEU, MFELD, EBX(4,1), EBM(4,10)
28
Die N-te der Ebenen, mit denen SETEB aufgerufen wurde, wird in das Feld
EBX geschrieben. Die erste wird statt der N-ten eingesetzt.
Beim Schnitt eines Polyeders mit einer anderen FHiche kann man deshalb
folgenderma~en verfahren:
call NEUEB(N)
wird die n-te Ebene ausgewahlt. Diese n-te Ebene kann zum Berechnen des
Schnittgebildes aus Ebene und einer anderen Flache verwendet werden. Die
weiteren Ebenen im Feld EBM dienen als Ungleichungen. Verwendet man
als CNTRL das Unterprogramm UNG, so werden diese Ungleichungen an-
gewendet.
TA < t < TE
Das Bild GER der Schnittgeraden der beiden Ebenen A und B wird berech-
net. Wenn J =' 1 ist, wird die Gerade abgebildet. Wenn JOist, nicht.
29
subroutine EBZEI(EB)
real EB(4)
subroutine ZWEIF{F, G)
real F{4,4), G(4,4)
Gegeben sind zwei FUi.chen 2. Ordnung Fund G und die projektive Abbil-
dung 4> des Raumes auf eine Bildebene durch den commonblock !BASIS!.
Dann erhalt man mit ZWEIF ein projektives Bild der Schnittkurve von F
und G.
subroutine ZEIF4{A)
real A{ 15)
+ a g 1'J 3 + a lO ;2 + all ~ 11 + a 12 y/ 2
a 13 ; + a 14 17 + a 15 0
Die Hyperebene HYP wird mit der Geraden (PA, PB) geschnitten. Der
Schnittpunkt ist P (homogene oder projektive Koordinaten).
PA, PB sind zwei Hyperebenen, HYP ist ein Punkt. Dann ist P die Hyper-
ebene, die den Schnitt von PA und PB enthalt und durch den Punkt HYP
geht.
30
N 3 P = Verbindungsgerade des Schnittpunktes der zwei Geraden PA
unci PE mit dem Punkt HYP
N=4 PA und PE sind zwei Ebenen. Sie schneiden sich in einer Geraden
g. Die Ebene, die durch g und HYP definiert ist, hat den Stellungs-
vektor P.
Die Torse wird erzeugt, indem zwei von einem Parameter t abhangige
Punkte 1 T( 'If 1 (t) ) und 1 T( ~ 2(t) ) durch Reprasentanten 'Y 1 und 12 gege-
ben sind:
(1)
(2)
Es ist zweckmaBig, diesen Punkt als 1T(1f 3) und den Reprasentanten als
(4)
zu bezeichnen, urn die Gleichung der Ebene durch diese zwei Punkte zu be-
stimmen. Die Koeffizienten dieser Ebenengleichung werden aus dem homo-
genen System
k
(5) a p = 0
k i
Der Schnittpunkt der Geraden (1) mit dieser Ebene kann dargestellt werden
als
31
(8)
(10)
(11 )
Verwendet man jetzt (6), urn die ilk zu ersetzen, so ergibt sich
und damit eine Losung, wenn man den Grenzubergang 8~0 vollzieht:
(13 )
Der Schnittpunkt der Geraden (8) mit der Ebene ist demnach gegeben durch
(14)
Man erhalt mit (14) den Punkt der Schattengrenze zum Parameter t, wenn
man als 1T("'I) die Lichtquelle einsetzt. Verwendet man als 1T("I) das
Projektionszentrum, so erhalt man den wahren Umril3punkt zum Parame-
ter t. Den scheinbaren Umril3punkt kann man durch anschlieBende Projek-
tion erhalten. Das Verfahren versagt in zwei Fallen:
1m ersten Fall ist die ganze Gerade Losung des Problems, und es gibt
darauf keinen ausgezeichneten Punkt; im zweiten Fall muBte man hohere
Ableitungen verwenden, urn zu einer Losung zu kommen.
Unter einer Rohrenflache wird eine Flache verstanden, die als Einhullende
einer einparametrigen reellen Kugelschar erzeugt wird. Hier wird voraus-
gesetzt, daB Mittelpunkt 1 T(Hf(t) ) und Radius r(t) endlich bleiben und ein-
32
mal nach t differenzierbar sind. Unter diesen Voraussetzungen kann der
Mittelpunkt 1 T(-at(t) ) durch den Vektor
m 1 (t)
i
4n-(t) AY. m
1
Bezeichnet ein Punkt die Ableitung nach dem Parameter t, so lautet die
Ableitung dieser .Matrix
1
0 0 0 -m
2
0 0 0 -m
8. ik (t)
3
0 0 0 -m
3
2 3
-m
1 -m -m 2(-rr + L
i= 1
Eine der Kugel K(t) benachbarte Kugel K(H 6 ) hat demnach die Matrix
Das durch diese beiden Kugeln gebildete Buschel hat die Matrix
Die Matrix a.k(t) ist eine Matrix, die als tensorielles dyadisches Produkt
zweier Vektciren geschrieben werden kann:
aik(t) (e .. f + e . f.)
1 k k 1
mit e. (0, 0, 0, 1)
1
3
und fk (-m 1 , -m 2 , -m 3 -rr + L (mi mh)
i= 1
33
d. h. interpretiert man die Gleichung
t xi xk
a. ik () =0
als Fllkhe 2. Ordnung, so ergibt sich das Ebenenpaar
i
e. x
1
=0
Dabei ist ei xi = 0 die Fernebene. Nach der Theorie der Buschel von Fla-
chen zweiter Ordnung mu13 das Schnittgebilde der Kugel K(t) mit der infini-
tesimal benachbarten Kugel lim K(t+ 6 ) in dieser Ebene fk xk = 0 liegen.
8-0
Da sich eine Kugel und eine" Ebene in einem Kreis schneiden, ist dieser
Kreis der Beruhrkreis der Kugel mit der Einhullenden der Kugelschar,
d. h. der Ri:ihrenflache. Dieser Kreis wird unbestimmt, wenn die Kugel
K(t) in eine Ebene ausartet, deshalb die Einschrankung r endlich.
Beleuchtet man eine Ri:ihrenflache von einem Punkt 1 T('o/) aus, so wird auf
der Ri:ihrenflache eine Kurve erzeugt, liings der die Lichtstrahlen die Flii-
che beruhren. Diese Kurve wird hier als Schattengrenze bezeichnet. Es
ist also nicht von der Kurve die Rede, die durch den Schatten erzeugt wird,
den die Ri:ihrenfliiche auf andere Teile derselben Fliiche wirft. Diese Schat-
tengrenze geht in den wahren Umri13 uber, wenn man '0/ = "I , d.h. als IT
('0/) das Projektionszentrum wiihlt. Der scheinbare Umri13 ist das Bild
dieser Kurve. Die Schattengrenze der Kugel K(t) ist der Schnitt der Kugel
K(t) mit der Polarebene 1T (.6-l> zu 1T( '0/):
i
'0/ = 4f'i q
k
fr = b.1 4/ b.
1
= a.1 k q
Da nur die Punkte der Kugel K(t) der Ri:ihrenfliiche angehi:iren, die in der
Ebene
liegen, ist die Aufgabe dadurch geli:ist, da13 die Schnittgerade der Ebenen
i i
b. x
1
=0 , f. x = 0
1
Gegeben ist eine Ebene 3T(,q.(t) ). eine Lichtquelle 1T(1) und ein Kegel-
schnitt K( Dt (t) ) in der Ebeni 3 T( i(t) ): "I
(1) 'I i(t) = ,{Y k p k i(t)
(2) 1/ (t) = 4/1' k pk(t)
34
k..e
(3) -or (t) = "I ak..e (t)
setzt. Ein Punkt der Ebene 3 T( 1fi (t) ) ist durch v 4 = 0 ausgezeichnet.
Erganzt man in der Matrix aik(t) eine O-Spaltc und eine O-Zeile zum Index
4, so hat die Gleichung
i k
(7) a ik v v = 0
die geometrische Bedeutung: (7) beschreibt einen Kegel, des sen Spitze in
l'
1 T( 14) liegt und der die Ebene 3 T( i (t) ) in dem Kegelschnitt K(<<) schnei-
det.
(9)
( 10)
Der Kegel (7) hat bezogen auf die Basis 4",i' k' die Matrix bi' k' :
i k
(11) b·'k' = a ik q i' q k'
!' [. i k .i k i.k ]
+0 aikqi,qk' + a ik q i' q k' + a ik q i' q k' t
( 12)
Unter Verwendung von (10) ergibt sich, wenn man dies en Kegel mit der
Ebene 3 T( 'V i (t)) schneidet:
35
i' k'
c ik (t+6 ) = bi'k' (t+8 ) PiP k
(13)
(14)
miteinander zum Schnitt zu bringen. Diese Aufgabe la13t sich nach der Theo-
rie der Kegelschnittbuschel ersetzen durch die Auf~abe, die Kegelschnitte
(17)
und
(18)
36
schnitt. Sind die Matrizen (17) und (18) linear voneinander abhangig, so
gehort der Kegelschnitt (17) vollstandig zum UmrW bzw. zur Schattengren-
ze.
6. Beispiele
Fur die Beispiele ist es zweckmaLlig, die Aufgabe der Bestimmung der Ab-
bildungsmatrizen yom Zeichnen der geometrischen Objekte zu trennen.
Deshalb wurde das Programm NAM geschrieben, das von Karten die Da-
ten fUr die gewunschte Abbildung einliest. Damit nicht jedesmal zu viele
Datenkarten geschrieben werden mussen, sind einige Felder mit Daten
vorbesetzt. Das Einlesen der Daten geschieht mit Narrlelist, *) d. h. die
Datenkarten haben die Form
Beispiel:
Richtung ( 1~5) gewahlt ist. Ohne Einlesen von HP wird der Koordinaten-
Will man nur Daten einlesen, ohne direkt zu zeichnen, so kann man JTR = 0
wahlen. Dies ist vor allem dann wichtig, wenn man die Begrenzungspunkte
XYZ und deren Anzahl NXYZ festlegen will.
Nach dem Einlesen der Daten und der Bestimmung der Abbildungsmatrix
wird das Unterprogramm ZEICH aufgerufen, das jeweils neu programmiert
*) CDC Mclnual
37
wird. Dieses Unterprogramm iibernimmt das Berechnen der zu zeichnen-
den Kurven.
38
goto 14
6 continue
call PRJ(R, V, AL, BLD, PRZ)
call ZUPRJ(RCH, RAND)
goto 14
7 continue
end
Als Beispiel fUr ein Unterprogramm ZEICH und damit als Beispiel fUr die
Programmierung einer RohrenfHiche solI die Abbildung einer HLlr-nzyklide
gelten. Das Unterprogramm ZEICH soll die Umrisse der Kugela zu den
Para met ern
-IT, - ~, 0, ¥
und die Bilder ihrer Beruhrkreise mit der Hornzyklide zeichnen. Die
Schlusselzahlen fUr diese Aufgaben lauten 1 und 16 (vgl. Abschnitt 3.4.).
AuBerdem wird der UmrW gewunscht. Dieser hat die Schliisselzahl 2.
Addiert man diese Zahlen, so erhalt man 19. Der zu zeichnende Parame-
terbereich lauft von - 'IT bis + 'IT. Die Parameterdarstellung der Kugeln
wurde im Unterprogramm KUGEL programmiert. Als Abbildung wird
die Zentralprojektion, d. h. das Unterprogramm ABB gewahlt. Diese bei-
den Unterprogrammnamen mussen als EXTERNAL vereinbart werden.
Die Parameter fur EB und Q sind uninteressant, da die entsprechenden
Aufgaben nicht gewahlt wurden (Schnitt mit Ebene EB bzw. Quadrik Q).
Fur den UmrW muB man als PZ als Projektionszentrum einsetzen. Die-
ses wird dem common block/BASIS/ entnommen. Die beiden letzten. Pa-
rameter von KUGFL bestimmen, welche Einzelkugeln zu zeichnen sind.
Fur die oben angefUhrten Parameter - 'IT", - ; , 0 und ~ gilt demnach 4
und O. Ware die letzte Zahl gleich 1, so wurde die Kugel zum Parameter
1T noch gezeichnet. Dies ist jedoch nicht notwendig, Ja diese Kugel bei der
hier verwendeten Kugelschar mit der Kugel zum Parameter -1T uberein-
stimmt. Das Unterprogramm ZEICH lautet demnach
Die GroBe D im Aufruf steht als DUMMY Parameter. Sie hat keine Bedeu-
tung.
39
PM Mittelpunkt (inhomogen)
PMP Ableitung der Mittelpunktskoordinaten (inhomogen)
RAD Radius der Kugel
RADP Ableitung des Kugelradius.
Die groBte Kugel soll den Radius 2, die kleinste den Radius 0 haben. Die
Mittelpunkte der Kugeln wanderten in der X- Y -Ebene auf dem Kreis mit
Radius 5. Di.es ergibt die Parameterdarstellungen:
5. siny )
( 5. cosy
5COSY)
( -5 ~~ny
O.
r =1+ cosy
r 1 - siny
Der Umweg fiber die Hilfsvariablen 8 und C wurde gewahlt, damit die Wer-
te 8IN(Y) und C08(Y) nicht doppelt bestimmt werden. Als Begrenzungsfla-
che wurde der Quader mit den Eckpunkten
( !~- 7.7.2. )
gewablt.
Die Behandlung dieses Beispiels ist mit der des vorigen nahezu identisch,
40
lediglich fUr den Radius der Parameterdarstellung des Unterprogramms
Kugel gilt RAD = 2., RADP = O.
5. siny ) 5.
( 5. cosy
O.
1mp = ( - 5.
r = 2.
r O.
Das Unterprogramm ZEICH und die Datenkarten sind identisch mit dem
Problem HORNZYKLIDE.
In diesem Beispiel tritt jedoch der singulare Fall auf, daB jeweils ein Be-
rtihrkreis der Kugel mit einem Teil der UmrWkurve zusammenfalt. Ver-
zichtet man auf das Zeichnen der Kugeln bzw. der Bertihrkreise, so er-
halt man im AufrW und KreuzrW jeweils unvollstandige UmrWbilder. Die-
se bestehen aus zwei parallelen Geraden.
Die Ursache ist darin zu suchen, daB die beiden Ebenen bix i 0 und fixi = 0
aus Abschnitt 5.3. identisch sind und somit keine eindeutige Schnittgerade
haben.
Wenn man die Matrix des Kegels vorher bestimmt, kann man die Schnitt-
kurve eines Kegels mit einem Torus bestimmen. Bequemer ist es jedoch,
den Kegel durch die Kegelspitze und einen im Raum gegebenen Kegelschnitt
vorzugeben. Eine weitere Einzelheit besteht darin, den Kegel geeignet zu
zeichnen, d. h. dafUr zu sorgen, daB statt des Doppelkegels nur der Kegel-
stumpf zwischen dem gegebenen Kegelschnitt und der Spitze abgebildet wird.
Zur Beschrankung des Kegelbildes auf dem Kegelstumpf wird als external
CNTRL das Unterprogramm UNG eingesetzt. Da dieses hier etwas zweck-
entfremdet verwendet wird, *) muB eine Ebene mehr eingelesen werden,
als Ungleichungen verwendet werden, weil die erste Ebene zum Schneid en
mit dem jeweiligen Korper dient und nicht als Ungleichung. Die eingelese-
nen Ebenen werden mit einem Aufruf von SETEB fUr UNG vorbereitet. Da
dieses Ungleichungsproblem ein Abbildungsproblem ist, wurde das Einle-
sen der Ebenen und das Aufrufen von SETEB ins Hauptprogramm NAM auf-
genommen. Diese Modifikation von NAM ist in 6. 6. beschrieben.
41
Projektionszentrum bestimmt und mit einem Aufruf von EBF2 wird diese
Ebene mit dem Kegel geschnitten, wobei nur der Teil gezeichnet wird, der
zwischen den eingelesenen Ebenen liegt.
Damit die Schnittkurve in diesem Beispiel gro[3 ausfiHlt, wurde als Erzeu-
gende des Torus eine Kugel mit dem Radius 2 auf einem Kreis mit dem
Radius 3 bewegt.
Die hier (Abb. 8 bis 9) abgebildete WendelfHiche hat die Ganghohe g = 30.
Sie ist fUr den Parameterbereich [0, 'IT"] gezeichnet. Das entspricht der
halben Ganghohe. Diese WendelfHiche wurde durch die zwei Punkte
2 Siny ) 5 Siny~
11 (y) = ( 2 cosy (
5 cosy
g/(i 1r) 5/(i 1r )
erzeugt. Als Hauptprogramm wurde dasselbe Programm NAM wie bei den
Beispielen 6.2., 6.3. verwendet. Als ZEICH wurde ein Unterprogramm
geschrieben, das die Parameter JTX, YA, YE, EB, Q, PZ, JY, JYE und
JTXN mit Namelist/TX/ einliest. Dem Feld PZ werden vor dem Einlesen
die Koordinaten des Projektionszentrums der Abbildung aus dem Common/
BASIS/ zugewiesen. Auf diese Weise erhalt man den Umrif3, wenn man an
PZ keine Werte zuweist, aber JTX bei der Binarzerlegung eine 2 enthalt.
JTXN wurde zusatzlich zu den Parametern eingelesen. 1st JTXN = 0, so
wird aus dem Unterprogramm ZEICH zuruckgesprungen, urn ein weiteres
Bild oder einen weiteren Rif3 zu zeichnen. 1st JTXN • 0, so werden noch
einmal Werte eingelesen, urn gegebenenfalls noch andere Kurven zu zeich-
nen. JTXN wird 0 gesetzt.
42
Der Aufruf von GERFL lautet mit dies en Parametern:
call GERFL(JTX, YA, YE, SCHRAUB, SCHRAUP, STRECK, EB, Q, PZ, JY, JYE)
43
entnommen werden k6nnen. Die Koordinaten von 4' 1 und -0/2 stehen im
Feld PR. Die Bedingung, ob der Punkt '0/ i innerhalb der Strecke [-tJ l'
4 2 ] liegt, kann einfach durch die Bedingung Ai . Pi ~ 0 formuliert wer-
den.
Das Unterprogramm ABX bildet die Punkte " i dann projektiv ab und er-
h6ht NP, falls der Bildpunkt ins Zeichenrechteck fallt.
Da dieses Beispiel das einzige ist, das die Arbeitsweise mit CNTRL aus-
fUhrlich beschreibt, hier noch eine Anmerkung zu anderen Fallen:
Der vierte Parameter von CNTRL enthalt die Koordinaten der jeweiligen
Punkte bezuglich der lokalen Basis. Diese lokale Basis sind in diesem Fall
die zwei Punkte 41' 4
2 . Beim Arbeiten mit Hilfsebenen ist der vierte
Parameter ein Feld PE(3, NQ).
Diese FHi.che wird als Rotationsflache urn die z-Achse beschrieben. Als
Parameterdarstellung fUr das Unterprogramm RFLAECH dient ein Unter-
programm ZROT mit einem weiteren Eingang ZROTP, das seinerseits ein
Unterprogramm ROTDAT aufruft, das zu jedem YA <Y < YE die Werte
fUr den Radius r, dessen Ableitung r = ~;, die z-Ko~rd:aten und ihre Ab-
lei tung Z = ~; berechnet. Diese Angaben lauten fUr die hier gezeichnete
Flache:
44
-2::-:y<-1 -l:::y<O 0:::y::::1
BS = A =
o
Als besondere Aufgabe ist hier au13er der FHiche auch noch der Schatten
dieser Flikhe abzubilden. Urn die Abbildung so zu bestimmen, da13 auch
der Schatten noch auf die ZahlenfHiche pa13t, wird das Programm NAM so
modifiziert, wie es unter 6. 1. abgedruckt ist. D. h. nach Einlesen der Be-
grenzungspunkte mit dem Namelist/TR/ werden noch mit Namelist/TC /
die Koordinaten der Ebene, auf die der Schatten geworfen wird, und die
Lichtquelle SO eingelesen. Mit diesen Daten werden, falls das miteinge-
lesene JTC t 0 ist, die Schatten der Begrenzungspunkte bestimmt und dem
Feld XYZ zugefUgt. NXYZ wird verdoppelt.
Die Lichtquelle SO liegt in dies em Bild au13erhalb des Blattrandes. Sie wur-
de nicht mit unter die Punkte XYZ aufgenommen, urn das zu zeichnende
Bild nicht unn6tig zu verkleinern.
45
Das Anlegen der Eigen- und Schlagschatten ist nicht durch den Plotter,
sondern mit Hilfe unterlegter Folien entsprechend den durch den Plotter
gezeichneten Schattengrenzen erfolgt.
Zusammenfassung
Auf diese Arbeiten solI daher hier nicht eingegangen werden. Doch sei auf
die ausfiihrliche Bibliographie in [1] tiber weitere verwandte Veroffentli-
chungen hingewiesen.
46
benotigt werden, fUr den damit nicht vertrauten Leser. Kapitel 2 schildert
die Grundgedanken des hier eingeschlagenen Losungsweges. Kapitel 3 und
Kapitel 4 geben eine Zusammenstellung der dafur hier entwickelten Unter-
programme und beschreiben, wie man damit arbeitet. Dabei enthalt Kapi-
tel 3 die miteinander in unmittelbarem Zusammenhang stehenden Unter-
programme, Kapitel 4 eine Aufzahlung aller ubrigen. In Kapitel 5 wird die
wichtige Aufgabe der Umri~bestimmung gekrummter Flachen behandelt.
Beispiele fUr die Losung von Aufgaben auf den verschiedensten Gebieten
sind in Kapitel 6 zusammengestellt. Die vorstehenden Untersuchungen ste-
hen in keinem Zusammenhang mit Losungsvorschlagen fUr die Behandlung
J
geometrischer Aufgaben auf dem Computer, wie sie sich z. B. in [10 fin-
den.
47
Literaturverzeichnis
(2) Bezier, P., Definition numerique des courbes et surfaces II, Automatisme XII
(1967), S. 17-21.
(3) Bohm, W., Zur Darstellung von Fliichen in der Datenverarbeitung. Angewandte
Informatik, 13 (1971), S. 373-380.
(4) Bohm, W., Datenstrukturen filr die Erfassung von Fliichen, Angewandte Infor-
matik, 13 (1971), S. 419-423.
(5) Burau, W., Mehrdimensionale projektive und hohere Geometrie, VEB Deutscher
Verlag der Wissenschaften, Berlin 1961.
(6) Coons, St. A., Surfaces for computer aided design of space figures. Memo MAC-
M.253.
(9) Lichnerowicz, A., Lineare Algebra und lineare Analysis, VEB Deutscher Ver-
lag der Wissenschaften, Berlin 1956.
(10) Miller, C. and B. Schumacker, Example Problemes for Ices Cogo I MIT, Set I
(1968) R 68-6, 71 S.
(11) Reichardt, H., Vorlesungen ilber Vektor- und Tensorrechnung, VEB Deutscher
Verlag der Wissenschaften, Berlin 1957.
48
Abbildungen
49
y
----+--C>
X
z
Abb . 3: Hornzyklide (Kreuz- und Grundril3)
50
N
<J-+ - --+ - - --f
51
z
x
Abb. 5: Torus (Grund- und Aufril3)
52
N
(fl
...;::l
o
E-<
53
z
x
Abb. 7: Durchdringung von Torus und Kegel (Grund- und Aufri/3)
54
z
55
z
56
x
57
Forschungsberichte
des Landes Nordrhein-Westfalen
Herausgegeben im Auftrage des Ministerprasidenten Heinz Kuhn
yom Minister fur Wissenschaft und Forschung ] ohannes Rau
Elektrotechnik . Optik
Bau . Steine . Erden Electrotechnology . Optics
Constructure . Construction material· Electrotechnique . Optique
Soil research Electrotecnica • Optica
Construction' 'f;.,fateriaux de construction . :3JIeKTpOTexH HKa H OllTHK8
Recherche souterraine
La canst rucci6n . l\iateriales de construcci6n .
Reconocimiento del suelo Energiewirtschaft
CTpOHTeJIbCTBO H CTpOH'J'e.llhHhIe M8TepHaJ1b1 Power economy
Energie
Energia
Bergbau auepreTHlfecKoe xo;-udtcTBO
Mining
Exploitation des mines Fahrzeugbau· Gasmotoren
Mineria Vehicle construction· Engines
l'0pHoe ]le)IO Construction de vehiculcs . Moteurs
Construcci6n de vehiculos • Motores
[IPOH3BOIICTBO TpaHcnopTHblX Cpel\CTB
Biologie
Biology Fertigung
Biologic Fabrication
Biologia Fabrication
BIlO.,orHlI Fabricaci6n
IIpoHaBollcTBO
Ho1zbearbeitung Physik
Wood working Physics
Travail du bois Physique
Trabajo de Ia madera Fisica
.ll.epeaoo6pa(ioTKB <1>R3BKB
LuftreinhaJtung TextiHorschung
Air-cleaning Textile research
Purification de rair Textiles
Purificaci6n dd aire Textil
O'lBtl\eHBe B0311YXB BonpocbI TeKCTHJlbHolI "pOMhllliJIeHHOeTIJ
Maschinenbau Turbinen
Machinery Turbines
Construction rnecanique Turbines
Construcci6n de maquinas Turbinas
MBWBHOCTPOBTeJJbCTBO TypOBHbI
Mathematik Verkehr
Mathematics Traffic
Mathmlatiques Trafic
Matem4ticas TrAfico
MBTeMBTRKB TpBllcnopT