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
» un nouveau editeur panobasic
par Jean Claude Aujourd'hui à 10:18

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:07

» Le compilateur.
par Pedro Alvarez Aujourd'hui à 8:36

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 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

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

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 | 
 

 Rotation d'une figure de base

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

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Rotation d'une figure de base   Jeu 25 Juin 2015 - 23:54

Et voici encore une de mes spécialités !

Code:
REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
'  Rien ne vous empêche de modifier les paramètres pour voir ce que ça donne !
dim amp,b,cx,cy,i,j,nc,px,py,rad,ray
dim x(360),y(360)
height 0,550
nc=4      :' Nombre de crêtes
amp=30    :' Amplitude de l'oscillation
ray=120   :' Rayon moyen de la figure
rad=acos(-1)/180
'
'  Figure de Base
cx=300: cy=250
for i=0 to 360
 b=amp*sin(i*nc*rad)
 x(i)=cx+(ray+b)*cos(i*rad)
 y(i)=cy+(ray+b)*sin(i*rad)
next i
'
' Contrôle de la figure de base
for i=0 to 360
 if i=0
   2D_POLY_FROM x(i),y(i)
  else
   2D_POLY_TO x(i),y(i)
 END_IF
next i
PAUSE 3000
cls
'
REM  On applique à cette figure une rotation circulaire
ray=80
for i=0 to 360 step 6
 for b=0 to 360
  px=x(b)+ray*cos(i*rad)
  py=y(b)+ray*sin(i*rad)
  if b=0
    2D_POLY_FROM px,py
   ELSE
    2D_POLY_TO px,py
  END_IF
 next b
next i

END

Allez, allez Papydall ! Fais mieux que ça s'il te plait ! Et vogue la galère, et yo ho ho! Et une bouteille de rhum !   lol!     lol!     lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 0:12

C'est une affaire qui.............tourne rond sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 0:30

Le résultat est chouette et du coup je t'ai mis un peu de couleur.

Code:
REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
'  Rien ne vous empêche de modifier les paramètres pour voir ce que ça donne !
dim amp,b,cx,cy,i,j,nc,px,py,rad,ray
dim x(360),y(360)
height 0,550
nc=4      :' Nombre de crêtes
amp=30    :' Amplitude de l'oscillation
ray=120  :' Rayon moyen de la figure
rad=acos(-1)/180
color 0,0,0,0
'
'  Figure de Base
cx=300: cy=250
for i=0 to 360 step 6
 b=amp*sin(i*nc*rad)
 x(i)=cx+(ray+b)*cos(i*rad)
 y(i)=cy+(ray+b)*sin(i*rad)
next i
'
' Contrôle de la figure de base
for i=0 to 360 step 6
 if i=0
  2D_POLY_FROM x(i),y(i)
  else
  2D_PEN_COLOR abs(x(i)-cx),abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2
  2D_POLY_TO x(i),y(i)
 END_IF
next i
PAUSE 500
cls
'
REM  On applique à cette figure une rotation circulaire
ray=80
for i=0 to 360 step 6
 for b=0 to 360 step 6
  px=x(b)+ray*cos(i*rad)
  py=y(b)+ray*sin(i*rad)
  if b=0
    2D_POLY_FROM px,py
  ELSE
    2D_PEN_COLOR abs(x(i)-cx),abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2
    2D_POLY_TO px,py
  END_IF
 next b
next i

END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 1:55

Parpaiun a écrit:
Allez, allez Papydall ! Fais mieux que ça s'il te plait !

Une modification de ton code

Code:

REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
Init()
for i = 3 to 20 : Demarrer(i,30+10,120+80) : next i
caption 0,"Terminé"
print "    !!! That's All Folks !!!"
end
rem ============================================================================
SUB Init()
    dim i,cx,cy,rad,x(360),y(360)
    full_space 0
    cx = width(0)/2 : cy = height(0)/2 : rad=acos(-1)/180
    color 0,0,0,0 : 2d_pen_color 255,255,0
    font_color 0,255,0,0 : font_bold 0 : font_size 0,20
    caption 0,">ESC> pour arrêter"
