| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| mushroom powered Registriert seit: Jun 2005 Ort: Amsterdam
Beiträge: 2.649
| [PV3D] 2D Koordinaten eines 3D Punktes
Hey, komme gerade nicht wirklich auf einen gruenen Zweig. Ich brauche den Projektions Punkt einens 3D-Punktes auf meinem Viewport, ich kann das ja so machen: PHP-Code: ich bin einfach nur auf der Suche nach ner Funktion wo ich die Kamera und meinen 3DPunkt reinschmeisse und ich den 2D Projektionspunkt bekomme. Aber Papervision scheint das nicht implementiert zu haben. Gruss b.asile |
| | |
| | #3 (permalink) |
| mushroom powered Registriert seit: Jun 2005 Ort: Amsterdam
Beiträge: 2.649
|
Ja der ist in der Scene, aber das will ich vermeiden, da es nicht noetig ist. Ausserdem muss ich dann fuer jeden Punkt den ich berechenen will ein Objekt in der Szene haben. Aber da ich zwischen den Renders nicht weiss wieviele Punkte ich habe ist das auch ein Problem. Daher suche ich nach einem rein mathematischen Loesungsweg. Doch der Code hier http://osflash.org/pipermail/papervi...st/010225.html gibt mir auch nur falsche Werte aus. |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Nov 2005
Beiträge: 548
|
Wie du erkannt hast, werden erst beim Rendern bestimmte Werte berechnet, die für die Screenkoordinaten wichtig sind. In diesem Fall wird unbedingt camera.eye und object.view (beides vom Typ Matrix3D) benötigt. Deren Berechnung kann man auch ohne Render-Aufruf "erzwingen": ActionScript:
Damit brauchst du nicht mehr je Punkt ein eigenes Objekt, sondern kannst dasselbe Objekt in einer Schleife immer neu positionieren und die Screen-Werte berechnen lassen (Zeile 3-7). Es geht sogar ohne den Overhead von DisplayObject3D, allerdings ohne Gewähr, da hier bestimmte Einstellungen einfach ignoriert werden. Für Standard-Szenen sollten jedoch dieselben Werte rauskommen wie oben bzw. wie mit Render-Aufruf: ActionScript:
|
| | |
| | #5 (permalink) |
| mushroom powered Registriert seit: Jun 2005 Ort: Amsterdam
Beiträge: 2.649
|
Danke, funktioniert soweit. Jetzt muss ich aber noch den transform von dem parent DisplayObject mit reinbekommen. Mit multiply liege ich da glaub ich falsch: PHP-Code: |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Nov 2005
Beiträge: 548
|
in der DisplayObject3D-Klasse (function project) wird dies hier multipliziert (Reihenfolge spielt eine Rolle): this.world.calculateMultiply( parent.world, this.transform ); vielleicht reicht dir der Hinweis ja schon, ich kanns jetzt nicht durchprobieren. |
| | |
| | #7 (permalink) |
| mushroom powered Registriert seit: Jun 2005 Ort: Amsterdam
Beiträge: 2.649
|
Perfekt. PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |