Name
VECT

Syntax
VECT x, y, z

Aufklappen Wertebereiche
x, Typ real
y, Typ real
z, Typ real

Aufklappen Erläuterung
Definiert einen Normalenvektor (0/0/0)-(x/y/z). In den Befehlen PGON und PIPG kann damit die Ausrichtung einer Fläche zum Körper (innen/außen) festgelegt werden. Ist in der Flächendefinition der Normalenvektor nicht definiert (Index mit ausrichtung=0), wird dieser automatisch ermittelt, was aber zu ungewollten und problematischen Orientierungen führen kann.

Bei dem Tetraederbeispiel wird z.B. die Bodenplatte (siehe Beispiel) automatisch mit Oberfläche nach oben definiert. Das muss durch einen VECT 0,0,-1 korrigiert werden, damit ein geschlossener Körper erzeugt werden kann.

Die absolute Länge des Vektors spielt keine Rolle, die Richtung ist entscheidend.

Aufklappen Beispiel
VERT 0,0,0 ! Ecke 1
VERT 1,0,0 ! Ecke 2
VERT 0.5,1*SIN(60),0 ! Ecke 3

VECT 0,0,-1 ! Normalenvektor 1

EDGE 2,1, -1,-1, 0 ! Kante 1
EDGE 3,2, -1,-1, 0 ! Kante 2
EDGE 1,3, -1,-1, 0 ! Kante 3

PGON 3, 1, 0, 3,2,1 ! Fläche

BODY 4 ! Fläche darstellen

Aufklappen Tipps und Tricks
Eine Ebene wird eindeutig durch 2 Vektoren in einer Ebene oder 3 Punkte aufgespannt. Die Vektoren dürfen nicht komplanar oder windschief zueinander bzw. die Punkte müssen eindeutig sein. Einfacher ist die Normalenform, die eine Ebene durch einen Richtungsvektor ("Normale") und einen beliebigen Punkt auf der Ebene definiert. Für CAD ist es einfacher mit der Normalenform zu arbeiten, da die Ebene somit auch eine eindeutige Definition von oben/unten bzw. innen/außen erhält.

Nun hat man aber in den meisten Fällen eher Punkte auf der Oberfläche einer Ebene als die passende Senkrechte dazu. Da hilft uns aber die Mathematik (siehe Links), denn das Kreuzprodukt zweier Vektoren ergibt einen zu diesen beiden Vektoren senkrechten Vektor, die Normale.

! Kreuzprodukt zweier Vektoren
a1=px-qx
a2=py-qy
a3=pz-qz

b1=rx-qx
b2=ry-qy
b3=rz-qz

nx1 = b2*a3 - b3*a2
ny1 = b3*a1 - b1*a3
nz1 = b1*a2 - b2*a1

nx2 = a2*b3 - a3*b2
ny2 = a3*b1 - a1*b3
nz2 = a1*b2 - a2*b1


Berechnet aus den 3 eine Ebene Aufspannenden Punkten P(px,py,pz), Q(qx/qy/qz) und R(rx/ry/rz) (oder eben einem Dreieck bzw. Vektorenpaar) die beiden Normalenvektoren (0/0/0 - nx1/ny1/ny1) und (0/0/0 - nx2/ny2/ny2).
Benötigt wird nur einer der Normalenvektoren, doch je nach Lagebeziehung der 3 Punkte untereinander muss unterschieden werden welcher Normalenvektor der richtige ist.

Natürlich ist es am einfachsten in den Befehlen PGON und PIPG den Normalenvektor durch ArchiCAD® bestimmen zu lassen (Index=0).

Kreuzprodukt:
in der Wikipedia

Aufklappen Kontext
3D-Skript