Graphics Reference
In-Depth Information
Wenn sich zwei Facetten schneiden wie in Abb. 9.11 rechts oben, liegen
die Abstände der Knoten von F(k) sowohl auf der Vorder- wie auch auf der
Rückseite der Ebene zu F(j); sinngemäß die Abstände von F(j) zur Ebene F(k).
Eine Durchdringung liegt nur dann vor, wenn die Knotenabstände beider
Facetten sowohl positiv wie auch negativ sind und in der Projektion mindestens
ein Knoten einer Facette im Inneren der anderen liegt (vgl. Abb. 9.11 Mitte).
Hat wenigstens eine der beiden Facetten nur positive oder nur negative Ab-
stände zur anderen Ebene, dann schneiden sich zwar ganz normal die Ebenen,
die Facetten jedoch nicht. Sie überdecken sich entweder, oder sind vollständig
voneinander separiert; Abb. 9.11 unten.
Der Aufruf des Programmes ‚ Call Abstand ' muss neben den Abständen
auch einen Schalter liefern, der die einheitlichen Vorzeichen der Abstände
kenntlich macht. Dieser Schalter sei ‚ InAus ' und nimmt folgende Werte an:
InAus D 2 ;
beide Facetten liegen einseitig
D 1 ;
eine Facette einseitig
D 0 ;
Facetten schneiden sich :
Bevor mit der detaillierten Untersuchung der Tiefenstaffelung begonnen wird,
lässt sich der einfache Fall eliminieren, bei dem beide Abstände gleich null
sind. Das ist immer der Fall, wenn Facetten (meist nebeneinander) in einer
Ebene liegen.
If (Abstk = 0) And (Abstj = 0) Then
If MinZk <
MinZj Then GoTo Ende_k
' minimale Z-Koordinate
If SumZk <= SumZj Then GoTo Ende_k
' gemittelte
Z-Koordinaten
GoTo Schieben
End If
Im nächsten Schritt wird die gegenseitige Tiefenstaffelung der Facetten abhän-
gig vom Schalter ‚ InAus ' geprüft.
If InAus > 0 Then
' =2 und =1
'
' beide oder eine Facette liegt einseitig
If (Abstk < 0.0) And (Abstj > 0.0) GoTo Ende_k
If MinZk < MinZj Then GoTo Ende_k
If SumZk <= SumZj Then GoTo Ende_k
End If
Else
' InAus =0
'
' Knoten liegen teils auf der Vor-, teils auf der Rückseite
' der Bezugsebene, kein Knoten der einen darf innerhalb
' der anderen Facette liegen. Bei Key=0 Knoten ausserhalb.
Call KnoInFac(j, Knoten(k) bzgl. Ebene(j), Keyj)
Call KnoInFac(k, Knoten(j) bzgl. Ebene(k), Keyk)
Search WWH ::




Custom Search