FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Problème de compilateur.
par Pedro Alvarez Hier à 20:01

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par Pedro Alvarez Hier à 19:54

» Pb 17 (en analyse): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» Compilateur FBPano
par Mike Jeu 17 Aoû 2017 - 13:52

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Mer 16 Aoû 2017 - 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Tracé d'un ellipsoïde

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

avatar

Nombre de messages : 5508
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Tracé d'un ellipsoïde   Mar 22 Mar 2016 - 7:31

Code:

rem ============================================================================
rem                  Ellipsoïde
rem ============================================================================

Init()
Calcul()
caption 0,"Terminé"
end
rem ============================================================================
SUB Init()
    dim a,b,c,x,y,z,z1,z2,xc,yc,u1,v1, alfa,beta,zoom,u(3),v(3),w(3),xp(3)
    width 0,1000 : height 0,800 : color 0,0,255,255
    picture 10 : width 10,width(0)-100 : height 10,height(0)-100
    top 10,20 : left 10,50 : 2d_target_is 10 : 2d_clear : 2d_pen_color 255,0,0
    color 10,0,0,0
    degrees
    caption 0,"Veuillez patienter           <ESC> pour arrêter"
    xc = width(10)/2 : yc = height(10)/2
    Alfa = 22.5 : ' pi/8
    Beta = 45   : ' pi/4
    Zoom = 25   : z1 = zoom/width(10) : z2 = zoom/height(10)
    u(1) = COS(Alfa) * COS(Beta) : u(2) = SIN(Alfa) * COS(Beta) : u(3) = SIN(Beta)
    v(1) = 0-SIN(Alfa) : v(2) = COS(Alfa) : v(3) = 0
    w(1) = 0-COS(Alfa) * SIN(Beta) : w(2) = 0-SIN(Alfa)* SIN(Beta):w(3)= COS(Beta)
END_SUB
rem ============================================================================
SUB Calcul()
    for u1 = 0 to 360/2 step 2      : ' modifier le step selon la vitesse
        if u1 = 0 then 2d_pen_color 0,0,0 :else : 2d_pen_color 255,0,0
        for v1 = 1 to 360  step 2  : ' ou le finesse du tracé
            Ellipsoide(20,20,30)
          '  Ellipsoide(10,20,30)
          '  Ellipsoide(20,20,5)
          '  Ellipsoide(5,5,10)
          '  Ellipsoide(10,10,10)
          '  Fonction(20,15,5)
            Tracer()
            if scancode = 27 then terminate
       next v1
    next u1
END_SUB
rem ============================================================================
SUB Tracer()
    dim_local xe,ye
    xp(1) = u(1) * x + u(2) * y + u(3) * z
    xp(2) = v(1) * x + v(2) * y + v(3) * z
    xp(3) = w(1) * x + w(2) * y + w(3) * z
    xe = xc * xp(2) * z1 + yc : ye = yc *(1-xp(3) * z2)
    2d_poly_to xe,ye : display
END_SUB
rem ============================================================================
' Ellipsoïde
' Si a = b : ellipsoïde de révolution applati (forme de galet ou de soucoupe volonte)
' Si b = c : ellipsoïde de révolution allongé (forms de ballon de rugby ou de cigare)
' Si a = b = c : Sphère
SUB Ellipsoide(a,b,c)
    X = a * cos(v1) * cos(u1)
    Y = b * cos(v1) * sin(u1)
    Z = c * sin(v1)
END_SUB
rem ============================================================================
SUB Fonction(a,b,c)
    x = a*sin(u1)*cos(v1)
    y = b*sin(u1)*sin(v1)
    z = c*cos(u1)*log(u1+1)
END_SUB
rem ============================================================================



Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Ouf_ca_passe

avatar

Nombre de messages : 192
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Not correct expression   Mar 22 Mar 2016 - 11:15

Bonjour Papydall

Ton code sur l'ellipsoïde s'arrête à degrees. Enfin, sur mon ordi !
Ca le faisait déjà sur d'autres codes que tu as postés.

(48) not correct expression

Au plaisir de te lire.
Cordialement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5508
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Tracé d'un ellipsoïde   Mar 22 Mar 2016 - 15:09

Bonjour / bonsoir Ouf_ca_passe
ouf_ca_passe a écrit:
Ton code sur l'ellipsoïde s'arrête à degrees. Enfin, sur mon ordi !
Ca le faisait déjà sur d'autres codes que tu as postés.

Eh bien ça ne passe pas chez toi, tout simplement parce que tu utilises (encore) une version ancienne de Panoramic qui ne reconnait pas l’instruction DEGREES. Cette dernière est  implémentée depuis la version V 0.9.27i2.

Ce que tu peux faire :
1) Te mettre à jour en téléchargeant la dernière version de Panoramic_Editor.
2) ou, tu modifies le code pour utiliser les radians au lieu de dégrés.

Comme tu es gentil, voici le code modifié : il tournera sur ton ordi , parole de Papydall.

Code:

rem ============================================================================
rem                  Ellipsoïde
rem    code à utiliser pour une version inférieure à V 09.27i2
rem ============================================================================

Init()
Calcul()
caption 0,"Terminé"
end
rem ============================================================================
SUB Init()
    dim a,b,c,x,y,z,z1,z2,xc,yc,u1,v1, alfa,beta,zoom,u(3),v(3),w(3),xp(3)
    dim pi2,p
' &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    dim pi   : ' si votre version de Panoramic_Editor est antérieure à V0.9.27i2
'                laissez cette ligne.
'                Sinon supprimez-la ou mettez-la en REM
' &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    width 0,1000 : height 0,800 : color 0,0,255,255
    picture 10 : width 10,width(0)-100 : height 10,height(0)-100
    top 10,20 : left 10,50 : 2d_target_is 10
    color 10,0,0,0
    pi = acos(-1) : p = pi/90  : ' <-- = 2°
    caption 0,"Veuillez patienter           <ESC> pour arrêter"
    xc = width(10)/2 : yc = height(10)/2
    pi2 = 2*pi
    Alfa = pi/8
    Beta = pi/4
    Zoom = 25   : z1 = zoom/width(10) : z2 = zoom/height(10)
    u(1) = COS(Alfa) * COS(Beta) : u(2) = SIN(Alfa) * COS(Beta) : u(3) = SIN(Beta)
    v(1) = 0-SIN(Alfa) : v(2) = COS(Alfa) : v(3) = 0
    w(1) = 0-COS(Alfa) * SIN(Beta) : w(2) = 0-SIN(Alfa)* SIN(Beta):w(3)= COS(Beta)
END_SUB
rem ============================================================================
SUB Calcul()
    for u1 = 0 to pi2 step p      : ' modifier le step selon la vitesse
        if u1 = 0 then 2d_pen_color 0,0,0 :else : 2d_pen_color 255,0,0
        for v1 = 0 to pi2  step p  : ' ou le finesse du tracé
            Ellipsoide(20,20,30)
          '  Ellipsoide(10,20,30)
          '  Ellipsoide(20,20,5)
          '  Ellipsoide(5,5,10)
          '  Ellipsoide(10,10,10)
          '  Fonction(20,15,5)
            Tracer()
            if scancode = 27 then terminate
       next v1
    next u1
END_SUB
rem ============================================================================
SUB Tracer()
    dim_local xe,ye
    xp(1) = u(1) * x + u(2) * y + u(3) * z
    xp(2) = v(1) * x + v(2) * y + v(3) * z
    xp(3) = w(1) * x + w(2) * y + w(3) * z
    xe = xc * xp(2) * z1 + yc : ye = yc *(1-xp(3) * z2)
    2d_poly_to xe,ye : display
END_SUB
rem ============================================================================
' Ellipsoïde
' Si a = b : ellipsoïde de révolution applati (forme de galet ou de soucoupe volonte)
' Si b = c : ellipsoïde de révolution allongé (forms de ballon de rugby ou de cigare)
' Si a = b = c : Sphère
SUB Ellipsoide(a,b,c)
    X = a * cos(v1) * cos(u1)
    Y = b * cos(v1) * sin(u1)
    Z = c * sin(v1)
END_SUB
rem ============================================================================
SUB Fonction(a,b,c)
    x = a*sin(u1)*cos(v1)
    y = b*sin(u1)*sin(v1)
    z = c*cos(u1)*log(u1+1)
END_SUB
rem ============================================================================


Pour les autres codes dont tu parles, fait la même chose :
Code:

dim pi : pi = acos(-1)
dim p  : p = pi/180

et tu remplaces les angles exprimés en degrés par leur équivalent en radians.

J'attends de savoir que ouf ça a passé! Laughing


Code édité le 24/03/2016 à 00:25


Dernière édition par papydall le Jeu 24 Mar 2016 - 2:25, édité 2 fois (Raison : Problème de [b]2D_CLEAR[/b])
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Ouf_ca_passe

avatar

Nombre de messages : 192
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Demain   Mar 22 Mar 2016 - 17:17

Je regarderai demain mais pour le moment, ça coince et j'ai dû arrêter avec Ctrl+Alt+Sup.
Je n'ai jamais autant fait cette combinaison de touches que depuis que je suis passé à windows 10.

Bonne soirée
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 192
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Je t'ai envoyé un msg privé   Mer 23 Mar 2016 - 15:53

@ Papydall

Bonjour
Je t'ai envoyé un msg privé

Cordialement
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 808
Date d'inscription : 19/01/2014

MessageSujet: Ellipsoïde.   Mer 23 Mar 2016 - 16:20

Bonjour.

Le 2d_clear provoque un access violation, bien qu'il soit placé après le 2d_target_is !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5508
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Tracé d'un ellipsoïde   Mer 23 Mar 2016 - 16:48

Salut tout le monde
Chez moi la commande 2D_CLEAR ne provoque pas d’erreur.
Mais vous pouvez la supprimer purement : elle n’a pas d’effet dans ce code.

NB : J’ai édité le code ci-haut, télécharger et tester.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jjn4

avatar

Nombre de messages : 1594
Date d'inscription : 13/09/2009

MessageSujet: +++   Mer 23 Mar 2016 - 19:58

Oh, que c'est beau !
Bravo, Papydallo !
cyclops alien Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
papydall

avatar

Nombre de messages : 5508
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Tracé d'un ellipsoïde   Mer 23 Mar 2016 - 20:12

sunny  sunny  sunny

Merci Martien 

sunny sunny sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Tracé d'un ellipsoïde   Mer 23 Mar 2016 - 21:35

Merci une fois encore Papydall
je n'arrête pas de répéter à mon fils que les maths sont belles.
LA PREUVE est là
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5508
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Tracé d'un ellipsoïde   Mer 23 Mar 2016 - 22:24

Tu as parfaitement raison.
Que serait la vie sans maths ?
Je n'ose même pas y penser! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Tracé d'un ellipsoïde   

Revenir en haut Aller en bas
 
Tracé d'un ellipsoïde
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tracé d'un ellipsoïde
» Comment récuperer les tracés, suite à un changement de PC.
» Modification de tracé en route
» Importation tracés
» Création Itinéraire à partir de Tracé sur version 3.3.2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: