FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Dessine-moi une étoile ... ou un super-cercle Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Dessine-moi une étoile ... ou un super-cercle Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Dessine-moi une étoile ... ou un super-cercle Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Dessine-moi une étoile ... ou un super-cercle Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Dessine-moi une étoile ... ou un super-cercle Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Dessine-moi une étoile ... ou un super-cercle Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Dessine-moi une étoile ... ou un super-cercle Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Dessine-moi une étoile ... ou un super-cercle Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Dessine-moi une étoile ... ou un super-cercle Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Dessine-moi une étoile ... ou un super-cercle Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Dessine-moi une étoile ... ou un super-cercle Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Dessine-moi une étoile ... ou un super-cercle Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

 

 Dessine-moi une étoile ... ou un super-cercle

Aller en bas 
3 participants
AuteurMessage
papydall

papydall


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyLun 3 Juil 2017 - 17:18

Il m’a dit « dessiner-moi une étoile, ‘please’  »
Pour son ‘please’ (ir), je lui offre quelques centaines.
Régale-toi, ami Panoramicien !

Code:

rem ============================================================================
rem                              Etoiles
rem ============================================================================

Init()
Que_Le_Spectacle_Commence()
 
end
rem ============================================================================
SUB Init()
    dim CX,CY           : ' centre de l'étoile
    dim Rayon           : ' rayon de l'étoile  
    dim Nbranche        : ' nombre de branches de l'étoile
    dim resX,resY       : ' Résolution de l'écran
    dim nbr : nbr = 500 : ' Nombre d'étoiles
    dim etoile(nbr,2)   : ' Tableau des coordonnées des centres des étoiles
    dim r,g,b           : ' Composantes de la couleur du tracé
    full_space 0 : picture 10 : full_space 10
    2d_target_is 10 : color 10, 255, 255, 196 : ' Jaune pale
    resX = width_client(10) : resY = height_client(10)
    alpha 20 : font_color 20,0,0,255 : font_size 20,50 : font_name 20,"arial"
    top 20,200 : left 20,400 : caption 20,"That's all folks !" : hide 20
END_SUB
rem ============================================================================
SUB CalculerEoile(CX, CY, Rayon, Nbranche , r, g, b)
    dim_local i, prof, CentreX, CentreY, Angle
    Prof = int(Rayon + rnd(Rayon + 120)) : ' prodondeur des branches de l'étoile aléa entre Rayon et Rayon + 120
    for i = 0 to (2 * Nbranche - 1)
        Angle = i * PI / Nbranche        : ' angle au sommet
        if Odd(i) > 0                    : ' parité des sommets
           CentreX = CX + int(Rayon * (Rayon - Prof) * cos(Angle) / Rayon) : ' introduction du paramètre Prof
           CentreY = CY + int(Rayon * (Rayon - Prof) * sin(Angle) / Rayon) : ' pour la prodondeur des branches
        else
           CentreX = CX + int(cos(Angle) * Rayon)
           CentreY = CY + int(sin(Angle) * Rayon)
        end_if
        etoile(i,1) = CentreX : etoile(i,2) = CentreY : ' stockage de la série de points
    next i
    DessinerEtoile(Nbranche)
END_SUB
rem ============================================================================
SUB DessinerEtoile(Nbranche)
    dim_local i
    2d_pen_color r,g,b : 2d_poly_from etoile(1,1) , etoile(1,2)
    for i = 0 to 2*Nbranche-1 : 2d_poly_to etoile(i,1) , etoile(i,2) : next i
    2d_poly_to etoile(0,1) , etoile(0,2)
    ' 2d_flood cx,cy, r,g,b
END_SUB
rem ============================================================================
SUB Que_Le_Spectacle_Commence()
    dim_local n
    n = 0
    2d_pen_width 2
    repeat
        n = n + 1
        Cx = int(rnd(ResX)) : CY = int(rnd(ResY)) : Rayon = int(5+rnd(100))
        Nbranche = int(5+rnd(21)) : ' Nombre des branches de l'étoile de 5 à 25
        r = int(rnd(256)) : g = int(rnd(256)) : b = int(rnd(256)) : ' Couleur aléatoire
        CalculerEoile(CX, CY, Rayon, Nbranche , r, g, b)
        display : pause 200  
        if mod(n,51) = 0 : ' effacement pour aérer la toile
           pause 1000
           color 10, 255, 255, 196 : ' couleur du fond jaune pale
        end_if
        caption 0, str$(n) + "/ " + str$(nbr) + "... <ESC> pour arrêter ..."        
     until (n = nbr) or scancode = 27
     show 20
