mathematische Ebenengleichung into Blitz3d
Übersicht

Wiko08Betreff: mathematische Ebenengleichung into Blitz3d |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
HI!
folgendes problem, an dem mich schon seit getsern mittag reibe: ich habe eine ebenegleichung der form: bspw. 2x1 - 2x2 - x3 - 10 = 0 (Normalenform), habe also den normalenvektor 2/-2/-1 ich möchte diese ebene nun in blitzbasic3d darstellen mit der richtige position und dem richtigen "winkel" als ebene nehme ich einfach einen cubus, den ich platt drücke und strecke. wie aber bekomm ich den winkel raus? meine überlegung war: den schnittwinkel mit den koordinaten ebenen x1-x2 bzw. x2-x3 auszurechnen und dann über rotateentity dann als yaw und pitch den eingeben. das funzt nicht! also, hat jemand bitte eine idee??? hier ist mein code ;die ebenengleichung der x2-x3 ebene lautet: (x-p)*(1/0/0) =0; n = (1/0/0) -> Schnittwinkel der angebenen Ebene mit x2-x3: Code: [AUSKLAPPEN] Alpha# = ACos# ( (n1*1 + n2*0 + n3*0)/ ( (Sqr(n1^2 +n2^2+n3^2)) * (Sqr(1 + 0 + 0)) ))
;die ebenengleichung der x1-x2 ebene lautet: (x-p)*(0/0/1) =0; n = (0/0/1) -> Schnittwinkel der angebenen Ebene mit x1-x2: Code: [AUSKLAPPEN] Beta# = ACos# ((n1*0 + n2*0 + n3*1)/ ( (Sqr(n1^2 +n2^2+n3^2)) * (Sqr(0 + 1 + 0)) ))
Code: [AUSKLAPPEN] RotateEntity Tangentialebene, beta#, alpha#,0
|
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das geht sehr viel einfacher, indem du die Skalare des Normalenvektors bei VectorPitch![]() ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder noch direkter mit AlignToVector![]() |
||
MrKeks.net |
Wiko08 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
HI
wie soll das mit vectorpitch gehen ich habe mir zwar schon die hilfe durchgelesen aber ich sehen nicht den zusammenhang zwischen meiner normalenformel (oder den scalaren) und dem befehl...?? danke |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie Mr. Keks schon sagte AlignToVector. Eine Ebene kann man durch den Normalvektor n und die Distanz d angeben. Um sie darstellen zu können, richtest du dein Quad mit AlignToVector in Richtung n aus und verschiebst dann mit MoveEntity das Quad vom Ursprung um d. Du brauchst dazu die Hessesche Normalform der Ebene wo für jeden Punkt P auf der Ebene P*n = d gilt.
mfg olli |
||
vertex.dreamfall.at | GitHub |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group