1
3D
- pe scurt -
- Cum se pot transforma coordonatele 3D in 2D,
pentru a putea fi afişate pe ecran?
Sa presupunem ca vrem sa desenam o linie care are
următoarele coordonate 3D: (x1, y1, z1, x2, y2, z2). Linia va trebui sa
fie desenata de la punctul (x1, y1, z1) la punctul (x2, y2, z2).
Limbajele de programare, in general, nu accepta
decât coordonate in x si y. In exemplul nostru va trebui sa transformam
(x1, y1, z1) in (rx1, ry1), respectiv (x2, y2, z2) in (rx2, ry2).
Formulele de transformare a coordonatelor 3D in 2D:
rx1 = x1 * cos(alpha) – y1
* sin(alpha);
ry1 = x1 * sin(alpha) + y1
* cos(alpha);
ry1 = ry1 * sin(beta) + z1 *
cos(beta);
De asemenea:
rx2 = x2 * cos(alpha) – y2
* sin(alpha);
ry2 = x2 * sin(alpha) + y2
* cos(alpha);
ry2 = ry2 * sin(beta) + z2 *
cos(beta);
Unde:
alpha = unghiul din planul XoY;
beta = unghiul din planul
ZoY sau ZoX;
Acum linia va putea fi desenata fără – teoretic -
nici o problema.
Unghiurile alpha si beta. Un cub construit după
formulele de mai sus, plus liniile din spate colorate diferit de cele
din fata.
Cele mai ok referate! www.referateok.ro |