END_SUB
rem ============================================================================
SUB Demarrer(nc,amp,ray)
    dim_local i,b
    2D_POLY_FROM  cx+ray,cy
    for i = 0 to 360
        b = amp * sin(i*nc*rad)
        x(i) = cx+(ray+b)*cos(i*rad) : y(i) = cy+(ray+b)*sin(i*rad)
        2D_POLY_TO x(i),y(i)
    next i
    Rotation()
    if key_down_code = 27 then Terminer()
END_SUB
rem ============================================================================
SUB Rotation()
    dim_local b,i,ray,px,py
    cls
    ray = 80
    for i = 0 to 360 step 6
        2D_POLY_FROM x(0)+ray*cos(i*rad), y(0)+ray*sin(i*rad)
        for b = 0 to 360 step 3
            px = x(b)+ray*cos(i*rad) : py = y(b)+ray*sin(i*rad)
        '    2d_pen_color mod(x(i),255), mod(y(i),255),mod(b,255)
            2D_POLY_TO px,py
        next b
    next i
    pause 1000
END_SUB
rem ============================================================================
SUB Terminer()
    Caption 0, "Programme arrêté par l'utilisateur"
    end
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 2:34

C'est excellent mais comme moi je préfère en multi couleur, ça donne ça

Code:
REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
Init()
for i = 3 to 20 : Demarrer(i,30+10,120+80) : next i
caption 0,"Terminé"
print "    !!! That's All Folks !!!"
end
rem ============================================================================
SUB Init()
    dim i,cx,cy,rad,x(360),y(360)
    full_space 0
    cx = width(0)/2 : cy = height(0)/2 : rad=acos(-1)/180
    color 0,0,0,0 :  font_color 0,255,0,0 : font_bold 0 : font_size 0,20
    caption 0,"<ESC> pour arrêter"
END_SUB
rem ============================================================================
SUB Demarrer(nc,amp,ray)
    dim_local i,b
    2D_POLY_FROM  cx+ray,cy
    for i = 0 to 360
        b = amp * sin(i*nc*rad)
        x(i) = cx+(ray+b)*cos(i*rad) : y(i) = cy+(ray+b)*sin(i*rad)
        2D_POLY_TO x(i),y(i)
    next i
    Rotation()
    if key_down_code = 27 then Terminer()
END_SUB
rem ============================================================================
SUB Rotation()
    dim_local b,i,ray,px,py
    cls
    ray = 80
    for i = 0 to 360 step 6
        2D_POLY_FROM x(0)+ray*cos(i*rad), y(0)+ray*sin(i*rad)
        for b = 0 to 360 step 3
            px = x(b)+ray*cos(i*rad) : py = y(b)+ray*sin(i*rad)
            2D_PEN_COLOR abs(x(i)-cx),abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2
            2D_POLY_TO px,py
        next b
    next i
    pause 1000
END_SUB
rem ============================================================================
SUB Terminer()
    Caption 0, "Programme arrêté par l'utilisateur"
    end
END_SUB
rem ============================================================================

Bonne nuit à tous et à tout à l'heure


Dernière édition par Jicehel le Ven 26 Juin 2015 - 9:06, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 3:33

Excellent !
Dommage qu'on ne puisse pas générer des économiseurs d'ecran avec Pano.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 7:03

C'est vraiment bluffant !

On dirait de la 3D. Bravo !! cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 9:27

Une variante façon screensaver
Code:
REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
Init()
while 1 = 1
    i = int(rnd(21))
    Demarrer(i,30+10,120+80)
    cpt = cpt + 1 : if cpt = 3 then cls : cpt = 0
end_while
end
rem ============================================================================
SUB Init()
    dim i,cpt, cx,cy,rad,x(360),y(360)
    full_space 0
    rad=acos(-1)/180 : cx = -200 : cy = -200
    color 0,0,0,0 :  font_color 0,255,0,0 : font_bold 0 : font_size 0,20
    caption 0,"<ESC> pour arrêter"
