Forum de Programmation en langage PANORAMIC
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Mots-clés

fichiers  

Derniers sujets
» Useful Dog
Ven 6 Avr - 14:25 par Papydall-Admin

» Les Courbes de Bézier cubiques
Ven 30 Mar - 4:08 par Papydall-Admin

» Animation flash
Mer 14 Mar - 2:50 par Papydall-Admin

» Mega-Strip
Lun 12 Mar - 1:24 par Papydall-Admin

» Les oiseaux de mon jardin
Ven 9 Mar - 1:08 par Papydall-Admin

»  Création et gestion d’un livre
Jeu 8 Mar - 15:37 par Papydall-Admin

» Deux questions d’éthique
Mar 6 Mar - 1:56 par Papydall-Admin

»  La Blague Du Jour
Lun 5 Mar - 2:50 par Papydall-Admin

» Branle-Fesse
Lun 5 Mar - 2:46 par Papydall-Admin

Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930

Calendrier Calendrier


Formules de passage de la 3D vers l'écran

Aller en bas

Formules de passage de la 3D vers l'écran

Message par Papydall-Admin le Jeu 13 Oct - 4:33

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 ============================================================================

_________________
Invité, merci d'être passé par ici.
avatar
Papydall-Admin
Admin

Messages : 94
Réputation : 0
Date d'inscription : 08/09/2015
Age : 68
Localisation : MOKNINE (Tunisie)

Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum