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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 17:49

» Cartes de voeux, menus, etc.
par JL35 Aujourd'hui à 17:48

» Mah-Jong européen new-look
par jjn4 Aujourd'hui à 15:48

» a l'aide klaus
par Minibug Aujourd'hui à 11:42

» KGF_dll - nouvelles versions
par Minibug Aujourd'hui à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Aujourd'hui à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» API Windows
par Klaus Jeu 7 Déc 2017 - 21:03

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
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 : 5863
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 : 5613
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 : 5863
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
Minibug

avatar

Nombre de messages : 2408
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 http://gpp.panoramic.free.fr
Jicehel

avatar

Nombre de messages : 5863
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 : 5863
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 : 5863
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 : 5613
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 : 5863
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: