LitDev 1.2.17.0 DE Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGraph LDGraphicsWindow
LDHID LDImage LDInline LDIOWarrior LDList
LDLogic LDMath LDMathX LDMatrix LDMusic
LDNetwork LDPhysics LDProcess LDQueue LDRegex
LDResources LDScrollBars LDSearch LDServer LDSettings
LDShapes LDShell LDSort LDSound LDSpeech
LDStatistics LDStopwatch LDText LDTextWindow LDTimer
LDTranslate LDUnits LDUtilities LDVector LDWaveForm
LDWebCam LDWindows LDxml LDZip

LDVector
Algebraische 3D Vektormethoden (hilfreich für Berechnungen in 'LD3DView').
Alle Vektoren oder Punkte sind 3-elementige Arrays der Form "1=x;2=y;3=z;".
Zur Verwendung als 2D Vektoren als "1=x;2=y;3=0;".

example http://de.wikipedia.org/wiki/Vektor

Add AngleBetween CrossProduct
DotProduct Length Multiply
Normalise Rotate RotatePoint
Subtract

Add(vector1,vector2)
Ermittelt die Summe zweier Vektoren.
vector1 Der erste Vektor.
vector2 Der zweite Vektor.
returns Der Summenvektor (Resultierende) bei Erfolg, sonst "".

AngleBetween(vector1,vector2)
Ermittelt den Winkel zwischen zwei Vektoren.
vector1 Der erste Vektor.
vector2 Der zweite Vektor.
returns Der Winkel (0 bis +180°) zwischen den beiden Vektoren bei Erfolg, sonst "".
example 'v zu Kugelkoord(r,theta,phi)
vT = v
vT[3] = 0 'tmp 2D [x,y,0]
vX = "1=1;2=0;3=0;"
vZ = "1=0;2=0;3=1;"

r = LDVector.Length(v)
theta = LDVector.AngleBetween(v,vZ)
phi = LDVector.AngleBetween(vT,vX)

'v zu Zylinderkoord(rho,phi,z)
rho = LDVector.Length(vT)
phi = LDVector.AngleBetween(vT,vX)
z = v[3]

'Atan2(x,y) [0°,+/-180°]
P = "1="+x+";2="+y+";3=0;"
x = "1=1;2=0;3=0;"
w = LDVector.AngleBetween(P,x) ' *sgn(y)
w = w * LDLogic.Switch(LDLogic.LT(y,0), -1,1)


CrossProduct(vector1,vector2)
Ermittelt das (äußere) Kreuz-/Vektorprodukt zweier Vektoren.
Dies ist der Normalvektor zur aufgespannten Vektorenebene, im Rechtssystem.

vector1 Der erste Vektor.
vector2 Der zweite Vektor.
returns Der Ergebnisvektor (Nullvektor für parallele Vektoren) bei Erfolg, sonst "".
example http://de.wikipedia.org/wiki/Kreuzprodukt

DotProduct(vector1,vector2)
Ermittelt das (innere) Skalarprodukt zweier Vektoren, |v1|*|v2| * cos(AngleBetween).
vector1 Der erste Vektor.
vector2 Der zweite Vektor.
returns Das Skalarprodukt bei Erfolg, sonst "".
=0 rechtwinkelig
>0 spitzwinkelig
<0 stumpfwinkelig
(-) |v1|*|v2| (entgegen) parallel

example http://de.wikipedia.org/wiki/Skalarprodukt

Length(vector)
Ermittelt die Länge/Betrag (|vector|) für einen Vektor.
vector Der Vektor.
returns Die Vektorlänge bei Erfolg, sonst "".
example |v| = Math.SquareRoot(v[1]*v[1] + v[2]*v[2] + v[3]*v[3])

Multiply(vector,scalar)
Multipliziert einen Vektor komponentenweise mit einem Skalar.
Verlängert oder kürzt die Länge des Vektors um den angegebenen Faktor. Bei negativem Skalar wird auch die Vektorrichtung umgekehrt.

vector Der Vektor.
scalar Der skalare Faktor zur Längenänderung des Vektors.
returns Der skalierte Vektor bei Erfolg, sonst "".
example 'Vektor v zu Länge l skalieren
v = LDVector.Multiply(v, l/LDVector.Length(v))
v = LDVector.Multiply(LDVector.Normalise(v), l)


Normalise(vector)
Normalisiert einen Vektor zur Einheitslänge (gleiche Richtung).
vector Der Vektor.
returns Der skalierte Einheitsvektor (Länge = 1) bei Erfolg, sonst "".

Rotate(vector,about,angle)
Rotiert einen Vektor um eine Drehachse (als Richtungsvektor definiert).
vector Der zu drehende Vektor.
about Der Richtungsvektor der Drehachse um die gedreht wird.
angle Der Winkel [°] um den der Vektor gedreht wird.
returns Der rotierte Vektor bei Erfolg, sonst "".

RotatePoint(point,center,about,angle)
Rotiert einen Punkt um einen angegebenen Zentralpunkt und Richtung.
point Der zu drehende Punkt.
center Der Zentralpunkt um den gedreht wird.
about Der Richtungsvektor der Drehachse um die gedreht wird.
angle Der Winkel [°] um den der Punkt gedreht wird.
returns Der gedrehte Punkt bei Erfolg, sonst "".

Subtract(vector1,vector2)
Ermittelt die Differenz zweier Vektoren (Addition mit Gegenvektor von vector2).
vector1 Der erste Vektor.
vector2 Der zweite Vektor (zur Subtraktion von vector1).
returns Der Differenzvektor bei Erfolg, sonst "".
example dif = LDVector.Subtract(v1,v2)
dif = LDVector.Add(v1,LDVector.Multiply(v2,-1))