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
» quel est ce comportement de Panoramic_editor
par JL35 Aujourd'hui à 16:38

» bug BORDER_HIDE : bloque la commande full_space
par silverman Aujourd'hui à 1:19

» Découpe dans une image
par JL35 Hier à 22:00

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Hier à 18:57

» Pour faire plaisir à jjn4.
par Pedro Alvarez Hier à 8:13

» Pour faire plaisir à Marc37.
par Marc Jeu 22 Fév 2018 - 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Jeu 22 Fév 2018 - 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Une poignée de codes ± inutiles, genre en veux-tu, en voilà

Aller en bas 
AuteurMessage
papydall

avatar

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

MessageSujet: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 0:55

Tout est dans le titre.

Code 1 :

Code:

rem ============================================================================
rem             Chaos Game
rem ============================================================================
dim rx,ry,x,y,sides,m,t,mult,pi,xc,yc
full_space 0 : color 0,0,0,0 : 2d_pen_color 255,255,255
font_name 0,"tahoma" : font_bold 0 : font_color 0,255,255,0 : font_size 0,22
pi = acos(-1) : rx = 300 : ry = 150 : x = 150 : y = 0
xc = width(0)/2 : yc = height(0)/2
for sides = 3 to 10
    for m = 1 to 10
        cls
        mult = m/10
        for t = 0 to 50
            Plot_The_Points()
            print_locate 50,50  : print "Veuillez patienter .... Jusqu'à : 10 / 10   ...  10 / 10  ...  50 / 50"
            print_locate 50,100 : print " <CLICK> pour mettre fin à la torture !!!"
            print_locate 50,150
            print str$(sides) + " / 10   ...  " + str$(m)+" / 10   ...  "+ str$(t)+ " / 50"
            if scancode <> 0 then fin()
        next t
    next m
next sides
Fin()
end
rem ============================================================================
SUB Choose_Vertex()
    dim_local angle,rad
    angle = (360/sides)*int(rnd(sides)*360)
    rad = pi*(angle/180) : y = (sin(rad))*150 : x = (cos(rad))*150
END_SUB
rem ============================================================================
SUB Plot_The_Points()
    dim_local c,midx,midy
    for c = 1 to 200
        Choose_Vertex() : midx = (x-rx) * mult + rx : midy = (y-ry) * mult + ry
        2d_point xc+midx,yc+midy : rx = midx : ry = midy : display
    next c
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    print_locate 50,250 : print "Merci pour votre attention, à la prochaine"
    pause 1000
    for h = height(0) to 10 step -1 : height 0,h : next h
    terminate
    end
END_SUB
rem ============================================================================

Code 2 :

Code:

rem ============================================================================
rem                     Fractal Tree
rem ============================================================================

dim x1,y1,x2,y2,angle,r,s,n,b,i,cr,cg,cb,pi
pi = acos(-1)
width 0,700 : height 0,700 : color 0,0,0,0

2d_fill_on
for i = 1 to 1000
    caption 0,"Fractal Tree ... <CLICK> pour arrêter ....   " + str$(i) + " / 1000"
    x1 = 300 : y1 = 600 : s = 290 : angle = 270
    cr = 127*int(rnd(3)) : cg = 127*int(rnd(3)) : cb = 127*int(rnd(3))
    2d_pen_color cr,cg,cb : 2d_fill_color cr,cg,cb
    for b = 1 to 6
        lines() : s = s * .5 : angle = angle + int(rnd(5)) * 45 - 90
        if scancode <> 0 then FIN()
    next b
next i
caption 0,"Terminé"
end
rem ============================================================================
SUB Lines()
    dim_local x,y,rayon
    r = (angle/180)*pi : y2 = y1 + s * (sin(r)) : x2 = x1 - s * (cos(r))
    for n = 1 to 30
        x = (x2*n+x1*(30-n))/30 : y = (y2*n+y1*(30-n))/30 : rayon = 36/(b*b)
        2d_circle x,y,rayon
    next n
    x1 = x2 : y1 = y2
    display
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    for h = height(0) to 10 step -1 : height 0,h : next h
    terminate
    end : ' Ce END après TERMINATE élimine le désagréable bip
END_SUB
rem ============================================================================

Code 3 :

Code:

rem ============================================================================
rem                Tessellation
rem ============================================================================

dim x1,y1,angle,pi
pi = acos(-1)
width 0, 700 : height 0,700
full_space 0
color 0,0,0,0 : 2d_fill_on : 2d_fill_color 255,0,0 : 2d_pen_color 255,255,0
caption 0,"Tessellation ... <CLICK> pour arrêter ........."
Tessellation(180,1)
Tessellation(120,1)
Tessellation(90,2)
Tessellation(60,2)
Tessellation(60,3)
Tessellation(45,4)
Tessellation(40,3)
Tessellation(36,5)
Tessellation(30,4)
Tessellation(30,6)
caption 0,"Terminé"
end
rem ============================================================================
SUB Tessellation(l,u)
    dim_local i,a,b,k
    cls
    for i = 1 to 50
        x1 = width(0)/2 : y1 = height(0)/2: angle = 270
        for b = 1 to 20
            a = l*int(rnd(2))-l/2
            for k = 1 to u : angle = angle + a: lines() : next k
        next b
        display
         if scancode <> 0 then fin()
    next i
    pause 500

END_SUB
rem ============================================================================
SUB Lines()
    dim_local r,n,x2,y2
    r = (angle/180)*pi
    y2 = y1 + (sin (r))*20 : x2 = x1 - (cos (r))*20
    for n = 1 to 30 : 2d_circle x1,y1,4 : 2d_line x1,y1,x2,y2 : next n
    x1 = x2 : y1 = y2
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    for h = height(0) to 10 step -1 : height 0,h : next h
    terminate
    end : ' Ce END après TERMINATE élimine le désagréable bip
END_SUB
rem ============================================================================



 king  La suite dans le prochain épisode, si vous êtes intéressés. king
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5895
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 6:39

Merci Papydall
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5180
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 7:53

Quelle production !

j'aime bien Fractal Tree, ça ressemble à mon cerveau en ce moment Very Happy

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

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 15:02

Jean Claude a écrit:
j'aime bien Fractal Tree, ça ressemble à mon cerveau en ce moment    

Le mien ressemble plutôt à ceci:
Code 4 :

Code:

rem ============================================================================
rem    Attracteur de Lorenz
rem       Par Papydall
rem ============================================================================
dim s,p,b,x,y,z,zoom,dt,dx,dy,dz
width 0,1000 : height 0,500 : color 0,0,0,0
caption 0,"Attracteur de Lorenz .... <CLICK> pour arrêter"
s = 10 : p = 28 : b = 8/3 : x = 10 : y = 0  : z = 10 : zoom = 6 : dt = 0.002
repeat
    dx = s*(y-x) : dy = x*(p-z)-y : dz = x*y-b*z
    x = x + dx * dt : y = y + dy * dt : z = z + dz * dt
    2d_pen_color 255,000,0 : 2d_point 150 + zoom * y, 350 - zoom * z
    2d_pen_color 000,255,0 : 2d_point 450 + zoom * x, 350 - zoom * z
    2d_pen_color 255,255,0 : 2d_point 700 + zoom * x, 200 - zoom * y
until scancode <> 0

for y = height(0) to 10 step -1 : height 0,y : next y
terminate
rem ============================================================================

Suite à une erreur (une horreur comme disait ygernimi) de programmation dans l’un de mes mille et un inutilitaires, j’ai obtenu un comportement bizarre de ma boule .
J’ai modifié complètement le programme et voici le code.
Coloriste officiel (il se reconnaîtra), tu peux apporter ta contribution.

Code 5 :


Code:

rem ============================================================================
rem          La balle emprisonnée
rem ============================================================================
dim px,py,ax,ay,y,result% ,r1%,r2%,xc,yc
dim board$(16,5)
board$(0,0) = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
board$(1,0) = "x                        x"
board$(2,0) = "x                        x"
board$(3,0) = "x    xxxxxxxxxxxxxxxx    x"
board$(4,0) = "x                   x    x"
board$(5,0) = "x                   x    x"
board$(6,0) = "xxxxxxxxxxxxxxx     x    x"
board$(7,0) = "x                   x    x"
board$(8,0) = "x                   x    x"
board$(9,0) = "x         xxxxxxxxxxx    x"
board$(10,0) ="x         x         x    x"
board$(11,0) ="x         x         x    x"
board$(12,0) ="x    x    x    x    x    x"
board$(13,0) ="x              x         x"
board$(14,0) ="x              x         x"
board$(15,0) ="xxxxxxxxxxxxxxxxxxxxxxxxxx"

px = 200: py = 280 : ax = 3 : ay = 2
full_space 0 : xc = width(0)/4 : yc = height(0)/4
color 0,0,0,0 : 2d_pen_color 255,255,0
caption 0,"<CLICK> pour arrêter"
while "Je suis" <> "Tu es"
    2d_circle xc+px,yc+py,20

    Floor(py/25 - .2) : r1% = result% : Ceil(px/19 + .4) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ax = 0-ax
    Floor(py/25 - .2) : r1% = result% : Ceil(px/19 + .2) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ax = 0-ax
    Floor(py/25 - .1) : r1% = result% : Ceil(px/19 + .3) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ay = 0-ay
    Floor(py/25 - .3) : r1% = result% : Ceil(px/19 + .3) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ay = 0-ay

    px = px + ax : py = py + ay
    if scancode <> 0 then exit_while
    pause 1 : ' Enlever cette pause accelère sensiblement l'affichage
end_while
Fin()
rem ============================================================================
' Arrondir vers le haut
' Exemples :
' Ceil(2.3)  ====> 3
' Ceil(3.8)  ====> 4
' Ceil(-2.3) ====> -2
' Ceil(-3.8) ====> -3
SUB Ceil(n)
    result% = n +.5
END_SUB
rem ============================================================================
' Arrondir vers le bas
' Exemples :
' Floor(2.3)  ====> 2
' Floor(3.8)  ====> 3
' Floor(-2.3) ====> -3
' Floor(-3.8) ====> -4
SUB Floor(n)
   if n < 0 then result% = n -.5 : else : result% = n
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    for h = height(0) to 10 step -5 : height 0,h : next h
    terminate
    end
END_SUB
rem ============================================================================

Et pour terminer cette seconde série, je mets un peu de couleur ici :

Code 6 :

Code:

rem ============================================================================
rem             Des Lignes en couleur
rem ============================================================================
dim a,b,c,d,x,y
width 0,650 : height 0,350
caption 0,"<CLICK> pour mettre fin à l'ennui !!!"
a = 127
while "Je suis" <> "Tu es"
    b = power(rnd(1),2) : c = power(rnd(1),2) :  d = power(rnd(1),2)
    for x = 20 to 600
        for y = 10 to 300
            2d_pen_color a+a*sin(b*x),a+a*sin(c*x),a+a*sin(d*x) : 2d_point x,y
            if scancode <> 0 then exit_while
        next y : display
    next x
end_while
caption 0,"Arrêté par l'utilisateur"
Fin()
end
rem ============================================================================
SUB Fin()
    dim_local w
    for w = width(0) to 10 step -1 : width 0,w : next w
    terminate
    end
END_SUB
rem ============================================================================


A la prochaine, si suite il y aura! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5180
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 21:45

c'est de l'art abstrait !

Code:
rem ============================================================================
rem    Attracteur de Lorenz
rem      Par Papydall
rem ============================================================================
dim s,p,b,x,y,z,zoom,dt,dx,dy,dz
width 0,1000 : height 0,500 : color 0,0,0,0 : full_space 0
caption 0,"Attracteur de Lorenz .... <CLICK> pour arrêter"
s = 13 : p = 18 : b = 8/4 : x = 50 : y = 20  : z = 10 : zoom = 16 : dt = 0.005
repeat
    dx = (s*(y-x))+153 : dy = (x*(p-z)-y)-8 : dz = (x*y-b*z)
    x = x + dx * dt +1.1: y = y + dy * dt : z = z + dz * dt
    2d_pen_color 255,rnd(255),0 : 2d_point 150 + zoom * y, 350 - zoom * z
    2d_pen_color rnd(255),rnd(255),rnd(255) : 2d_point 450 + zoom * x, 350 - zoom * z
    2d_pen_color 155,rnd(255),rnd(255) : 2d_point 700 + zoom * x, 200 - zoom * y
until scancode <> 0

for y = height(0) to 10 step -1 : height 0,y : next y
terminate
rem ============================================================================

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

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 23:39

@Jean Claude

Ta modification du code donne un beau résultat.

Mais l’attracteur de Lorenz ce n’est pas de l’art abstrait, ni même de l’art tout court.
Edouard Lorenz était un météorologue et c’est lui qui, le premier, a mis en évidence le caractère chaotique de la météorologie.
Ce modèle (ou système dynamique de Lorenz, appelé également oscillateur de Lorenz) est une modélisation très simplifiée de phénomènes météorologiques ayant pour base la mécanique des fluides.
Veuillez excuser les météorologues quand ils se trompent (parfois) dans leurs prévisions.
j'en sais un bout : j'étais moi-même météorologue mais à un niveau très modeste.

Tu peux te rendre à cette page pour des plus amples explications, mais prépare d’abord une (plutôt plusieurs) boîte de doliprane dans le cas où. Sait-on jamais ce qui pourrait arriver avec le chaos ? Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Jeu 1 Oct 2015 - 1:27

Vous trouvez sur mon webdav un fichier Attracteurs.zip
Il contient :
• AttracteurLorenz_MP4.bas
• CompilationAttracteurs_MP4.bas
• LorenzAttractorSimulation_Mp4.bas
• AttracteurLorenz.mp4
• CompilationAttracteurs.mp4
• LorenzAttractorSimulation.mp4


Dézipez-le où vous voulez.
Réglez le volume de vos HP
Exécutez successivement les .bas
Passer en mode plein écran et ....  admirez !

Attention :
Ce zip c’est du poids lourd : pas moins de  74.9 MB, mais c’est un régal !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    

Revenir en haut Aller en bas
 
Une poignée de codes ± inutiles, genre en veux-tu, en voilà
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» FR-7B et Codes Midi ChangeControl Expression
» sites pour les codes CUP
» Désinstaller les fichiers inutiles sur Nuvi
» Codes midi..
» Quel genre de musique aimez-vous ?

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: