Hilfe

TFormVector

B3D

Aufruf

TFormVector x#, y#, z#, quelle%, ziel%

Parameter

x# Koordinate X für Transformation (normal)
y# Koordinate Y für Transformation (normal)
z# Koordinate Z für Transformation (normal)
quelle% Quell-Objekt für Transformation (0=global)
ziel% Ziel-Objekt für Transformation (0=global)


Rückgabewert

-


Beschreibung

Die Anweisung TFormVector wandelt "Vector"-Koordinate eines Quell-Objekts zur Ziel-Koordinate um (ählich TFormPoint - nur als Vektor).

Wenn Quelle oder Ziel 0 sind, dann wird die globale Weltkoordinate benutzt.

Das Ergebnis dieser Transformation kann mit TFormedX, TFormedY und TFormedZ ermittelt werden.

Beispiel: Du möchtest ein Objekt 1 Schritt nach vorne bewegen (0,0,1). Das kann man so machen: MoveEntity obj,0,0,1. Wie würde das aber als globale Version aussehen, da der Vektor von Objektwinkel abhängig ist. Den Vektor kann man mit diesen Befehlen transformieren (siehe Beispiel). Dann kann ein Objekt auch mit TranslateEntity obj,x,y,z bewegt werden.


Beispiel

Standardbeispiel:

Graphics3D 640, 480
p = CreatePivot()
PositionEntity p, 10, 20, 30
TurnEntity p, - 5, - 15, 25

;Was würde passieren, wenn wir einen Schritt vorwärts
;machen würden? Lokaler Vektor dafür wäre: (0, 0, 1).
;Aber wir brauchen globale Version:

TFormVector 0, 0, 1, p, 0

Text 0, 00, "Vektor für 1 Schritt:"
Text 0, 20, TFormedX()
Text 0, 40, TFormedY()
Text 0, 60, TFormedZ()

;Nun machen wir diesen Schritt. Die neue Position
;sollte jetzt (10, 20, 30) plus Vektor sein.

MoveEntity p, 0, 0, 1

Text 200, 00, "Neue Position"
Text 200, 20, EntityX(p)
Text 200, 40, EntityY(p)
Text 200, 60, EntityZ(p)

Flip
WaitKey()
End


Siehe auch

TFormedX, TFormedY, TFormedZ, TFormNormal, TFormPoint

Übersicht 3D Grafik Transform