Schnittpunkt Strahl/Zylinder < Vektoren < Lin. Algebra/Vektor < Oberstufe < Schule < Mathe < Vorhilfe
|
Ich weiß, dass so eine Frage schon mal gestellt wurde, aber offensichtlich gings dabei irgendwie um spezielle Zylinder.
ich brauche aber quasi ALLE Zylinder, den ich will einen Raytracer programmieren.
Ich hab das übrigens wie man sieht, net so toll mit den Formeln hinbekommen "x" soll Skalarprodukt sein, große buchstaben Vektoren, kleine Buchstaben zahlen und "*" ist wenn man Vektor mit Zahl skalieren will.
Also, ich habe mir eine Zylindergleichung überlegt. Auf einem Zylinder ist ja jeder Punkt, der von der Mittelgerade einen bestimmten Abstand hat.
Mittelgerade:
X=+s*R
Nun braucht man ja das s, das am nähesten an einem Punkt P ist. Mit der senkrechte ist dann ja
s= PxR - OxR / RxR //da R normalisiert:
s=PxR-OxR
jetzt ist die Entfernung die Verbindugn von P nach dem Punkt auf der Mittelgerade an der Stelle s
(P- (O+ (PxR-OxR)*R))²=d²
so, wenn ein Punkt P diese Gleichung erfüllt, liegt er auf dem Zylinder, richtig?
P ist nun aber meine Strahlengleichung
P=U+ t*D
Dass muss ich nun nur noch einsetzen und nach t auflösen:
(P- (O+ ((U+ t*D)xR-OxR)*R))²=d²
So, prinzipiell ist alles gegeben und ich müsste das nach t auflösen können.
Aber wie man sieht, extrem viele Klammern, und dumemrweise brauche ich eine allgemeine Lösung, da wie gesagt dass ganze für einen Raytracer ist.
Hätte ich t könnte ich damit ja auch sehr einfach wieder s bestimmen, und so könnte ich abgeschnittene Zylinder machen, also welche die nicht unendlich lang sind, indem s nur bestimmte Werte haben kann usw...
Aber ich hab jetzt das Monsterding shcon 3mal gerechnet und alles was raus kam hat net funktioniert, bzw. sehr komsiche Bilder geliefert. Das doofe ist, dass ist ja Vektorrechnung, da sind ja zig Skalarprodukte drinne.
Gibts dafür schon ne Formel? Oder hat irgendjemand irgendsoein intelligentes Programm, dass das nach t auflösen kann?
ich würde das nämlich schon recht gerne einbauen, aber die Gleichung ist einfach zu schwer für mich :-(
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 03:37 Di 13.03.2007 | Autor: | leduart |
hallo
Deine Schreibweise, wo man zwischen Punkten, Vektoren und skalaren nicht unterscheiden kann ist so schwer zu verstehen, dass ich auch beim 4. Versuch nicht durchgestiegen bin.
Was willst du genau? ein vorgegebener Zylinder? welche lage im Raum? ausserdem punkte im Raum mit nem Abstand zu dem Zylinder, fast alles ist -zumindest mir- unklar, und da sich auch sonst niemand zu ner Antwort bewegt hat ist das wohl allgemein. Also versuch mal genau zu schildern, du sprichst von was aenlichem hier im forum, gib das URL und sag, was du mehr willst, oder versuchs noch mal anders.
Gruss leduart
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:20 So 18.03.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|