Witka!

Pytanie do koderow (tudziez programistow :) - Macie jakies ciekawe, dobre opisy jak rzucic punkt w 3d na plaszczyzne? Chodzi mi glownie o wzory z wyjasnieniem.

Pozdrawiam,
Black Dot

:: Falling Man Games :: http://fmg.servegame.com :: Macroh Masheen :: http://www.macrohmasheen.com ::

2

x2,y2,z2 - wsp 3d po obrotach itp
px,py - wsp X,Y na ekranie
reszte wyczujesz


x4:=x2;
y4:=y2+vy+dd;
z4:=z2;

px:=round(-x4/y4*d)+dx
py:=round(-z4/y4*d)+dy


...szybkie to to nie jest

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

3

Hej Blackdot!

Nie jestem znawcą podobnych kwestii, ale interesujący Cię wzór posiadam. Oto jego treść:

X = A - C * (X - A) / (Z - C)
Y = B - C * (Y - B) / (Z - C)

A B C to odpowiednio współrzędne X Y Z "obserwatora" przy czym wartość C ma wartość ujemną i określa głębię perspektywy (to może mało precyzyjne określenie), a wartości A i B zwykle wyznaczają środek ekranu, co jednak może być rozwiązane inaczej.
X Y Z to współrzędne punktu 3d, które chcesz przekształcić na wartości dwuwymiarowe.

4

Dzieki wielkie :)

Wysle Wam cos jak napisze ;)

Pozdrawiam,
Black Dot

:: Falling Man Games :: http://fmg.servegame.com :: Macroh Masheen :: http://www.macrohmasheen.com ::

5

E=McMaster^2  :P
Może to pomoże?

don't come after... please don't follow me along. when you read this, i'll be gone...

6

Skąd macie te wzory??

xs = xc + w * x / z
ys = yc + w * y / z

Osie 3D: x w prawo, y w dol, z w glab. Srodek ukladu na srodku ekranu.
(xc,yc) - polozenie punktu zbiegu perspektywy na ekranie (zazwyczaj srodek ekranu), w - okresla skalowanie. Np. jesli mamy kat widzenia w poziomie 90 stopni, to w=rozdzielczoscX/2.
Jesli obracamy szescianik wokol (0,0,0) to trzeba oczywiscie przesunac go w glab przed zrzutowaniem - zamiast przez z dzielimy przez (z+d).

https://www.youtube.com/watch?v=jofNR_WkoCE

7

ehh..

E=McMaster^2

to betka:
cytuje kolege einsteina:

eru
wnasie
emce
kwadrat

:)

: 404. Stopka not found

8

I w ten oto sposób nasz PowerPuff ERU uratował świat przed zagładą, pokonując zło i występek.
8)

don't come after... please don't follow me along. when you read this, i'll be gone...