Formules de passage de la 3D vers l'écran
Page 1 sur 1
Formules de passage de la 3D vers l'écran
- Code:
rem ============================================================================
' Formules de passage de la 3D vers l'écran
' Par Papydall
rem ============================================================================
rem Xecran = Xorogine + A * (x - y)
rem Yecran = yorigine - B * (x + y) - C * z
rem Avec :
rem A = zoom / sqr(2)
rem B = zoom * sin(alfa) / sqr(2)
rem C = zoom * cos(alpha)
rem ============================================================================
' Equation du plan de projection
rem ============================================================================
rem x + y - c1*z avec c1 = sqr(2) * tan(alfa)
rem ============================================================================
dim alfa,a,b,c,c1,zoom,phi,lambda,xo,yo,x,y,z,xe,ye,r
alfa = pi/4 : c1 = sqr(2)*tan(alfa)
xo = 320 : yo = 240 : r = 100 : zoom = 2
a = zoom/sqr(2) : b = zoom * sin(alfa)/sqr(2) : c = zoom * cos(alfa)
color 0,0,0,0 : display
caption 0,"Veuillez patienter .... <CLICK> pour arrêter"
for phi = 0 to 2*pi step pi/25 : ' méridiens
for lambda = 0-pi/2 to pi/2 step 0.001
' Equation paramétrique de la sphère
x = r * cos(lambda) * cos(phi) : ' Coordonnées ...
y = r * cos(lambda) * sin(phi) : ' ... sphériques ...
z = r * sin(lambda) : ' .... de la sphère
xe = xo + a*(x-y) : ye = yo - b*(x+y) - c*z : ' Coordonnées du point à l'écran
if x+y-c1*z < 0 : ' Le point est-il visible ?
2d_pen_color 255,255,0 : ' Oui ---> le tracé sera en jaune
else
2d_pen_color 255,0,0 : ' Non, le point est caché ---> le tracé sera en rouge
end_if
2d_point xe,ye :' Afficher le point à l'écran
if scancode <> 0 then caption 0,"Arrêté par l'utilisateur ... " : end
next lambda
next phi
caption 0,"Terminé"
rem ============================================================================
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Lun 1 Jan - 0:25 par Papydall-Admin
» A ceux qui célèbre Noël, bonnes fêtes
Dim 24 Déc - 10:49 par Papydall-Admin
» Joyeux Noël et Bonne Année
Ven 8 Déc - 1:34 par Papydall-Admin
» Planets of the Solar System : Tilts and Spins
Lun 20 Mar - 15:43 par Papydall-Admin
» Bonne Année 2023
Sam 31 Déc - 1:39 par Papydall-Admin
» Fractals - Mandelbrot
Ven 21 Aoû - 22:51 par Papydall-Admin
» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
Mer 21 Nov - 1:08 par Papydall-Admin
» Balises {USER...}
Lun 19 Nov - 22:12 par Papydall-Admin
» Useful Dog
Ven 6 Avr - 14:25 par Papydall-Admin