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
» I Love You
par papydall Aujourd'hui à 2:58

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Hier à 18:08

» mise a jour calculatrice
par joeeee2017 Hier à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Hier à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
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 : 5858
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 : 5546
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 : 5858
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 : 51
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 : 5858
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 : 5858
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 : 5858
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 : 5546
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 : 5858
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
» base camp dangereux en montagne !!?
» on est en base neuf!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: