Forum de Programmation en langage PANORAMIC
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Mots-clés

Moiré  Panoramic  esthetique  fougère  

Derniers sujets
»  Exemple de menu
Lun 26 Juin - 22:36 par Admin

» Utilisation du caractère Ampersand (&) dans un caption
Lun 26 Juin - 22:32 par Admin

» TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE
Ven 23 Juin - 0:59 par Admin

» RECHERCHE DICHOTOMIQUE DANS UN TABLEAU TRIE
Ven 23 Juin - 0:46 par Admin

» Table de multiplication
Ven 23 Juin - 0:44 par Admin

» Quelle heure est-il ?
Mar 20 Juin - 3:32 par Admin

» Fonctions de la user32.dll
Dim 18 Juin - 14:56 par Admin

»  Biomorphes de PICKOVER
Dim 18 Juin - 0:35 par Admin

» En moins de 10 lignes de code : Effet spectaculaire !
Ven 16 Juin - 2:13 par Admin

Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  

Calendrier Calendrier


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

Voir le sujet précédent Voir le sujet suivant Aller en bas

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

Message par 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
Admin
Admin

Messages : 58
Date d'inscription : 08/09/2015
Age : 66
Localisation : MOKNINE (Tunisie)

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

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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