END_SUB
rem ============================================================================


NB : Pour arrêter la torture, appuyer sur <ESC>


Dernière édition par papydall le Mar 4 Juil 2017 - 18:36, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Ouf_ca_passe




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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Défi de la quadrature du cercle    Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 8:31

Ne quitte pas le forum, Papydall, parce que je ne me suis pas émerveillé assez vite de ton programme de feu d'artifice d'étoiles pour les fêtes nationales.

@ Papydall et aux autres 3Dpanistes

Sauriez-vous relever le défi de la quadrature du cercle en 3D ?
Un morphing 2D serait accepté aussi.

https://www.youtube.com/watch?v=G7zsR1J-Xk8

Merci pour vos réponses
Revenir en haut Aller en bas
papydall

papydall


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 18:24

Ouf_ça_passe_ou_ça_casse a écrit:
Ne quitte pas le forum, Papydall, …

Oh, rassure-toi. Je n’ai pas l’intention de le quitter de sitôt !
Citation :
Sauriez-vous relever le défi de la quadrature du cercle



La quadrature du cercle :
Disons-le tout de suite et tout haut : la quadrature du cercle est IMPOSSIBLE !
Mais d’abord, de quoi parle-t-on ?
Soit un cercle de rayon égale à 1.
La superficie du cercle est A = pi*r*r = pi*1*1 = pi ≈ 3.14159265359. . . .
Peut-on dessiner un carré de la même superficie ?
La réponse est non, pour la simple raison que la racine carré de pi n’existe pas !
Pi est un nombre transcendant, c’est-à-dire qu’il contient autant de décimales que l’on veut : aussi loin que l’on va, ça ne s’arrête jamais.

C’est ici que ma science s’arrête !
Par contre, sur le SUPER-CERCLE, j’en sais un chouia.

En voilà, c'est gratuit !

Code:

rem ============================================================================
rem                       Le super-cercle
rem ============================================================================
rem             Equation paramétrique de la super-ellipse
rem         _______________________________________________
rem        |                                               |
rem        |  x = power(abs(cos(t)),2/n) * a * sgn(cos(t)) |
rem        |  y = power(abs(sin(t)),2/n) * b * sgn(sin(t)) |
rem        |  -------------------------------------------- |
rem        |  n, a, b : nombres positifs                   |
rem        |  t : angle en radians variant de 0 à 2*pi     |
rem        |  Si b = a, on a affaire à un super-cercle     |
rem        |_______________________________________________|
rem
rem
rem ============================================================================

font_bold 0 : font_color 0,0,0,255
print_locate 5,10
print "Ce ne sont pas des carrés. Ce sont des super-cercles, même si ça ressemble beaucoup à des carrés"

Super_cercle(020,005)
Super_cercle(050,010)
Super_cercle(100,020)
Super_cercle(150,050)
Super_Cercle(200,500)

end
rem ============================================================================
' Paramètres :
' a : demi-diamètre
' n : détermine la nature du super-cercle(hypo ou hyper-cercle) et sa forme
' Plus la valeur de n augmente, plus la courbe obtenue tend vers un cercle.

SUB Super_cercle(a,n)
    dim_local p,t,x,y,xc,yc,w,h
    p = pi/180
    w = width(0) : h = height(0) : xc = w/2 : yc = h/2
    xc = width_client(0)/2 : yc = height_client(0)/2+10
     2d_poly_from xc + a,yc
'    2d_pen_width 2    
    for t = 0 to 2*pi + p step p
        x = power(abs(cos(t)),2/n) * a * sgn(cos(t))
        y = power(abs(sin(t)),2/n) * a * sgn(sin(t))
        2d_poly_to xc+x,yc+y
    next t
    2d_flood xc-a+10,yc,255,255,0
END_SUB
rem ============================================================================

Bon, ça permet de faire des rectangles à coins arrondis.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 20:11

bonsoir,

Papydall a écrit:
.... la racine carré de pi n’existe pas !
Pi est un nombre transcendant, c’est-à-dire qu’il contient autant de décimales que l’on veut : aussi loin que l’on va, ça ne s’arrête jamais.

Jean Claude à pioché sur internet et donc a écrit:
La racine carrée de PI est d'environ 1.772453850905516027298167483341 (arrondie à la 30ème décimale). On ne peut pas donner toutes les décimales car PI étant irrationnel, toute opération sur ce nombre donne un résultat irrationnel, c'est-à-dire, qu'il a un nombre infini de décimales.

Pi est comme l'univers, il est infini...

Coté Panoramic, le feu d’artifice d'étoiles me plait beaucoup, le visuel est assez jolie surtout avec un fond noir (j'ai testé).

JJn4, a fait il y a longtemps un code en Panoramic qui simulait un feu d’artifice que j'avais trouvé sympa (désolé je ne réussi pas à retrouver le sujet).

Papydall est à mon avis bien placé pour nous en préparer un pour notre fête nationale du 14 juillet. Very Happy

A+
Revenir en haut Aller en bas
papydall

papydall


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 20:21

Pour ceux qui aiment les formes arrondies  tongue , voici une autre façon de faire des rectangles à coins arrondis.

Code:

rem ============================================================================
rem    Super_Ellipse ou rectangle à coins arrondies
rem ============================================================================
dim scr_x,scr_y, mx,my
scr_x = width_client(0) : scr_y = height_client(0) : mx = scr_x/2 : my = scr_y/2
picture 10 : full_space 10 : 2d_target_is 10
Super_Ellipse(200,150,10)
end
rem ============================================================================
SUB Super_Ellipse(a,b,n)
    dim_local y(a),x
    y(0) = b : y(a) = 0
    2d_pen_color 255,0,0 : 2d_poly_from mx,my-y(0)
    for x = 1 to a-1
        y(x) = Int(Exp(Log(1 - power((x / a) , n)) / n ) * b )
        2d_poly_to mx + x, my - y(x) : display
    Next x
    For x = a To 0 Step -1 : 2d_poly_to mx + x, my + y(x) : Next x
    For x = 0 To a : 2d_poly_to mx - x, my + y(x) : Next x
    For x = a To 0 Step -1 : 2d_poly_to mx - x, my - y(x) : Next x
    2d_flood mx,my,255,0,0
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 20:25

cheers

J'avais le code sur un vieux disque-dur,
Code:
rem ' Feu d'artifice - Version 2
dim c1 , c2 , c3 , f , g , h , i , j , k , x , y
k=1 : f=1
height 0,500
caption 0,"FEU D'ARTIFICE - Cliquez sur le ciel pour arrêter"
color 0,0,0,0 : display
sound 1
for g=1 to 200
 c1=rnd(155)+100 : c2=rnd(155)+100 : c3=rnd(155)+100
 h=int(rnd(4))+1 : y=int(rnd(300))+50 : k=0-k
 for i=500 to y step -1
  2d_pen_color c1,c2,c3
  2d_point 300+10*log(i)*h*k,i
  for j=1 to 500 : next j : ' on peut changer le 500, ça dépend de la vitesse des ordinateurs
  2d_point 300+10*log(i)*h*k,i
 next i
 for j=1 to 3000
  2d_pen_color 0,0,0
  i=int(rnd(500-y))+y
  2d_point 300+10*log(i)*h*k,i
 next j
 x=300+10*log(y)*h*k
 2d_pen_color c1,c2,c3
 for i=1 to 100
  for j=1 to int(rnd(4))+1
  k=0-k
  next j
  for j=1 to int(rnd(4))+1
  f=0-f
  next j
  if g/h=int(g/h)
  2d_pen_color rnd(155)+100,rnd(155)+100,rnd(155)+100
  end_if
  2d_line x,y,x+int(rnd(150))*k,y+int(rnd(150))*f
 next i
 i=int(rnd(3))+1
 if file_exists("Explo-"+str$(i)+".wav")=1
  file_load 1,"Explo-"+str$(i)+".wav"
  play 1
 end_if
 wait 500
 cls
 if clicked(0)=1 then exit_for
next g
terminate

A+
Revenir en haut Aller en bas
papydall

papydall


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 20:33

C'est ici

A cette époque je n'étais pas né, moi ! Crying or Very sad
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 20:43

Merci Papydall,

je ne comprend pas pourquoi la recherche du forum n'a rien trouvé pour moi .. BREF !

Le code que j'ai mis plus haut ne comporte pas le bouquet final.

Code:
rem ' Feu d'artifice
dim c1 , c2 , c3 , f , g , h , i , j , k , x , y
k=1 : f=1
height 0,500
caption 0,"FEU D'ARTIFICE - Cliquez sur le ciel pour arrêter"
color 0,0,0,0 : display
sound 1
for g=1 to 200
 c1=rnd(155)+100 : c2=rnd(155)+100 : c3=rnd(155)+100
 h=int(rnd(4))+1 : y=int(rnd(300))+50 : k=0-k
 for i=500 to y step -1
  2d_pen_color c1,c2,c3
  2d_point 300+10*log(i)*h*k,i
  for j=1 to 500 : next j : ' on peut changer le 500, ça dépend de la vitesse des ordinateurs
  2d_point 300+10*log(i)*h*k,i
 next i
 for j=1 to 3000
  2d_pen_color 0,0,0
  i=int(rnd(500-y))+y
  2d_point 300+10*log(i)*h*k,i
 next j
 x=300+10*log(y)*h*k
 2d_pen_color c1,c2,c3
 for i=1 to 100
  for j=1 to int(rnd(4))+1
  k=0-k
  next j
  for j=1 to int(rnd(4))+1
  f=0-f
  next j
  if g/h=int(g/h)
  2d_pen_color rnd(155)+100,rnd(155)+100,rnd(155)+100
  end_if
  2d_line x,y,x+int(rnd(150))*k,y+int(rnd(150))*f
 next i
 i=int(rnd(3))+1
 if file_exists("Explo-"+str$(i)+".wav")=1
  file_load 1,"Explo-"+str$(i)+".wav"
  play 1
 end_if
 wait 500
 cls
 if clicked(0)=1 then exit_for
next g
for g=1 to 12
 x=int(rnd(500))+1 : y=int(rnd(400))+1
 for i=1 to 100
  for j=1 to int(rnd(4))+1
  k=0-k
  next j
  for j=1 to int(rnd(4))+1
  f=0-f
  next j
  2d_pen_color rnd(155)+100,rnd(155)+100,rnd(155)+100
  2d_line x,y,x+int(rnd(150))*k,y+int(rnd(150))*f
 next i
next g
if file_exists("Explo-3.wav")=1
 file_load 1,"Explo-3.wav"
 play 1
 wait 2500
end_if
terminate

Papydall a écrit:
A cette époque je n'étais pas né, moi !

HEU... tu es sur de ça... Very Happy

A+
Revenir en haut Aller en bas
papydall

papydall


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

Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle EmptyMar 4 Juil 2017 - 21:34

Jean Claude qui ne sais pas comment chercher a écrit:
je ne comprend pas pourquoi la recherche du forum n'a rien trouvé pour moi .. BREF !

Pourtant
c'est simple:

En cliquant
sur Go:


tongue tongue tongue tongue
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Dessine-moi une étoile ... ou un super-cercle Empty
MessageSujet: Re: Dessine-moi une étoile ... ou un super-cercle   Dessine-moi une étoile ... ou un super-cercle Empty

Revenir en haut Aller en bas
 
Dessine-moi une étoile ... ou un super-cercle
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Dessine des sphères énervées
» dessine des rectangles
» Dessine-moi une galaxie
» Dessine-moi un bouton...
» Dessine-moi un papillon

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: