Sie sind auf Seite 1von 59

FORSCHUNGSBERICHTE DES LANDES NORDRHEIN-WESTFALEN

Nr. 2300

Herausgegeben im Auftrage des Ministerprasidenten Heinz Kuhn


yom Minister fur Wissenschaft und F orschung Johannes Rau

Prof. Dr. rer. techno Fritz Reutter


Dipl. -Math. Eberhard Heyne

Institut fUr Geometrie und Praktische Mathematik


der Rhein. - West. Techn. Hochschule Aachen

Untersuchungen liber die autonlatische Lasung


von Aufgaben der konstruktiven Geometrie

Westdeutscher Verlag Opladen 1973


ISBN 978-3-531-02300-7 ISBN 978-3-322-88184-7 (eBook)
DOl 10.1007/978-3-322-88184-7

© 1973 by Westdeutscher Verlag, Opladen


Gesamtherstellung: Westdeutscher Verlag
Inhalt

Einleitung .....•.................................. 5

1. Allgemeines iiber projektive Geometrie . . . . . . . . . . . . . . . .. 6


1. 1. Punkte im projektiven Raum nP bzw. im homogenen Raum nH. 7
1. 2. Geraden und Ebenen im nP und nH . . . . . . . . . . . . . . . . .. 8
1.3. Hyperebenen im nP bzw. nH . . . . . . . . . . . . . . . . . . . . .. 8
1.4. Abbildungen des nP oder nH auf einen linear en Teilraum k T . 9
1. 5. Quadriken im nP oder nH . . 11
1. 6. Cremonatransformationen . . . . . . . . . . . . . . • . . . . . .. .13

2. Grundgedanken des hier eingeschlagenen L6sungsweges (Unter-


schiede zum iiblichen konstruktiven We g) .15

3. Geometrische Unterprogramme . . . . . • . . . . . . .. . . . . . . . .17


3.1. Abbildung des homogenen Raumes 4H auf eine Bildebene .. .17
3.2. Das Zeichnen von ebenen Kurven mit dem Unterprogramm
SCHRITT . . . . • . . . . . . . . . • . . . . • . . . . . . . . . . . • . .21
3.3. Das Zeichnen von Kegelschnitten in der Ebene und von Bildern
von Kegelschnitten, die beziiglich einer Raumbasis gegeben
sind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. Darstellung und Durchdringungen krummer Flachen . . . . . . . 25
3.5. Das Schneiden von gekriimmten Flachen mit konvexen Poly-
edern . . . . . . . . . . . . . . . . . . . . . . . . .28

4. Weitere Unterprogramme als Arbeitshilfen •. .29

5. UmrWbestimmung und Schattengrenzen spezieller Flachen .31


5. 1. Ermittlung der Schattengrenze bzw. der wahren UmrWpunkte
einer T o r s e . . . . . . . . . . . . . . . . . . . . . . . . . . .31
5.2. Ermittlung der Schattengrenze bzw. des Umrisses einer
R6hrenflache . . . . . . . . . . . . . . . . . . . . . . . . . • . . . .32
5.3. Ermittlung der Schattengrenze bzw. des Umrisses einer ver-
allgemeinerten R6hrenflache . 34

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

Die rasche Entwicklung der modernen elektronischen Rechenanlagen und


ihre fortschreitende Verbreitung haben es ermoglicht, da~ die Aufgaben
des numerischen Rechnens im ingenieurwissenschaftlichen Bereich heute
zu einem uberwiegenden Teil von elektronischen Rechenanlagen ubernom-
men werden. HierfUr sind im letzten Jahrzehnt sowohl weitere schlagkraf-
tige numerische Verfahren als auch die erforderlichen Rechenprogramme
und Programmiersprachen entwickelt worden.

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:

1. die zu losenden Aufgaben und das anzuwendende zeichnerische Verfah-


ren werden in der Sprache der analytischen Geometrie formuliert und
danach mit Hilfe eines Rechenautomaten numerisch gelost, so da~ die
Daten fUr die Steuerung eines automatischen Zeichengerates gewonnen
werden konnen.

2. Die auszufUhrenden Konstruktionen konnten ohne explizite Heranziehung


der Hilfsmittel der analytischen Geometrie auf ihre geometrischen
Grundoperationen zuruckgefUhrt werden. Diesen waren dann entspre-
chende logische Grundoperationen zuzuordnen, mit deren Hilfe eine
spezifische geometrische Programmiersprache zu entwickeln ware.
Damit konnten die Operationen von der Datenverarbeitungsanlage aus-
gefUhrt werden und als deren Ergebnis wiederum die Steuerungsbefehle
fur ein automatisches Zeichengerat gewonnen werden. Es solI kurz der
Entwicklungsgang der hier mitgeteilten Untersuchungen beschrieben
werden:

Es wurden zunachst Sprachelemente fUr eine Programmiersprache entwik-


kelt, die es erlaubt, Aufgaben uber Vielflache und spezielle gekrummte
Flachen zu behandeln. Die Sprachelemente wurden so gebildet, da~ sie mit
der Programmiersprache Fortran vertraglich sind. Jede mit Zirkel und
Lineal mogliche Konstruktion kann damit programmiert werden und Zwi-
schenrechnungen sind in Fortran moglich. Versucht man jedoch, eine Kon-
struktion mit diesen Mitteln durchzufUhren, so stellt man fest, da~ sehr
viele Befehle notig sind, urn schon verhaltnismaJ3ig einfache Aufgaben zu
formulieren. Dies liegt daran, da~ man beim Konstruktionsverlauf auf dem
Zeichenblatt viele Schritte nur gedanklich durchfUhrt, wahrend man sie
beim programmierten Konstruieren ausschreiben mu~ (z. B. Auswahl des
"richtigen" von den zwei Schnittpunkten einer Gerade mit einem Kreis).

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.

Die Aufgabe, eine Raumkurve zu zeichnen, erhalt dabei folgende Gestalt:


Bilde die zu zeichnende Kurve in die Ebene ab und suche dann eine Para-
meterdarstellung dieses Kurvenbildes oder suche eine Parameterdarstel-
lung der raumlichen Kurve und erzeuge daraus durch Projektion ihrer
Punkte in die Ebene eine Parameterdarstellung des Bildes.

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.

Der homogene Raum H(n) ist iiber die Relationen

si=xi/xn+1 tiEE(n), xjEH(n)

i = 1 ... n, j = 1 ... n+ 1

mit einem euklidischen Raum E(n) verkniipft. Dieselben Beziehungen ge-


statten auch eine Verkniipfung mit einem affinen n-dimensionalen Raum.
Die betrachteten Unterraume konnen auf homogen-orthonormierte, homo-
genaffine oder projektive Basen bezogen werden. Unterraume mit krumm-
linigen Basen werden nicht behandelt.

1. Allgemeines iiber projektive Geometrie

1m folgenden sollen einige Grundbegriffe und Tatsachen aus der projektiven


Geometrie ohne Beweis angefUhrt werden, die zum Verstandnis der in die-
sem Bericht dargelegten Methoden zur automatischen Losung von Aufgaben
der konstruktiven Geometrie erforderlich sind (vgl. hierzu (9). (11)). Da-
bei werden zunachst nur solche Begriffe behandelt, die zur Losung von Auf-
gaben iiber Vielflache, ebene Schnitte, Durchdringungen benotigt werden.
Aufgaben, bei denen Umrisse von krummen Flachen aurtreten, erfordern
die Bereitstellung weiterer mathematischer Hilfsmittel, die fUr diesen be-
sonderen Zweck aufbereitet und daher im Kapitel V dargestellt werden.

6
1. 1. Punkte im projektiven Raum nP bzw. im homogenen Raum nB

Der projektive Raum nP ist ein n- dimensionaler Vektorraum, dessen li-


near en Teilraumen geometrische Begriffe zugeordnet werden. Ein Punkt
kann als eindimensionaler linearer Teilraum 1 T dieses nP aufgefa/3t wer-
den.

Bezeichnet man die (als linear unabhangig vorausgesetzten) Basisvektoren


des nP mit

AI/I' 4//2"'" /ft-n'

so la/3t sich irgendein Vektor des nP durch Koordinaten xi beziiglich dieser


Basis ausdriicken
2 -?j n i
//1/
2x + ... + ~ x = /f".x
n 1

Die Indizes der Koordinaten werden oben geschrieben, urn die Einstein'sche
Summenkonvention

"Ix 1 + ... -t ~:Vnx n


4/-

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

einen eindimensionalen Teilraum. Da dieser Teilraum durch einen Vektor


*
-1(, 0 festgelegt ist, nennt man 'It einen Reprasentanten dieses Teilraums.

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

festgelegt ist. Ist umgekehrt ein Punkt im nB durch einen Reprasentanten


gegeben, so erhalt er die affine Koordinaten
1
Y
2
Y

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.

1. 2. Geraden und Ebenen im uP und nH

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.

Ab - 1/1"" yi -- 4".J r j i yi i = 1.. k


"to - i j = 1. . n

r j i fest, / beliebig reell oder komplex

beschreibt fUr k = 2 eine Gerade, fUr k = 3 eine Ebene, fUr k -= s einen s-


dimensionalen Teilraum s T ~ n P '

Die als linear unabhangig vorausgesetzten Reprasentanten

nI". = 4".r j .
'1 J 1

bilden eine projektive Basis dieses Teilraumes, und man schreibt

s T(fI("j) oder s T(nr) .

1. 3. Hyperebenen im uP bzw. nH

Einen (n-l)-dimensionalen Teilraum n_lT(Il-r) nennt man eine Hyperebene.


Ein Punkt dieser Hyperebene la13t sich darstellen als:
j = 1.. n
i = 1. .n-l
Es gibt n Zahlen a. so, da13
J
a.xj=O j=1..n
J
fUr alle'fl E. n-l T(I)(") gilt. Die Koeffizienten aj lassen sich aus dem homo-
genen Gleichungssystem

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

Fur n=3 erhalt man das homogene Gleichungssystem


1 2 3
a1 r 1 + a2 r 1 + a3 r 1 = 0

zur Bestimmung der ai. Die ai sind demnach bei n= 3 geeignet, urn eine
Gerade zu beschreiben.

Analog erhalt man fUr n=4 das System

zur Bestimmung der ai. Die durch dieses System festgelegten ai beschrei-
ben die Ebene durch die drei Punkte

1. 4. Abbildungen des nP oder nR auf einen linearen Teilraum kT

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

Gilt k=n, so existiert auch die inverse P.bbildung

(3) ~ - 1M"

( 4)

und die Matrizen Ot £i und ~ i ..t sind invers zueinander:

(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

-tt 4: 0 und ~ € k T( "I 1··· , k)' so gilt

-ft¢ n_k T ( , k+1··· 'n)

und umgekehrt. Au~erdem sind die beiden Teilraume spannend, d. h. : zu

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.£

und die dazu inverse Abbildung c\:> lautet:

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.

Die Matrix a ik kann o. B. d. A. symmetrisiert werden. Bei speziellen Di-


mensi·onen erhalten die Quadriken besondere Namen:

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

Diese homogene Gestalt eines Kegelschnittes entspricht der inhomogenen


Gleichung

(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

Polaren einer Quadrik:

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

Die Hyperebene 1 T(,(,) hat die geometrische Eigenschaft:


Der Schnitt der Hyperebene 1 T( 1r) mit der Quadrik Q(.a) ist die Menge der

12
Beruhrpunkte aller Tangenten, die man von 1 T(y) aus an Q(pt) legen kann.

1. 6. Cremonatransformationen

Gegeben sei eine Quadrik Q(.ot) durch

(l)

und ein Punkt 1 T(1P ) auf dieser Quadrik:


i
(2) '1f ="rY i P

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

Unter diesen Voraussetzungen gibt es eine quadratische Transformation


i yi r s
(6) x = rs y y

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

Transformationen dieses Typs heiBen Cremonatransformationen. Die


Transformation (6) ordnet jedem Punkt der Ebene n-1 T(-<r)

(8)

das Bild

(9)

auf der Quadrik Q(.t'r) zu.

Diese Cremonatransformationen lassen sich verwenden, urn das projektive


Bild des Schnittes der Quadrik Q(.ot) mit einer Flache m-ter Ordnung F(-t )
in geschlossener Form zu bestimmen:

(10)

Ay i 1· .. im kann formal als Vektorbasis in eine Vektorbasis in einem R m


n
angesehen werden.

13
(11)

( 12)

SpezialHille:

1. m = 1: F(-t ) ist eine Hyperebene:


i
( 13) 1: = cAy
1

(14) <p ( -t: X .oc) = d jk 'o/jk

i
d jk = Ci T jk

d. h. : Das Bild der Schnittkurve der Hyperebene 1 T( ~ ) mit der Quadrik Q


ist die Quadrik

( 15)

2. m = 2: F(1:) ist eine Quadrik:

(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.

Seien Q( 1: ) und Q( -I ) zwei beliebige verschiedene Fliichen zweiter Ordnung


und 1 T( '1 ) das Projektionszentrum einer projektiven Abbildung des Raumes
auf die Hyperebene n-l T(.q), dann enthiilt das Buschel Q(:t 1: + II I ) von
Quadriken mindestens eine Quadrik Q(.or), die durch IT(1 ) geht:

/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).

2. Grundgedanken des hier eingeschlagenen Lasungsweges


(Unterschiede zum ublichen konstruktiven We g)

Ein Grundgedanke der konstruktiven Geometrie des Raumes liegt in der


Verwendung der Zeichenfliiche als Informationstrager fUr die Beschrei-
bung einer Aufgabe und die bei der Lasung dieser Aufgabe notwendigen
Zwischenergebnisse. Dabei erweist es sich als wesentliche Schwierigkeit,
da~ die Zeichenflache zweidimensional ist und die Aufgabe eines Punktes
in einem zweidimensionalen Gebiet nicht ausreicht, urn die raumliche Lage
dieses Punktes festzulegen. Urn eine umkehrbar eindeutige Abbildung des
Raumes auf die Zeichenebene zu erhalten, gibt es verschiedene Methoden;
die wichtigste durfte die Grund- und Aufril3darstellung des zu beschreiben-
den geometrischen Objektes sein. Dabei werden zwei zugeordnete Bilder
des raumlichen Objektes verwendet, urn die riiumliche Gestalt und Lage zu
fixieren. Es sei besonders darauf hingewiesen, da~ die eigentliche Bear-
beitung der konstruktiven Aufgabe darin besteht, den Proze~ der Zuord-
nung der Elemente in beiden Rissen gedanklich zu vollziehen. Die Zuord-
nung in der Aufgabenstellung wird dabei haufig erst durch den beschreiben-
den Text gegeben und ist als Information nicht in den beiden Rissen ent-
halten.

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.

1m Unterschied dazu werden in dieser Arbeit als Informationstriiger Koor-


dinaten und teilweise Unterprogramme bzw. Programmstucke verwendet.
Dies ist so zu verstehen: Punkte, Geraden, Polygone, Ebenen, Polyeder,
Kegelschnitte, Flachen 2. Ordnung usw. kannen durch Vorgabe von Koor-
dinaten, d. h. durch Vektoren oder Matrizen, beschrieben werden. Zusatz-
lich mul3 auch hier die Information verwendet werden, urn was fur geome-
trische Objekte es sich handelt. Dies schlagt sich in der Verwendung der
Unterprogramme nieder, die zur Lasung der betreffenden Aufgabe aufge-
rufen werden. Gewisse Kurven und Fliichen sind jedoch von so allgemeiner
Art, da~ eine Beschreibung ausschlie~lich durch Matrizen mit hohem Ar-
beitsaufwand verbunden oder uberhaupt nicht maglich ist. Die Definition
und Beschreibung solcher geometrischer Objekte erfolgt durch Program-
mierung von Parameterdarstellungen, bei denen jeweils einem Parameter
eine Matrizenbeschreibung eines Teilobjektes zugeordnet ist.

Beispiele:

1. Bei einer Rahrenflache wird jedem Parameter eine Kugel zugeordnet.


Die so beschriebene Flache ist die Einhullende aller Kugeln aus einem

15
Parameterintervall.

2. Bei einer verallgemeinerten RohrenfUiche wird jedem Parameterwert


die Basis einer Ebene und ein Kegelschnitt in dieser Ebene bezuglich
dieser Basis zugeordnet. Der Parameter beschreibt die Bewegung die-
ser Ebenen im Raum. Die Kegelschnitte erzeugen dabei eine verallge-
meinerte RohrenfHiche.

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.

Aus diesen Grunden ergeben sich haufig Unterschiede im Konstruktions-


gang, obwohl die grundsatzlichen geometrischen Uberlegungen uberein-
stimmen. Wird z. B. ein Hilfsebenenverfahren zur Losung einer Aufgabe
verwendet, so wahlt man die Hilfsebenenschar nach Aspekten, die ihre
Begrundung in der Darstellungsmethode haben: Bei Verwendung einer
Zweitafelprojektion sind Ebenenscharen von Vorteil, die bezuglich einer
RiJ3ebene projizierend sind, d. h. in einer RiJ3ebene als Geraden abgebil-
det werden. Diese Eigenschaft der Hilfsebene ist bei der hier verwendeten
Koordinatendarstellung vollig belanglos, und es wird in vielen Fallen sinn-
voll sein, andere Ebenenscharen zu verwenden, urn weitere Eigenschaften
der zu losenden Aufgabe auszunutzen, etwa, daJ3 man bei einer gewissen
Wahl der Hilfsebene den Parameterbereich, in dem der reelle und damit
allein interessierende Teil der Losung liegt, bequem angeben kann. Der
erfaJ3te Aufgabenbereich wird durch die folgenden Einzelschritte festgelegt:

In einer Ebene konnen

1. Eine Gerade durch zwei Punkte bestimmt werden


2. Zwei Geraden geschnitten werden
3. Die reellen Schnittpunkte einer Geraden mit einem Kegelschnitt be-
stimmt werden
4. Die reellen Tangenten von einem Punkt an einen Kegelschnitt bestimmt
werden
5. Kegelschnitte in Parameterdarstellung gebracht werden
6. Zwei Kegelschnitte geschnitten werden.

Die 6. Aufgabe geht uber den konstruktiven Bereich hinaus und ermoglicht
eine Erweiterung der li:isbaren Aufgaben.

1m Raum konnen:

1. Eine Ebene durch drei Punkte bestimmt werden


2. Eine Gerade mit einer Ebene geschnitten werden

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.

Aus diesen Einzelschritten und Transformationen werden zusammengesetz-


te Aufgaben gebildet, deren Ergebnisse die Bilder von Kurven sind. Dazu
muB neben der Zerlegung der Aufgabe in die erwahnten Einzelschritte auch
noch eine Abbildung in die Zeichenebene festgelegt werden.

Eine weitere Bereicherung des erfaBten Aufgabenbereiches ist dadurch


m6glich, daB bei den Matrizendarstellungen von Kegelschnitten oder Fla-
chen zweiter Ordnung auch die Ableitungen dieser Matrizen nach dem Pa-
rameter verwendet werden k6nnen. Dies wirkt sich im wesentlichen bei
der UmrWbestimmung aus, die bei gewissen Aufgaben auf die oben genann-
ten Einzelschritte reduziert werden kann.

Diese zusammengesetzten Aufgaben sind dadurch rrl6glich, daB ein Unter-


programm (SCHRITT) geschrieben wurde, das zu einer gegebenen Para-
meterdarstellung einer ebenen Kurve eine Zerlegung in Zeichenpunkte be-
stimmt, d. h. es wird ein Polygon berechnet, das diese Parameterdarstel-
lung mit vorgegebener Genauigkeit approximiert.

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

3. 1. Abbildung des homogenen Raumes 4H auf eine Bildebene

Zu dies em Zweck sind verschiedene Unterprogramme vorgesehen. Von die-


sen Unterprogrammen enthalten drei, namlich GRAUF, PROJV und PROJHP
einen Algorithmus, der bewirkt, daB das zur VerfUgung gestellte Zeichen-
rechteck gunstig ausgenutzt wird. Dazu ben6tigen diese Unterprogramme
vorgegebene Punkte in homogener Darstellung in einem Feld XYZ (4, NXYZ).
Es wird eine vorHi.ufige Abb. <PI bestimmt, die auf die Punkte im Feld XYZ
angewendet wird. Mit dieser Abbildung werden die extremen Koordinaten
der Bilder dieser Punkte bestimmt. 1m AnschluB daran wird der Abbil-
dungsmaBstab einer Abb. cp so bestimmt, daB die Punkte aIle in das Recht-
eck abgebildet werden und noch ein vorgegebener Rand der Breite D bleibt.
NXYZ ist die Anzahl dieser Punkte. Diese Punkte sollen so vorgegeben
sein, daB ein minimales konvexes Polyeder, das aIle diese Punkte enthalt,
auch den interessierenden Teil der abzubildenden raumlichen Objekte ent-

17
halt. Die Abbildungsmatrizen werden in dem Commonblock /BASIS/ ge-
schrieben:

COMMON/BASIS/AL(3,4), BLD(4), R(4,4), V(4,4), PRZ(4)

Die Matrizen in diesem C ommonblock haben die folgende Bedeutung:

R(4,4): Matrix aus den Spaltenvektoren 111' 112' 11 3' die als Basis-
vektoren der Bildebene eingefUhrt werden

und als vierte Spalte das Projektionszentrum ,,= 94 ,


1f1' "12' 93' 414
V(4,4): die Inverse zu R(4, 4). Die Zeilenvektoren dieser Matrix haben
die Bedeutung der Ebenen, die das durch die Punkte 1 T( '9 i) ge-
gebene Tetraeder begrenzen:

usw.

AL(3,4): Die eigentliche Abbildungsmatrix. Die gesuchte Abbildung lautet:


k
i
<P = <P 4~ x = "'I k (j,
i
i x = '1 k Yk
k = 1..3
i=1..4.

Jedem Raumpunkt 1 T(A{) = T(Aj) wird ein Punkt der Bildebene

zugeordnet.

Die Bildebene und das Projektionszentrum stehen zusatzlich noch in den


Feldern BLD(4) bzw. PRZ(4).

Mit dem Unterprogrammaufruf

CALL GRAUF(K, J, XYZ, NXYZ, RCH, D)

erhalt man im Commonblock /BASIS/ AbbUdungsmatrizen, die mit K=1 ge-


eignet sind, Aufril3 und Grundril3 der zu zeichnenden Objekte in dem durch
das Feld RCH(4) gegebenen Zeichenrechteck so unterzubringen, dal3 ein
Rand der Breite D bleibt und AufrW und GrundrW durch einen Streifen der
Breite D getrennt sind.

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.

K gleich 3 ergibt Kreuzri13 und Aufril3.

Die bei den zugeordneten Rissen gemei.nsame Achsenrichtung weist jeweils


in S -Richtung (nach rechts). Der zuerst genannte Ri13 liegt oben (positive
T7) mit nach oben weisender zweiter Achsenrichtung. Die weitere Achsen-
richtung des zuletzt genannten Risses weist nach unten.

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 Zeichenrechteck RCH(4) wird von den Unterprogrammen GRAUF,


PROJV, PROJHP in den Commonblock /SCHRITT/ geschrieben. Darauf
beziehen sich aIle Zeichenunterprogramme, da diese Abfragen enthalten,
die verhindern, da13 irgendwelche Kurven die Zeichenflache verlassen.

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)

Das Unterprogramm KOORDZ steuert Bildwechsel und Papiervorschub.


Dies ist notwendig, urn die Zeichenflache sinnvoll auszuftillen.

CALL PROJV(BL, PZ, VK, XYZ, NXYZ, RCH, D)

erhalt man im C ommonblock /BASIS/ Abbildungsmatrizen, die geeignet


sind, ein affines oder projektives Bild raumlicher Objekte so im durch
RCH(4) gegebenen Zeichenrechteck unterzubringen, da13 ein Rand der Brei-
te D bleibt. Die letzten vier Parameter haben dieselbe Bedeutung wie beim
Unterprogramm GRAUF. Das Unterprogramm PROJVbestimmt die Abbil-
dung so, da13 die Verbindungsgerade des Bildes des Koordinatensprungs
<P -1'v4 mit dem Bild des Punktes <PM, dessen Koordinaten im Feld VK(4)
vorgegeben werden, parallel zu einer der Rechteckseiten verlauft. Der
gezeichnete Ausschnitt aus der Bildebene IT( if), die durch das Feld BL(4)
gegeben ist, wird durch die Bilder der Punkte im Feld XYZ und die Rand-

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.

Mit dem Unterprogrammaufruf

CALL PROJHP(HP, PZ, VK, XYZ, NXYZ, RCH, D)

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.

Das Unterprogramm PRJ dient dazu, bei vorgegebenen Bildvektoren die


Abbildungsmatrizen zu berechnen:

CALL PRJ(R, V, AL, BLD, PRZ)

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.

Dabei bedeuten (X g , Y'l ) die Komponenten der Einheitsstrecke des Bildes


der X-Achse, analog Yf ' Y" und Zg, Z". W§ und WT) sind die g und '1
Koordinaten des Bildes des Ursprungs. Die Bildebene ist ziemlich willkiir-
lich und beeinflu~t die Abbildung nicht. Sie mu~ aber so gegeben sein, da~
die Determinante der Matrix V, die entsteht, wenn man BLD als vierte
Zeile in der Matrix AL erganzt, von Null verschieden ist.

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

In einem ebenen kartesischen Koordinatensystem seien n ebene Kurven


p

1( r(t) = (5 r(t))
Tf r (t)

gegeben. Das Unterprogramm SCHRITT ubernimmt die Aufgabe, solche


Parameter ti auszuwahlen, daG der geschatzte Abstand (5 zwischen den zu

(5)\))
zeichnenden Kurven und den aus den Punkten 1 T( 1(; (t.))
r 1

~/J (t.) = O.. n


"r 1
'Y/ (t.)
r 1

gebildeten Polygonen moglichst in dem Intervall [D min , Dmax 1 liegt. 1st


dies nicht moglich, so wird der geschatzte Abstand r5 in das Intervall [ 0,
Dmax J gelegt, oder es wird mit einem anderen t- Wert ein neues Polygon
begonnen. Die ermittelten Poly gone werden auf Tape 1 geschrieben und
konnen von anderen Programmen weiterverarbeitet werden, urn z. B. die
Steuerdaten fur einen Plotter zu berechnen. Durch den Parameter D n1ax
wird die Zeichengenauigkeit festgelegt. Je groGer D min gewahlt wird,
desto weiter liegen im allgemeinen die Zeichenpunkte (=Polygonpunkte)
auseinander, aber desto mehr nicht verwendete Hilfspunkte werden be-
rechnet. Die Parameter werden so gesteuert, daG

gilt. An Unstetigkeitsstellen der zu zeichnenden Kurven werden die Rand~


punkte von rechts bzw. links so berechnet, daG

I t links - trechts I< Dx min gilt.

Die Voraussetzungen, unter denen das Unterprogramm SCHRITT ein Bild


der Kurve erzeugt, das mit der Kurve zeichentechnisch ubereinstimnlt,
lassen sich nur unter Schwierigkeiten formulieren, da sie im wesentlichen
numerischer Natur sind.

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.

Da das Programm SCHRITT auGer der Kenntnis der berechneten Kurven-


punkte keine weitere Information uber die zu bearbeitende Kurve hat, kanJI
es vorkommen, daG nur an einzelnen Stellen auftretende starke Schwankun-
gen oder Singularitaten in einer sonst glatt en oder sehr schwach gekrumm-

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.

Es kann geschehen, daB Spitzen einer Kurve nicht ausgezeichnet werden.

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.

Die bisher beschriebenen Steuerdaten stehen im common Block /SCHRITI/:


common/SCHRIT1/DMIN, DBEST, DMAX, DXMIN, DXBEST, DXMAX,
XIV, XIO, EU, EO

Der Aufruf des Unterprogramms geschieht auf folgende Weise:

call SCHRITT(MF, T, NP, FLD, TA, TE)


if(MF. EQ. 2) goto(n 2 )

(Berechnen von NP und den zu T gehorigen Punkten, die im Feld


FLD in der Form 51' 17 1 ' ~2' "12"" 5 n ' 'tJ n gespeichert werden)
p p
goto(n 1 )

continue
(Weiterfiihren der Rechnung nach Beendigung der Kurve)
(n 1 ) und (n 2 ) sind Statement identifier.

Beispiel: Zu zeichnen ist die Ellipse

mit Hilfe der Parameterdarstellung:

; =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.

Die Zahlen Jl, J2 und J3 haben die Bedeutung:

Jl = Zahler der gleichzeitig berechneten Polygone:


1 <: Jl <:.J2 .
J2 = Anzahl der gleichzeitig berechneten Polygone.
J3 = Anzahl der Punkte des Polygons.

3.3. Das Zeichnen von Kegelschnitten in der Ebene und von Bildern von
Kegelschnitten, die bezuglich einer Raumbasis gegeben sind

Mit dem Aufruf

call KEGZEI(A, 0)

wird das Bild eines in der Zeichenebene gegebenen Kegelschnittes


i k
a ik y y =0

gezeichnet, soweit es im Zeichenrechteck liegt. Der Kegelschnitt wird


auf seinen Typ untersucht und auf Grund einer Parameterdarstellung wird
dieser Kegelschnitt mit Hilfe des Unterprogramms SCHRITT gezeichnet.
Zerfallt der Kegelschnitt nicht, so wird die Parameterdarstellung auf fol-
gendem Weg ermittelt.

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

Zu dies em Punkt X wird mittels einer Cremonatransformation ein Punkt


des Kegelschnittes bestimmt:

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

und es ergibt sich


i k k
= a jk (2s 1
° ° ° °
Y sJ p _ Sl s pJ)

Zerfallt der Kegelschnitt, so werden die beiden Geraden bestimmt und die-
se werden mit PARX gezeichnet, falls sie reell sind.

Mit dem Aufruf

call KEGZEI(A, 1, CNTRL, BS)

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

call CNTRL(NP, FLD, NQ, PE, PR)

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.

Zerfallt der Kegelschnitt in ein Geradenpaar, so werden Punkte dieser Ge-


raden bestimmt, und es wird eine Parameterdarstellung dieser Geraden
zum Aufruf von SCHRITT verwendet. Auch in diesem Fall wird CNTRL auf-
gerufen. Dieses Unterprogramm CNTRL wurde als formaler Parameter in
viele Unterprogramme eingearbeitet. Es eignet sich dazu, urn z. B. anstelle
einer Kurve eine andere Kurve zu zeichnen, die durch eine Konstruktion aus
dieser hervorgeht (Beispiel CPR: projektiver Grundri13 einer Raumkurve).
CPR-Projektiver Grundri13
subroutine CPR(NP, FLD, NQ, PE, PR)
real FLD(2, NP), PE(3, NQ), PR(4, NQ)
common/BASIS/AL(3, 4), ...
common/CPRG/PZ(4), EB6(4).

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.

3.4. Darstellung und Durchdringungen krummer FHichen

Urn anschauliche Bilder von krummen Flachen zu erzeugen, verwendet man


zweckmalHg die Bilder geeigneter ebener Schnitte und den Umrif3.

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.

Es sind Durchdringungen dieser krummen Flachen mit Ebenen und Flachen


zweiter Ordnung durch Aufruf der entsprechenden Unterprogramme mit ge-
eigneten Parametern vorgesehen.

Bezuglich des formalen Parameters CNTRL vergleiche 3.3.

subroutine EBF2(A, B, CNTRL)


real A(4, 4), B(4)
external CNTRL

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.

subroutine GERFL(J, YA, YE, GERT, GERPT, EB, Q, ME, MF)


external GERT, GERPT
real EB(4), Q(4,4)

Unterprogramm zum Arbeiten mit Flachen, die durch im Raum bewegte


Geraden erzeugt werden:

J wird bitweise zerlegt:

b o = 1 Es werden Geraden zu den folgenden Parametern Yi gezeichnet:

i = 0, 1, ... , ME + MF

1 Es wird der UmriJ3 gezeichnet


(dies ist der einzige Fall, in dem GERPT aufgerufen wird).

b2 =1 Es wird der Schnitt mit der Ebene EB gezeichnet

b3 =1 Es wird der Schnitt mit der Flache 2. Ordnung Q gezeichnet

Die Aufrufe von GERT bzw. GERPT lauten:

call GERT (Y, A, B)


call GERPT (Y, AP, BP)

=;
dabei sind A, B die homogenen Koordinaten zweier Punkte zum Parameter
Y, AP, BP die Ableitungen ~~ ,

Beziiglich CNTRL vergleiche 6.5.

subroutine KUGFL(J, YA, YE, KUGD, CNTRL, EB, Q, PZ, JF, JG)
external KUGD, CNTRL
real EB(4), Q(4,4), PZ(4)

Unterprogramm zum Verarbeiten von Flachen, die als Einhiillende im Raum


bewegter Kugeln erzeugt werden:

Das Unterprogramm KUGD hat den Aufruf

call KUGD(Y, PM, PMP, RAD, RADP).

Dabei bedeuten PM(3), PMP(3) die inhomogenen Koordinaten des Mittelpunk-


tes und die Ableitungen dieser Koordinaten nach Y, RAD und RADP den Ra-

26
dius dieser Kugel und RADP die Ableitung des Radius nach Y. YA, YE sind
die Parametergrenzen des Parameters Y.

J wird bitweise zerlegt

b Es werden Beruhrkegelschnitte von Kugel und Flache zu den fol-


o
genden Parametern Yi gezeichnet:

i = 0,1, ... ,(/JF + JG)

.A.. =

Es wird die Schattengrenze zur Lichtquelle PZ gezeichnet. Setzt


man fur PZ das Projektionszentrum ein, so erhalt man den UmriG.

Es wird der Schnitt mit der Ebene EB gezeichnet.

Es wird der Schnitt mit der Flache 2. Ordnung Q gezeichnet.

Es werden zu den gleichen Para met ern wie unter b Umrisse von
Kugeln gezeichnet 0

subroutine RFLAECH(J, YA, YE, ZBS, KEGT, ZBP, KEGPT, CNTRL,


EB, Q, PZ, JF, JG)
external ZBS, KEGT, ZBP, KEGPT, CNTRL
real EB(4), Q(4,4), PZ(4)

Unterprogramm zum Verarbeiten von verallgemeinerten Rohrenflachen.


Y A, YE sind die Parameter grenzen.

Die Unterprogramme haben folgende Aufrufe:

call ZBS(Y, BS)


call ZBP(Y, BSP)
call KEGT(Y, A, BS)
call KEGPT(Y, AP, BSP)

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.

J wird bitweise zerlegt:

b Es werden Einzelkegelschnitte gezeichnet:


o

27
i = 0, 1, ..• , (JF + JG)

1 Es wird die Schattengrenze zur Lichtquelle PZ gezeichnet. Setzt


man fUr PZ das Projektionszentrum ein, so erhalt man den Umril3.

b2 =1 Es wird der Schnitt mit der Ebene EB gezeichnet.

b3 =1 Es wird der Schnitt mit der Flache 2. Ordnung Q gezeichnet.

3.5. Das Schneiden von gekrummten Flachen mit konvexen Polyedern

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.

subroutine UNG(NP, FLD, NQ, PE, PR)


real FLD(2, NP), PE(3, NQ), PR(4, NQ)
common/EBXY /MALT, MNEU, MFELD, EBX(4,1), EBM(4,10)
common/BASIS/AL(3,4), BLD(4), R(16), V(16), PRZ(4)

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.

subroutine SETEB(M, EBENEN, PKT)


real EBENEN(4, M), PKT(4)
common/EBXY/MALT, MNEU, MFELD, EBX(4,1), EBM(4,10)

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:

Mit dem Aufruf

call SETEB(M, EBENEN, PKT)

wird das konvexe Polyeder vorbereitet, mit dem Aufruf

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.

4. Weitere Unterprogramme als Arbeitshilfen

GERZEI - Eine Gerade zeichnen

subroutine GERZEI(TA, TE, PI, P2)


real PI(3), P2(3)

Die Gerade durch die Punkte PI und P2 wird in den Parameterbereich

TA < t < TE

gezeichnet. Die Parameterdarstellung


~ 2
Ai = 11
N
t· -if1 + (l-t) 2

wird benutzt. Dabei sind 11


1 bzw. ;;2 Normierungen von PI, P2, die der
letzten Koordinate einen Wert:: 0 geben.

TA o TE = 1 Strecke (PI, P2)


TA -1 TE 1 die ganze Gerade
TA -1 TE = 0 das Au~ere der Strecke (P1, P2)

ZWEB ;;; Bild der Schnittgeraden zweier Ebenen

subroutine ZWEB(J, GER, A, B)


real GER(3), A(4), B(4)

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.

EBZEI - Zeichnen einer Ebene durch Spurgeraden

29
subroutine EBZEI(EB)
real EB(4)

Die Schnittgeraden der Ebene EB mit den Koordinatenebenen werden be-


rechnet und gezeichnet.

ZWEIF - Bild des Schnittes zweier FHi.chen 2. Ordnung

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.

ZEIF4 - Zeichnen einer Kurve 4. Ordnung

subroutine ZEIF4{A)
real A{ 15)

Die Kurve 4. Ordnung


4 ~2 2 3
al S + a2 ;3 17 + a 3 1J + a4 5 1)
4 2
+ a 5 11 + a 6 ;3 + a 7 ;2 l'J + as S 11

+ a g 1'J 3 + a lO ;2 + all ~ 11 + a 12 y/ 2

a 13 ; + a 14 17 + a 15 0

wird gezeichnet. Enthalt sie Geraden parallel zur 11-Achse, so werden


diese weggelassen.

PGHYP - Schnittpunkt einer Geraden mit einer Hyperebene

subroutine PGHYP{N, P, PA, PB, HYP)


real P{N), PA{N), PB{N), HYP{N)

Die Hyperebene HYP wird mit der Geraden (PA, PB) geschnitten. Der
Schnittpunkt ist P (homogene oder projektive Koordinaten).

N = 3 P = Schnitt zweier Geraden


N = 4 P = Schnitt Gerade, Ebene

Diese Aufgabe kann auch dual interpretiert werden:

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.

Eezuglich der weiteren in Kap. 5 auftretenden Unterprogramme als Ar-


beitshilfen sei auf 7 verwiesen.

5. UmriBbestimmung und Schattengrenzen spezieller Flachen

5. 1. Ermittlung der Schattengrenze bzw. der wahren


UmriBpunkte einer Torse

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)

Diese Reprasentanten werden als differenzierbar vorausgesetzt, und die


Ableitung sei gegeben durch

(2)

Die Lichtquelle 1 T( -tf) wird ebenfalls durch einen Reprasentanten beschrie-


ben:
k
(3) ~=/lj/ k p

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

bestimmt. Differenziert man diese Gleichung nach t, so erhalt man


. k ·k
(6) ak p i + ak p i = 0

Die Ebene zum Parameter H 8 hat die Koeffizienten


. 2
(7) a k (H 8 ) = a k (t) + 6 a k (t) + O( 0 )

Der Schnittpunkt der Geraden (1) mit dieser Ebene kann dargestellt werden
als

31
(8)

A und J.l mussen durch Einsetzen in die Ebenengleichung bestimmt werden:


k k
(9) A.a k (H d ) p 1 (t) + Jla k (H 8 ) p 2 (t) = 0

Durch Verwendung von (7) ergibt sich

(10)

Wegen (5) erhalt man daraus

(11 )

Verwendet man jetzt (6), urn die ilk zu ersetzen, so ergibt sich

(12) A ak(t)pk 1 (t) + IJak(t)pk 2(t) + 0 (ll ) = 0

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)

Die Koeffizienten a k werden aus (5) ermittelt.

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:

1. I?ie Ger~de (1) geht durch 1 T(1 ).


2. 11 und -1
2 sind beide linear von 1 1, 12 abhangig.

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.

5.2. Ermittlung der Schattengrenze bzw. des Umrisses einer Rohrenflache

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

beschrieben werden. Die Matrix aik(t) der Koeffizienten der Kugelgleichung


a ik xi xk = 0 hat dann die Form
1
0 0 -m
2
0 0 -rn
aik(t)
3
0 0 -m
3
1 2 3 2
-m -m -m - (r) + L
i= 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

aik(H c5 ) = aik(t) + a 8. ik (t) + 0 ( 0 2)

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

mit der Kugel K(t) durchsto13en wird.

5.3. Ermittlung der Schattengrenze bzw. des Umrisses


einer verallgemeinerten Ri:ihrenfliiche

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)

Diese Matrizen werden als differenzierbar vorausgesetzt:

(4) 4t-'k p\(t)


(5) -1 k.l ak.t (t)
Ersetzt man 4/ durch 14' so erhalt man die Darstellung des Raumes, in-
dem man
k i k
(6) At; = Iff' k P i v = ttf' k x

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.

Ermittelt man aus (6) die Koordinaten vi, so erhalt man


i i k
(8) v =qkx ,

wobei die q\ die Koeffizienten der zu p\ inversen Matrix sind:

(9)

Durch Differenzieren dieser Gleichung nach t erhalt man:

( 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'

Der Kegel zum Parameter t+ 8 erhalt die Matrix


i k
bi' k' (t+ ~ ) = aik(t+ 0 ) qi' (t+ 8 ) q k' (t+ 5 ) =
i k
= aik(t) q i' (t) q k' (t) +

!' [. 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)

Verwendet man die Abkurzung

(14)

so erhalt man daraus

( 15) cik(t+ 6 ) = aik(t) + 8 [a ik - a ik ,


., ]
,£"1.
1 t
+ O( <5
2
)

Es ist zweckma13ig, die Koeffizienten Tij aus dem Gleichungssystem zu


bestimmen, das man erhalt, wenn man (14) von links mit pti multipliziert.

( 16) pl. i _ l i .k - oJ. k pk. = p. I..


J Tj-PiqkPj- J J
Dies ist ein Gleichungssystem mit drei rechten Seiten. Nach diesen Uber-
legungen sind die Kegelschnitte
ik
" aik(t)
und

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)

zum Schnitt zu bringen. 1m Grenzwert & - 0 erhalt man die gesuchten


Schnittpunkte durch Schneiden der entsprechenden Kegelschnitte. Die Ko-
ordinaten der Schnittpunkte sind in der Basis if/ i gegeben. Sie mussen
transformiert werden, urn ihre Koordinaten in der Basis 4//i zu ermitteln.

Liegt das Projektionszentrum oder die Lichtquelle in der Ebene 3T ( (} i),


so versagt das beschriebene Verfahren. In diesem Fall erhalt man die ge-
suchten Umri13punkte, indem man die Koordinaten des Punktes bezuglich 4
der Basis 1/i
bestimmt und von 1/ aus Tangenten an den Kegelschnitt legt.
Die gesuchten Beruhrpunkte der Tangente erhalt man durch Berechnung
der Polaren zu 1 und anschlie13endes Schneiden mit dem gegebenen Kegel-

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

6. 1. Erzeugung der Abbildungstransformation

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

$TR Variablenname " Wert, Variablenname Wert, .... $


Die Zahl JTR wahlt die Abbildung aus:

JTR erzeugt Grund- und AufrW


JTR 2 erzeugt AufriB und KreuzriB
JTR 3 erzeugt KreuzrW und GrundrW
JTR 4 ergibt eine projektive Abbildung.
In dies em Fall ist das Projektionszentrum PZ(4) mit einzulesen.

Beispiel:

$TR JTR" 4, PZ " 15., 4., 7., O. $


ergibt eine Parallelprojektion yom Punkt PZ aus, da PZ als Fernpunkt in

Richtung ( 1~5) gewahlt ist. Ohne Einlesen von HP wird der Koordinaten-

ursprung als Hauptpunkt der Abbildung verwendet. Durch weitere Daten


HP " ... kann man dies andern.

JTR = 5 ergibt eine projektive Abbildung, die durch das Projektionszen-


trum PZ und die Bildebene BLD, die ebenfalls angegeben werden muLl,
festliegt.

JTR = 6 ergibt eine axonometrische Darstellung, wenn die Matrix AL(3, 4)


durch 3 Fernpunkte in ebenen Koordinaten und die Koordinaten des Bildes
des Ursprungs eingelesen werden (vgl. hierzu 7

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.

Das Einleseprogramm, das auch die Abbildungsunterprogramme aufruft,


ist nachstehend wiedergegeben, wobei die am Rand mit Pfeilen bezeichne-
ten Zeilen weggelassen werden. Beziiglich dieses Programmstiickes ver-
gleiche 6. 7.

program NAM(INPUT, OUTPUT, TAPE1, TAPE3=INPUT, TAPE2=OUTPUT)


real HP(4), PZ(4}, VK(4), RCH(4)
real XYZ(4, 20)
common/BASIS/AL(3, 4), BLD(4), R(4, 4), V(4, 4), PRZ(4)
common/CPRG/SO(4), SEB(4)
namelist/TC/So, SEB, .TTC
namelist/TR/.TTR, NXYZ, XYZ, HP, PZ, VK, RCH, AL, BLD, RAND, INR, JNR
data RAND 11. I
data RCHI -8.,8., -12. , 12. I
data VKlo., 0., 1., O. I
data HP/o., 0., 0.,1. I
data INR/OI
data JNR/ll
data NXYZ/81
data XYZ I - 5. , - 5. , O. , 1. , - 5. , 5. , O. , 1. , 5. , - 5. , O. , 1 .., 5. , 5. , O. , 1. ,
F- 5., - 5. , 15., 1. , 5., - 5. , 15. , 1. ,5., - 5., 15., 1.,5.,5. , 15. ,1. I
JTR=O
10 print 90
90 format (*namelist TR*)
read (3, TR)
if (JTR. GE. 8) stop
print 91
91 format (* namelist TC *)
read (3, TC)
if (JTC.A. 1). EQ. 0) goto 16
do 17 1=1, NXYZ
17 call PGHYP(4, XYZ(1, NXYZ+I), XYZ(1, I), SO, SEB)
NXYZ=NXYZ+NXYZ
16 continue
ITR=JTR+l
goto (10, 1, 1, 1,4,5,6, 7)ITR
continue
do 12 1=1,2
call GRAUF(JTR, I, XYZ, NXYZ, RCH, RAND)
call KOORDZ(JNR)
call ZEICH(I, INR)
12 continue
goto 10
4 continue
call PROJHP(HP, PZ, VK, XYZ, NXYZ, RCH, RAND)
14 continue
call KUORDZ(JNR)
call ZEICH(1, INR)
~oto 10
5 continue
call PROJV(BLD, PZ, VK, X-YZ, NXYZ, RCH, RAND)

38
goto 14
6 continue
call PRJ(R, V, AL, BLD, PRZ)
call ZUPRJ(RCH, RAND)
goto 14
7 continue
end

6.2. Beispiel: Hornzyklide (Abb. 3 bis 4)

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

subroutine ZEICH(K, INR)


external KUGEL, ABB B

common/BASIS/AL(3,4), BLD(4), R(4,4), V(4,4), PRZ(4)


data PI/3. 14159/
call KUGFL(19, -PI, PI, KUGEL, ABB, D, D, PRZ, 4,0)
return
end

Die GroBe D im Aufruf steht als DUMMY Parameter. Sie hat keine Bedeu-
tung.

Das Unterprogramm KUGEL formuliert die Parameterdarstellung der Ku-


gelschar. Die Parameter dieses Unterprogramms sind:

Y Parameter der zu zeichnenden Kugel

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

Damit erhiilt man das Unterprogramm

subroutine KUGEL(Y, PM, PMP, RAD, RADP)


real PM(3), PMP(3)
8 = 8IN(Y)
C = COS(Y)
PM(l) = 5.*8
PM(2) = PMP(l) = 5.* C
PMP(2) = -5. 8 *
PM(3) = PMP(3) = O.
RAD = 1. + C
RADP = -8
return
end

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.

Dies ergibt als Daten fUr das Feld XYZ:


(Programm NAM)
$TR NXYZ = 8, JTR = 0,
XYZ = 7.,7.,2.,1.,-7.,7.,2.,1.,7.,-7.,2.,1.,
,-7.,-7.,-2.,1. $

Die Abbildungen wurden fiber Daten fUr JTR und PZ erzeugt.

6.3. Beispiel: Torus als Einhfillende von Kugeln (Abb. 5 bis 6)

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.

Die Parameterdarstellung lautet:

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.

6.4. Beispiel: Schnitt eines Torus mit einem Kegel (Abb. 7)

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.

Das Nameliststatement des Unterprogramms ZEICH wurde so erweitert,


daB es zusatzlich die Matrix A eines Kegelschnittes, die zugehorige Basis
BSS und die Kegelspitze SPITZE einlesen kann. Die auBerdem eingelesene
GroBe KEGEL legt fest, ob der eingelesene Kegelschnitt mit RKEGZEI ge-
zeichnet werden solI bzw. ob aus den eingelesenen Matrizen die Matrix Q
des Kegels berechnet werden solI. Urn den UmrW des Kegels zu erzeugen,
wird mit einem Aufruf von T1 die Polarebene des Kegels in bezug auf das

*)Auf diese Weise ergibt sich der geringste Programmieraufwand

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.

subroutine ZEICH(K, INR)


real Q(16), PZ(4), EB(4)
external ABB, UNG, KUGEL
common/EBXY /MALT, MNEU, MFELD, EBX(4), EBM(4, 10)
common/NAM/JECK, ECK(4, 20), EBU(4, 11), PKT(4)
real AKG(9), BSS(12), SPITZE(4)
common/BASIS/AL(12), BLD(4), R(4, 4), V(4, 4), PRZ(4)
namelist/TX/YA, YE, JYE, JTX, EB, Q, PZ, AKG, BSS
F SPITZE, KEGEL
do 12 1=1,4
12 PZ(I) = PRZ(I)
read (3, TX)
if( (KEGEL.A. 1). NE. 0) call AKEG(AKG, BSS, SPITZE, Q)
if( (KEGEL. A. 2). NE. 0) call RKEGZEI(BSS, AKG, ABB)
call Tl(4, 4, EB, Q, PZ)
call EBF2(Q, EB, UNG)
call KUGFL(JTX, YA, YE, KUGEL, ABB, EB, Q, PZ, JY, JYE)
return
end

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.

6.5. Beispiel: WendelfHiche (Zugeordnete Normalrisse und Zentralri(3)

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)

Als external vereinbart werden SCHRAUB, SCHRAUP und STRECK. Davon


weisen SCHRAUB und SCHRAUP der subroutine GERFL die Koordinaten
von 1'1' '12' -<i 1 und 1i 2 zu.
subroutine SCHRAUB(Y, P1, P2)
real P1(4), P2(4)
CX=15. /3.14159
S=SIN(Y)
C=COS(Y)
P1(1)=2.* S
P2(1)=5.*S
P1(2)=2.*C
P2(2)=5.*C
P1(3)=P2(3)=CX>¥Y
P1(4)=P2(4)=1.
return
entry SCHRAUP
P1(1)=2.JI<,C
P2(1)=5.*C
P1(2)=-2.*S
P2(2)=- 5."* S
P1(3)=P2(3)=CX
P1(4)=P2(4)=0.
return
end

Das Unterprogramm STRECK wurde geschrieben, urn das Zeichnen der


Kurven auf den Bereich zwischen den beiden Punkten zu beschranken. Es
wird fUr den formalen Parameter CNTRL eingesetzt:

subroutine STRECK(NP, FLD, NQ, PG, PRJ


real FLD(8), PG(2, 4), PR(4, 4)
NP=O
if(NQ. EQ. 0) return
do 1 I=l,NQ
*
if(PG(l, I) PG(2, I). GE. O. ) call ABX(NP, FLD, I, PRJ
continue
return
end

An diesem Beispiel solI einmal ausfUhrlich besprochen werden, wie mit


CNTRL gearbeitet wird. Aufgerufen wird mit fiinf Parametern. Davon be-
deutet, NP die Anzahl der zu zeichnenden Punkte, deren inhomogene Koor-
dinaten in das Feld FLD geschrieben werden. NP und FLD mussen be-
stimmt werden. NQ ist die Anzahl der Raumpunkte, die bei der gerade
behandelten Aufgabe berechnet wurden. Das Feld PG(2, 4) enthalt bei
GERFL die projektiven Koordinaten bezuglich der Basis 11' 12' d. h.
falls z. B. NQ = 2 gilt, ist der erste Punkt gegeben durch ~1 = ill -tf1 +
P2 ~h, der zweite durch '0/2 = A2 ~h + 112 12' wobei ill' ;t2' III und 112
dem Feld

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.

subroutine ABX(NPX, FLD, NX, PR)


real FLD(8), PR(4, NX), PX(3)
common/BASIS/ AL(3, 4), BLD(4), R( 16), V(16), PRZ(4)
call Tl(3, 4, PX, AL, PR(1, NX)
call INHOMP(K, FLD(NPX+NPX+l), PX)
NPX=NPX+K
return
end

Die Datenkarten lauteten fUr dieses Problem

$TR JTR = 4, PZ = 20., -25., 30., 1.,


NXYZ = 8
XYZ(1, 1) = - 5., - 5. ,0.,1. , - 5. ,5., O. ,1.,5.,5., 0., 1.,5., - 5., 0., 1.,
XYZ (1, 4) = - 5. , - 5. , 15. , 1. , - 5. , 5. , 15. , 1. , 5. , 5. , 15. , 1. , 5. , - 5. , 15. , 1. , $
$TX JTX = 19., YA = 0., YE = 3.14159, JY = 20., JYE = 1 $
$TR JTR = 8 $

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).

6.6. Beispiel: Zylinderstumpf mit aufgesetzter Halbkugel.


Bearbeitung mit Schattenkonstruktion
(Abb. 10)

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

r(y) = 4. r(y) 5+y r(y) 5 . cos (y . 1T)


r(y) = O. r(y) 1 r(y) -5 sin(y . 'TT)
z(y) (y+2)· 10 z(y) 10 z(y) 10 + 5·sin(y· 'IT")
z(y) = 10. z(y) 0 z(y) = 5 cos (y . 'TT )

Das Unterprogramm ZROT liefert zu jedem y die Matrizen

BS = A =
o

und beim Aufruf von ZROTP die Matrizen

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.

Das Unterprogramm ZEICH liest mit Namelist/TX/ die Parameter fUr


RFLAECH. Da RFLAECH mit den zwei verschiedenen Parametern ABB
und CPR aufgerufen wird, werden auch verschiedene Steuergr613en JTX
und JTC gelesen. Urn den Schatten zu bestimmen, den der untere Rand
der Halbkugel auf den Zylinderstumpf wirft, wird die Matrix Q des Kegels
mit Spitze SO und deren Kegelschnitt zum Parameter YCQ bestimmt, falls
JCQ = 0 ist.

Die eingelesenen Daten lauten fUr dieses Bild

$TR JTR=4, PZ=20.,-10.,40.,1.,NXYZ=8,


XY Z ( 1, 1) - 5. , - 5. , 15. , 1. , - 5. , 5. , 15. , 1. , 5. , 5. , 15. , 1. , 5. , - 5. , 15. , 1. ,
XYZ(1,4) = -5., -5., 0.,1., -5.,5., 0.,1.,5.,5., 0.,1.,5., -5., 0.,1. $
$TC JTC = 1, SO = 20.,10.,30.,1., SEB = 0.,0.,1.,1., $
$TX JTX=3, YA=-2., YE=1., JTXN=l, JY=3, JYE=O, JCP=l, JCQ=O $
$TX JTX = 2, JTXN = 1, JCP = 2, JCQ = 0., PZ = 20.,10.,30.,1. $
$TX JTX = 8, JTXN = 0, JCQ = 1, YCQ = 0, YE = 0 $
$TR JTR = 8 $

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.

subroutine ZE1CH(K, 1NR)


real Q(16), PZ(4), EB(4)
external DUM, ABB, ZROT, ZROTP
common/BAS1S/AL(12), BLD(4), R(4, 4), V(4, 4), PRZ(4)
external CPR
common/CPRG/SO(4), SEB(4)
real A(9), BS(12)
namelist/TX/YA, YE, JY, JYE, JTX, EB, Q, PZ, ITY, JTXN,
F JCP, JCQ, YCO
data YA, YE, JY, JYE/ -10., 10., 10., 1/
data ITY /0/
20 JTXN=O
do 12 1=1,4
12 PZ(I)=PRZ(I)
print 90
90 format (*namelist TX.)
read(3, TX)
if(JCQ. NE. O)goto 17
call ZROT(YCQ, A, BS7)
call AKEG(A, BS, SO, Q)
17 continue
15 continue
call RFLAECH(JTX, YA, YE, DUM, ZROT, DUM, ZROTP, ABB, EB, Q,
PZ,JY,JYE)
call RFLAECH(JCP, YA, YE, DUM, ZROT, DUM, ZROTP, CPR, EB, Q,
PZ,JY, JYE)
if(JTXN. NE. 0) goto 20
return
end

Zusammenfassung

Die in der vorliegenden Arbeit vorgeschlagene und entwickelte Vorgehens-


weise unterscheidet sich sachlich und methodisch von anderen in der letz-
ten Zeit erschienenen Arbeiten, die sich mit der Behandlung geometrischer
Aufgaben mit Hilfe von Datenverarbeitungsanlagen befassen ( [1 ], [2], [3],
[ 4]).

Auf diese Arbeiten solI daher hier nicht eingegangen werden. Doch sei auf
die ausfiihrliche Bibliographie in [1] tiber weitere verwandte Veroffentli-
chungen hingewiesen.

Eine unmittelbare Behandlung geometrischer Probleme auf Datenverarbei-


tungsanlagen mittels einer geometrischen Programmiersprache findet sich
in [6].

Die Losungswege wurden bereits in der Einleitung dargelegt. Kapitel 1 gibt


eine Darstellung der Grundlagen der projektiven Geometrie, soweit sie hier

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

( 1) Bezier, P., Definition numerique des courbes et surfaces I, Automatisme XI


(1966), S. 625-632.

(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.

\ 7) Heyne, E., Dissertation, Aachen 1973.

(8) Lichnerowicz, A., Einfilhrung in die Tensoranalysis. Bibliographisches Institut,


Mannheim 1966.

(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

Abb. 1: Nicht erfa~ter Kurvenverlauf an einer Stelle durch


- - - die ermittelten Zeichenpunkte Pi

Abb. 2: Nicht erfa~te Spitze durch die ermittelten Zeichenpunkte Pi

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

t---tir-+ +--+- -+-i>


Y

x
Abb. 7: Durchdringung von Torus und Kegel (Grund- und Aufri/3)

54
z

Abb. 8: WendelfHiche (Z e ntr a lrW)

55
z

Abb. 9: Wendelflache mit den Umri13kurven aus Abb. 8 (Grund-


und Aufri/3)

56
x

57
Forschungsberichte
des Landes Nordrhein-Westfalen
Herausgegeben im Auftrage des Ministerprasidenten Heinz Kuhn
yom Minister fur Wissenschaft und Forschung ] ohannes Rau

Sachgru ppen verzeichnis

Acetylen· Schweiiltechnik Druck· Farbe . Papier .


Acetylene' Welding gracitice Photographie
Ac~tylene • Technique du soudage Printing· Color' Paper· Photography
Acetileno . Tecnica de la soldadura Imprimerie • Couleur . Papier . Photographie
AlleTltJleH H TeXHHl<a CSaph:H Artes gra6cas . Color' Papel • FotograHa
TllnorpaqJHJI . KpacKII . By Mara • <1>oTorpaq,HJI

Arbeitswissenschaft Eisenverarbeitende Industrie


Labor science Metal working industry
Science du travail Industrie du fer
Trabaio cientifico Industria del hierro
BOIlPOCbI TpY;lOBoro "pOlleCnl. MeTa.rlJIoo6pa6oTblBRtolll8H IIpOMblll1JleHHOCTb

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

Chemie Funktechnik . Astronomie


Chemistry Radio engineering· Astronomy
Chimie Radiotecbnique . Astronomic
Quimica Radiotecnica . Astronomia
XHMIIJI PallHOTeXHIlKB H aCTpoHoMWI
Gaswirtschaft NE-Metalle
c;,.s economy Non-ferrous metal
Gaz Metal DOll fettewl:
Gas Metal no ferrOIO
raaOBoe X03l1i1cTao [(BeTRhle MeT&JlJlbI

Ho1zbearbeitung Physik
Wood working Physics
Travail du bois Physique
Trabajo de Ia madera Fisica
.ll.epeaoo6pa(ioTKB <1>R3BKB

Hiittenwesen· Werkstoffkunde Rationalisierung


Metallurgy • Materials research Rationalizing
Metallurgic· Materiaux Rationalisation
Metalurgia • Materiales Racionalizaci6n
MeTBJIJlYPrJUl R MIlTepH8JlOaelleHHe PBIIBOHBJlB3B1UUI

Kunststoffe Schall· UltraschaH


Plastics Sound . Ultrasonics
Plastiques Son . Ultra-son
PI:bticos Sonido . U1tras6nico
UJlBCTMBCCbI 3ay" B YJlbTpaaaYK

Luftfahrt· Flugwissenschaft Schiffahrt


Aeronautics· Aviation Navigation
Aeronautique • Aviation Navigation
AeroMutica • Aviaci6n Navegaci6n
ABBBIIBlI CYlloxollcTao

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

Medizin . Pharmakologie Wirtschaftswissenschaften


Medicine· Phannacology Political economy
MCdecine • P"-rmacologie Economic poIitique
Medicina • Fannacologia Ciencia. econ6rnicas
Me_ _ B ¢oBPMBKOJlOI"IIR 3KOROMB.. eCKBe llBYKB

Einzelverzeichnis der Sachgruppen bitte anfordern

Westdeutscher Verlag . Koln und Opladen


567 OpladenJRhld., Ophovener StraBe 1-3, Postfach 1620

Das könnte Ihnen auch gefallen