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
» number_mouse_up
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Aujourd'hui à 11:59

» Aide de PANORAMIC
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Aujourd'hui à 11:16

» trop de fichiers en cours
Dessine-moi une étoile ... ou un super-cercle Emptypar lepetitmarocain Aujourd'hui à 10:43

» Je teste PANORAMIC V 1 beta 1
Dessine-moi une étoile ... ou un super-cercle Emptypar papydall Aujourd'hui à 4:17

» select intégrés
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Hier à 18:33

» PANORAMIC V 1
Dessine-moi une étoile ... ou un super-cercle Emptypar Klaus Hier à 9:53

» bouton dans autre form que 0
Dessine-moi une étoile ... ou un super-cercle Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Dessine-moi une étoile ... ou un super-cercle Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Dessine-moi une étoile ... ou un super-cercle Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Dessine-moi une étoile ... ou un super-cercle Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Dessine-moi une étoile ... ou un super-cercle Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Dessine-moi une étoile ... ou un super-cercle Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Dessine-moi une étoile ... ou un super-cercle Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Dessine-moi une étoile ... ou un super-cercle Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Dessine-moi une étoile ... ou un super-cercle Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

 

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

Aller en bas 
3 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7006
Age : 73
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 : 75
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 : 7006
Age : 73
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 : 5948
Age : 69
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 : 7006
Age : 73
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 : 5948
Age : 69
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 : 7006
Age : 73
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 : 5948
Age : 69
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 : 7006
Age : 73
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-moi une galaxie
» Dessine-moi un bouton...
» Dessine-moi un papillon
» dessine des rectangles

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: