3d koordinaten -> 2d koordinaten

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/3d_koordinaten_gt_2d_koordinaten_17870/page_1 - zur Vollversion wechseln!


MetalBlade schrieb am 15.11.2001 um 22:03

wie das topic schon sagt, will ne 3d koordinaten auf ne 2d koordinaten (am bildschirm) abbilden. wär froh über ein paar einfache (schnelle) formeln, wenn möglich auch mit erklärung...

die ich früher verwendet habe waren zwar für kleine 'demos' ok, aber wenn das objekt zu nah an die kamera kommt wirds ziemlich unrealistisch verzogen : /


twistn@z schrieb am 15.11.2001 um 22:37

lol du brauchst formel fürs clipping oder?
weil bei pc-3dgfx normalerweise die z-achse nach 'innen' geht, also rein für die darstellung kannst du sie ignorieren.

wenns ums clipping oder irgendeine form von rendering geht ist es natürlich was anderes :D

also schreib was du genau brauchst und dann sehen wir weiter.

twistn@z


MetalBlade schrieb am 15.11.2001 um 22:58

hehe, na also es is ned >so< komisch verzogen wie du jez vielleicht glaubst :D - kein clipping problem, will einfach die 2d koordinaten fürn bilschirm von nem beliebigen punkt im 3dimensionalen raum haben.

so hab ichs immer gemacht, 320x200 (13h mode ;)):
screen_x=160+(3d_x*camera_distance)/((3d_z+camera_distance)+0.0001);
screen_y=100+(3d_y*camera_distance)/((3d_z+camera_distance)+0.0001);

die +0.0001 san nur dazu da um a division by zero zu verhindern...


i such ned nach irgendwelchen grossartigen sachen, nur nach anderen (einfachen) möglichkeiten...


noledge schrieb am 15.11.2001 um 23:01

hehe, immer noch voll auf ausgfallene sachen.. was wirds denn? jump & run 3d? mit leveleditor? *g*

noledge


MetalBlade schrieb am 15.11.2001 um 23:05

ein kahkcuf-killer-shooter in 3d natürlich ;)
na, is nur für a kleines flash skriptchen, nix aufregendens...
:)


noledge schrieb am 15.11.2001 um 23:09

Zitat von MetalBlade
ein kahkcuf-killer-shooter in 3d natürlich ;)

mah, mit #32-marines? :D
mah, des war eine der w00testen zeiten meines lebens :)

noledge


MetalBlade schrieb am 15.11.2001 um 23:14

Zitat von noledge
mah, des war eine der w00testen zeiten meines lebens :)

definitiv... war eine verdammt coole zeit damals, werd i sicher nie vergessn...
hast eh noch unser geniales 'last_hak' program? auf meiner '286er schreibmaschine isses noch immer drauf :)

MetalBlade (a proud member of I.N.A.K.)


bBU.CyTrobIc schrieb am 16.11.2001 um 08:57

kannst doch die "anti division durch 0" mit /1 umgehen, anstatt dieses +0.00001 zeugs ;)

is genauer :p


noledge schrieb am 20.11.2001 um 10:15

Zitat von MetalBlade
hast eh noch unser geniales 'last_hak' program? auf meiner '286er schreibmaschine isses noch immer drauf :)

jo, auf irgendeiner disk isses noch drauf... :)
compiled am letzten schultag auf dem rechner, den wir in der pause wegen dem bios-passwort zerlegt haben *rofl*

wirst du richtig antworten wenn ich jetzt was sage? :)

PSIG! :D

noledge


MetalBlade schrieb am 22.11.2001 um 10:35

VG :D

und übrigends... psigdgdpadmmnkpuss!


Ringding schrieb am 22.11.2001 um 17:38

Normalerweise macht man das mit 4x4 Matrizen. Gibt haufenweise gute Beispiele und Tutorials für sowas. Ich hab's aus dem cube Beispiel vom SDK für WinG von Microsoft gelernt, der gleich Code ist auch in irgendeinem DirectX SDK Sample drin, cube3d oder so ähnlich heißt's dort.


Lactobacillus schrieb am 22.11.2001 um 18:14

Ich hab da

-- snip --
2DX = 3DX / 3DZ
2DY = 3DY / 3DZ
-- snip --

Schaut irgendwie primitiver aus als die anderen :D

Lactobacillus


DirtyHarry schrieb am 22.11.2001 um 20:42

Wie war das nochmal?


y' = (a*y)/z
x' = (a*x)/z

wobei a der abstand des auges zum bildschirm ist, z die 'tiefe' des objektes 'hinter' dem bildschirm, was jetzt aber mit x und y gemeint ist..... keine ahnung ;)

supi wars in assembler wennst für a eine zweierpotenz genommen hast, dann konnte man die multiplikation durch shiften (SHL/SHR) enorm beschleunigen....

ciao

Harry


MetalBlade schrieb am 22.11.2001 um 23:48

thx, die formeln sind meiner im prinzip eh ziemlich ähnlich/gleich...

@ringding - jo des mit den matrizen ist mir bekannt, damit berechnet ma aber eher die drehungen, oder?


Ringding schrieb am 23.11.2001 um 00:32

Da geht gleich alles auf einmal, das ist ja das w00te dran. Drehung, Skalierung, Perspektive, Translation - alles was du willlst.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025