Partikle engine - teilchen ausrichtung



  • TGGC schrieb:

    Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Wolfenstein gibt es nicht.
    Es gibt "Wolfenstein 3D" und "Return To Castle Wolfenstein". Letzteres nutzt durchaus tiefergehende Hardwareunterstützung zur Visualisierung.



  • @Sgt. Nukem:
    'Tschuldigung, ich meinte das zitierte Wolfenstein 3D. Das verwendet die Raycasting Technik, ist ja sicher bekannt.

    @xroads:
    Allein der Sonderfall der kollinearen Vektoren reicht, damit deine Aussage flasch ist. Da jeder Vektor senkrecht auf 2 Vektoren steht, wäre diese Eigenschaft ohnehin trivial.

    Lies bitte im Zusammenhang. Es ging um die Erscheinung eines Partikels, der als Quadrat gerendert wird. Das schliesst weitere Anwendungen für eine Normale nicht aus.

    Bye, TGGC \-/



  • TGGC schrieb:

    @xroads:
    Allein der Sonderfall der kollinearen Vektoren reicht, damit deine Aussage flasch ist. Da jeder Vektor senkrecht auf 2 Vektoren steht, wäre diese Eigenschaft ohnehin trivial.

    Lies bitte im Zusammenhang. Es ging um die Erscheinung eines Partikels, der als Quadrat gerendert wird. Das schliesst weitere Anwendungen für eine Normale nicht aus.

    Bye, TGGC \-/

    den zusammen hang kenn ich, ich bin ersteller dieses threads. Und ich nehme die normale(die sekrecht auf der ebene des quadrates steht) um den winkel zur kamera zu bestimmen, um dann festzustellen wie weit ich mein quadrat zu drehen hab, damit es wieder zur kammera ausgerichtet ist.
    und ich wollte wissen ob man das so, oder anders macht.

    Und du hast weitere anwenugen ausgeschlossen. ließ mal deine eigene aussagen.

    Übrigens meine aussage ist nicht flasch. da ich die paralellen vektoren raus genommen hab. Wenn man sowas nicht in der mathematik machen dürfte... dann sähe unsere welt gaaanz anders aus 😃



  • Ich würde es anders machen, wie oben beschrieben.

    Du hast den Zusammenhang nicht erkannt. Dafür ist es ohnehin irrelevant, wer den Thread eröffnet hat. In dem in meinem Post zu findenden Zitat war von der Erscheinung des Partikels die Rede. Darauf habe ich mich bezogen.

    xroads42 schrieb:

    Die normale ist mathematisch so definiert das sie senkrecht auf 2 Vektoren steht, und somit einen ebene definiert.

    Nein, hast du nicht. Verdrehe bitte nicht die Tatsachen.

    Bye, TGGC \-/



  • was ich da früher schrib, ist für das normale Lochkamera Model unrichtig,
    Damit ein Quadrat auch als Quadrat abgebildet wird muss man nur dafür sorgen das die Bildebene parallel zur Objectebene ist, bei grösseren Öffnungswinkel der Kamera werden die "Partikel" nur kleiner abgebildet.

    \[ x_{bild} = m*X_{welt}/Z_{welt}\] \[ y_{bild} = m*Y_{welt}/Z_{welt}\] d.h. wenn \[m/Z_{welt}=konst.\] dann haben wir eine Winkeltreue abbildung

    die Normale zu einer Ebene ist:
    Die Vielfachheit aller Vektoren n für welche gild:
    für zwei beiebige Vektoren a,b mit a!=b , a und b != {0} in der Ebene
    ist a*n=b*n=0;

    dies gild auch für -n

    \[a*-n=b*-n=0;\] \[-a_{x}\*n_{x}-a_{y}\*n_{y}-a_{z}*n_{z}=0\] \[-1*(a_{x}\*n_{x}+a_{y}\*n_{y}+a_{z}*n_{z})=0\] alles durch -1 teilen und wir haben \[a*n=0;\]

    und auch für n*faktor

    \[a\*fac\*n=b*facn=0;\] \[fac\*a_{x}\*n_{x}+fac\*a_{y}\*n_{y}+fac\*a_{z}\*n_{z}=0\] \[fac*(a_{x}\*n_{x}+a_{y}\*n_{y}+a_{z}*n_{z})=0\] alles durch fac teilen und wir haben \[a*n=0;\]

    das zeigt unter anderem das es unendlich viele Vektoren gibt welche man als Normale einer ebene bezeichnen kann.

    btw nicht "alle" Vektoren stehen zu zwei parallelel Vektoren senkrecht.
    richtig ist "unendlich viele"



  • TGGC schrieb:

    @Sgt. Nukem:
    'Tschuldigung, ich meinte das zitierte Wolfenstein 3D. Das verwendet die Raycasting Technik, ist ja sicher bekannt.

    Aber sicher. Mein DX Port ist leider nie fertig geworden... 😞 😡 🙄



  • TGGC schrieb:

    Ich würde es anders machen, wie oben beschrieben.

    ja, dann erzähl mir doch wie?! oder geb mir ein link, oder ein stichwort. weil ohne stichwort hilft eine dein ach so geliebtes google auch nicht.

    und in eine anderen posting habe ich ausgeschlossen, dass die vektoren parallel sind.



  • b7f7 schrieb:

    Die Vielfachheit aller Vektoren n für welche gild:
    für zwei beiebige Vektoren a,b mit a!=b , a und b != {0} in der Ebene
    ist a*n=b*n=0;

    Falsch. Die Normale ist kein Vektor, sondern eine Gerade. Deine Definition hingegen würde jeder beliebige Vektor erfüllen.

    Ich sagte, das jeder Vektor zu 2 Vektoren senkrecht ist. Dies ist korrekt aber auch trivial oder glaubst du es erst mit einem Beweis?

    @Sgt. Nukem:
    Na da wäre die Grafik doch ehh das geringste Problem. Aber ich nehme mal an das die "id"-Physik schon damals Spitze war, wo es heute manche immer noch nicht hinbekommen, das man ohne Hängenbleiben an 'ner Wand lang slided. 😎

    xroads42:
    Ok, ich lass es sein. Ich habe es oben doch schon beschrieben.

    Also war deine Aussage war flasch und du musstest sie korrigieren und diese Bedingung einführen. Nur um nochmals darauf hinzuweisen. Meine Aussage: wahr. Deine Aussage: flasch. 😎

    Und wenn du mir keinen Glauben schenkst, dann probier es einfach aus. Erstelle 4 Vertizen, die im Quadrat angeordnet sind. Setze zufällige Normalen, am besten gleich 4 verschiedene. Dann lass dir das Ganze rendern, die Form des Polygons wird immer gleich sein...

    Viel Spaß noch damit, TGGC \-/



  • TGGC schrieb:

    b7f7 schrieb:

    Die Vielfachheit aller Vektoren n für welche gild:
    für zwei beiebige Vektoren a,b mit a!=b , a und b != {0} in der Ebene
    ist a*n=b*n=0;

    Falsch. Die Normale ist kein Vektor, sondern eine Gerade. Deine Definition hingegen würde jeder beliebige Vektor erfüllen.

    Ich sagte, das jeder Vektor zu 2 Vektoren senkrecht ist. Dies ist korrekt aber auch trivial oder glaubst du es erst mit einem Beweis?

    ...

    Viel Spaß noch damit, TGGC \-/

    seit wan ist die Normale zu einer ebene kein Vektor?
    schreibst du die Mathematik grad neu?
    wie senkrecht ist {1,1} zu {0,1}???

    also 2 Vektoren sind dann senkrecht wenn der winkel zwischen ihnen 90° ist.
    mal der Cosinussatz

    \[c^2=a^2+b^2+2\*a\*b*cos(\alpha)\] \[\stackrel{\rightarrow}{c} = \stackrel{\rightarrow}{a}+\stackrel{\rightarrow}{b}\] \[\left\| \stackrel{\rightarrow}{a} \right\| = \sqrt{a_{x}^2+a_{y}^2} \] \[ a=\left\| \stackrel{\rightarrow}{a} \right\| \] \[ b=\left\| \stackrel{\rightarrow}{b} \right\| \] \[ c=\left\| \stackrel{\rightarrow}{c} \right\| \] \[ c^2-a^2-b^2=2\*a\*b*cos(\alpha) \] \[ \left ( \left\| \stackrel{\rightarrow}{c} \right\|\right )^2-\left (\left\| \stackrel{\rightarrow}{a} \right\|\right)^2-\left(\left\| \stackrel{\rightarrow}{b} \right\|\right)^2=2*\left\| \stackrel{\rightarrow}{a} \right\|*\left\| \stackrel{\rightarrow}{b} \right\|*cos(\alpha) \] \[ (a_{x}+b_{x})^2+(a_{y}+b_{y})^2 - (a_{x}^2+a_{y}^2) - (b_{x}^2+b_{y}^2) = 2*\left\| \stackrel{\rightarrow}{a} \right\|*\left\| \stackrel{\rightarrow}{b} \right\|*cos(\alpha)\] \[ 2\*a_{x}\*b_{x}+ (a_{x}^2+b_{x}^2) + 2\*a_{y}\*b_{y}+ (a_{y}^2+b_{y}^2) \- (a_{x}^2+a_{y}^2) - (b_{x}^2+b_{y}^2) = 2*\left\| \stackrel{\rightarrow}{a} \right\|*\left\| \stackrel{\rightarrow}{b} \right\|*cos(\alpha)\] \[ 2\*a_{x}\*b_{x} + 2\*a_{y}\*b_{y} = 2*\left\| \stackrel{\rightarrow}{a} \right\|*\left\| \stackrel{\rightarrow}{b} \right\|*cos(\alpha)\] \[ \frac{a_{x}*b_{x} + a_{y}*b_{y}} {\left\| \stackrel{\rightarrow}{a} \right\|*\left\| \stackrel{\rightarrow}{b} \right\|}=cos(\alpha)\] \[ \frac{a_{x}*b_{x} + a_{y}*b_{y}} {\left\| \stackrel{\rightarrow}{a} \right\|*\left\| \stackrel{\rightarrow}{b} \right\|}=0 \ ,\ \forall \left(a,b\right)\neq \left(0 \right)\] \[ a_{x}*b_{x} + a_{y}*b_{y}=0\]

    Was zeigt das meine Behauptung beweisbar ist



  • TGGC schrieb:

    xroads42:
    Ok, ich lass es sein. Ich habe es oben doch schon beschrieben.

    Also war deine Aussage war flasch und du musstest sie korrigieren und diese Bedingung einführen. Nur um nochmals darauf hinzuweisen. Meine Aussage: wahr. Deine Aussage: flasch. 😎

    Und wenn du mir keinen Glauben schenkst, dann probier es einfach aus. Erstelle 4 Vertizen, die im Quadrat angeordnet sind. Setze zufällige Normalen, am besten gleich 4 verschiedene. Dann lass dir das Ganze rendern, die Form des Polygons wird immer gleich sein...

    habe ich jeh was vom zufälligen setzen gesagt, oder das wenn ich die normale veränder sich die orientierung meines quadrates autoamtisch verändert??? nö! wäre auch unlogisch. aber wenn ich eine normale veränder kann ich aus dieser veränderung schließen wie ich die ebene verändern muss, damit die normale auch weiterhin darauf senkrecht steht ( weil sonst wäre sie keine normale mehr, selbst nach deiner tollen definition, für die ich noch keinen beleg (im gegensatz zu meiner definition) gesehn habe)
    und deine aussage: ( man nutzt normalen nur zur belichtungsrechnung) falsch. meine aussage( man kann normalen noch zu mehr nuzten): richtig.

    übrigens hast du mir immernoch nicht erklärt, wie du das problem lösen würdest. Oder weißt du das gar keine bessere lösung, und machst nur einen auf schlau? Bist ja auch der held. genau!



  • die Lösung ist eigentlich ganz einfach
    gesucht: Wie bilde ich Quadratische Objekte im R³ als quadratische Objekte im R² ab?
    Lösung: Das Objekt mus Paralel zur Bildebene stehen.
    Normale zur Bildebene ist die Blickrichtung der Kamera.
    d.h. deine Objekte müssen alle die gleiche Normale wie die Kamera haben.



  • b7f7 schrieb:

    die Lösung ist eigentlich ganz einfach
    gesucht: Wie bilde ich Quadratische Objekte im R³ als quadratische Objekte im R² ab?
    Lösung: Das Objekt mus Paralel zur Bildebene stehen.
    Normale zur Bildebene ist die Blickrichtung der Kamera.
    d.h. deine Objekte müssen alle die gleiche Normale wie die Kamera haben.

    ja, danke. auf die lösung bin ich ja auch gekommen 🙂

    Aber ich möchte doch soooooooooooooo gerne noch die lösung unseres suuuuper tollen gottähnlichen helden sehen.
    Aber dafür bin ich wohl nicht würdig genug 😞 muss ich halt dumm sterben. kann ja nicht mal richtig google benutzen. Meine dummheit kotzt TGGC bestimmt schon wieder an. Das macht mich ja sooo traurig *schnief*.
    Das ist übrigens kein automatisch erzeugtes posting. Sowas kann ich nähmlich nicht. bin ich zu dumm für.

    [OT&FLAME/]

    [edit=rapso/]



  • ich denke du meinst vertex shader?


  • Mod

    TGGC schrieb:

    @rapso:
    Wenn man schon die Vertizen hat, braucht man ja ehh nur noch normales Texturemapping nehmen. 😎

    Bye, TGGC \-/

    das bestreite ich nicht, ich freue mich nur über die neuen shader, in dx-next soll es sogar unlimited texture reads aus den pixelshadern geben, zur zeit bei oGL sind es wohl 512, damit könnte man schon sowas machen. (also raycasting, für full-3d wäre das eh suboptimal)

    rapso->greets();


Anmelden zum Antworten