END_SUB
rem ============================================================================
SUB Demarrer(nc,amp,ray)
    dim_local i,b, ocx, ocy
    ocx = cx
    while abs(ocx - cx) < 400
        cx = int(rnd (width(0)))
    end_while
    ocy = cy
    while abs(ocy - cy) < 400
        cy = int(rnd(height(0)))
    end_while
    ' 2D_POLY_FROM  cx+ray,cy
    for i = 0 to 360
        b = amp * sin(i*nc*rad)
        x(i) = cx+(ray+b)*cos(i*rad) : y(i) = cy+(ray+b)*sin(i*rad)
        ' 2D_POLY_TO x(i),y(i)
        if key_down_code = 27 then Terminer()
    next i
    Rotation()
END_SUB
rem ============================================================================
SUB Rotation()
    dim_local b,i,ray,px,py
    ray = 80
    for i = 0 to 360 step 6
        2D_POLY_FROM x(0)+ray*cos(i*rad), y(0)+ray*sin(i*rad)
        for b = 0 to 360 step 3
            px = x(b)+ray*cos(i*rad) : py = y(b)+ray*sin(i*rad)
            2D_PEN_COLOR abs(x(i)-cx),abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2
            2D_POLY_TO px,py
            if key_down_code = 27 then Terminer()
        next b
    next i
END_SUB
rem ============================================================================
SUB Terminer()
  caption 0,"Terminé"
  print "    !!! That's All Folks !!!"
  end
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 12:33

Une variante de la variante screensaver pour remplir plus l'écran
(codé rapidos au boulot car je l'avais dans la tête ce matin, mais je n'avais pas le temps avant de partir...)

Code:
REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
Init()
while 1 = 1
    i = int(rnd(20)) + 1
    Demarrer(i,30+10,120+80)
    cpt = cpt + 1 : if cpt = 5 then cls : cpt = 0
end_while
end
rem ============================================================================
SUB Init()
    dim i,cpt, cx,cy,rad,x(360),y(360)
    full_space 0
    rad=acos(-1)/180 : cx = -200 : cy = -200
    color 0,0,0,0 :  font_color 0,255,0,0 : font_bold 0 : font_size 0,20
    caption 0,"<ESC> pour arrêter"
END_SUB
rem ============================================================================
SUB Demarrer(nc,amp,ray)
    dim_local i,b, ocx, ocy
    ocx = cx
    while abs(ocx - cx) < 400
        cx = int(rnd (width(0)*0.75)+0.15*width(0))
    end_while
    ocy = cy
    while abs(ocy - cy) < 300
        cy = int(rnd(height(0)*0.75)+0.15*width(0))
    end_while
    ' 2D_POLY_FROM  cx+ray,cy
    for i = 0 to 360
        b = amp * sin(i*nc*rad)
        x(i) = cx+(ray+b)*cos(i*rad) : y(i) = cy+(ray+b)*sin(i*rad)
        ' 2D_POLY_TO x(i),y(i)
        if key_down_code = 27 then Terminer()
    next i
    Rotation()
END_SUB
rem ============================================================================
SUB Rotation()
    dim_local b,i,ray,px,py
    ray = 80
    for i = 0 to 360 step 6
        2D_POLY_FROM x(0)+ray*cos(i*rad), y(0)+ray*sin(i*rad)
        for b = 0 to 360 step 3
            px = x(b)+ray*cos(i*rad) : py = y(b)+ray*sin(i*rad)
            if cpt = 0 then 2D_PEN_COLOR abs(x(i)-cx),abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2
            if cpt = 1 then 2D_PEN_COLOR (abs(x(i)-cx)+abs(y(i) - cy))/2,abs(x(i)-cx),abs(y(i) - cy)
            if cpt = 2 then 2D_PEN_COLOR abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2, abs(x(i)-cx)
            if cpt = 3 then 2D_PEN_COLOR (abs(x(i)-cx)+abs(y(i) - cy))/2,(abs(x(i)-cx)+abs(y(i) - cy))/2, abs(x(i)-cx)
            if cpt = 4 then 2D_PEN_COLOR abs(y(i) - cy),(abs(x(i)-cx)+abs(y(i) - cy))/2,(abs(x(i)-cx)+abs(y(i) - cy))/2
            2D_POLY_TO px,py
            if key_down_code = 27 then Terminer()
        next b
    next i
END_SUB
rem ============================================================================
SUB Terminer()
  caption 0,"Terminé"
  print "    !!! That's All Folks !!!"
  end
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 12:59

Bravo Jicehel !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 14:48

et Parpaiun et Papydall car ce n'est qu'une variante de leurs codes Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 15:17

Il y a toujours beaucoup plus d’idées dans plusieurs têtes que dans une seule !

A propos, Parpaiun n'a pas soufflé mot depuis son partage du code!

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

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Rotation d'une figure de base   Ven 26 Juin 2015 - 23:49

Désolé de vous spammer mais j'ai modifier ma modification pour revenir à la pureté de ces belles lignes.
En fait une seule image en rotation c'est plus joli et l'on joue sur le changement de forme et de principe de colorisation.
Bon après j’arrête les variantes, mais j'aime vraiment ces tracés fait par Parpaiun / Papydall et j'aime bien les regarder.
Code:
REM  Auteur: parpaiun
REM  Date-version: 25/06/2015
REM =====================================
Init()
while 1 = 1
    i = int(rnd(20)) + 1
    Demarrer(i,20 + 5 * i,60 + 15*i)
    pause 3000 : cls
end_while
end
rem ============================================================================
SUB Init()
    dim i, cx,cy,rad,x(360),y(360)
    full_space 0
    rad=acos(-1)/180 : cx = -200 : cy = -200
    color 0,0,0,0 :  font_color 0,255,0,0 : font_bold 0 : font_size 0,20
    caption 0,"<ESC> pour arrêter"
END_SUB
rem ============================================================================
SUB Demarrer(nc,amp,ray)
    dim_local i,b, ocx, ocy
    ocx = cx
    while abs(ocx - cx) < 400
        cx = int(rnd (width(0)*0.55)+0.2*width(0))
    end_while
    ocy = cy
    while abs(ocy - cy) < 300
        cy = int(rnd(height(0)*0.55)+0.2*width(0))
    end_while
    ' 2D_POLY_FROM  cx+ray,cy
    for i = 0 to 360
        b = amp * sin(i*nc*rad)
        x(i) = cx+(ray+b)*cos(i*rad) : y(i) = cy+(ray+b)*sin(i*rad)
        ' 2D_POLY_TO x(i),y(i)
        if key_down_code = 27 then Terminer()
    next i
    Rotation()
END_SUB
rem ============================================================================
SUB Rotation()
    dim_local b,i,ray,px,py, c
    ray = 80
    c = abs(int(rnd(5) - 0.5))
    for i = 0 to 360 step 6
        2D_POLY_FROM x(0)+ray*cos(i*rad), y(0)+ray*sin(i*rad)
        for b = 0 to 360 step 3
            px = x(b)+ray*cos(i*rad) : py = y(b)+ray*sin(i*rad)
            if c = 0 then 2D_PEN_COLOR abs(x(i)-cx)/2,abs(y(i) - cy)/2,(abs(x(i)-cx)+abs(y(i) - cy))/3
            if c = 1 then 2D_PEN_COLOR (abs(x(i)-cx)+abs(y(i) - cy))/3,abs(x(i)-cx)/2,abs(y(i) - cy)/2
            if c = 2 then 2D_PEN_COLOR abs(y(i) - cy)/2,(abs(x(i)-cx)+abs(y(i) - cy))/3, abs(x(i)-cx)/2
            if c = 3 then 2D_PEN_COLOR (abs(x(i)-cx)+abs(y(i) - cy))/3,(abs(x(i)-cx)+abs(y(i) - cy))/3, abs(x(i)-cx)/2
            if c = 4 then 2D_PEN_COLOR abs(y(i) - cy)/2,(abs(x(i)-cx)+abs(y(i) - cy))/3,(abs(x(i)-cx)+abs(y(i) - cy))/3
            2D_POLY_TO px,py
            if key_down_code = 27 then Terminer()
        next b
    next i
END_SUB
rem ============================================================================
SUB Terminer()
  caption 0,"Terminé"
  print "    !!! That's All Folks !!!"
  end
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Rotation d'une figure de base   

Revenir en haut Aller en bas
 
Rotation d'une figure de base
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Rotation d'une figure de base
» [résolu]Problèms Divers ....rotation ...carroussel, ect ..
» acces et base de donnée works
» Game Maker Base
» La base d'or

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 :: Les inutilitaires-
Sauter vers: