Referate Meniu
Astronomie
Biologie
Chimie
Desen
Diverse
Drept
Economie
Engleza
Filozofie
Fizica
Franceza
Geografie
Germana
Informatica
Istorie
Italiana
Marketing
Matematica
Medicina
Muzica
Psihologie
Romana
Romana1
Spaniola


 


referat, proiect, rezumat, caracterizare, lucrare de nota 10 despre:

3D

3D

- pe scurt -

45161vme17dnx7t

 

45161vme17dnx7t

 

- Cum se pot transforma coordonatele 3D in 2D, pentru a putea fi afisate pe ecran?

Sa presupunem ca vrem sa desenam o linie care are urmatoarele 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 decat 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). mn161v5417dnnx

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 fara – teoretic - nici o problema.

Unghiurile alpha si beta. Un cub construit dupa formulele de mai sus, plus liniile din spate colorate diferit de cele din fata.

 

45161vme17dnx7t