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
» 2D_fill_color
I Love You Emptypar papydall Aujourd'hui à 14:47

» Consommation gaz électricité
I Love You Emptypar leclode Mer 17 Avr 2024 - 11:07

» trop de fichiers en cours
I Love You Emptypar lepetitmarocain Mer 17 Avr 2024 - 10:19

» on_key_down (résolu)
I Love You Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
I Love You Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
I Love You Emptypar jjn4 Mer 3 Avr 2024 - 14:08

» Minimiser une fenêtre Panoramic.
I Love You Emptypar Pedro Mar 2 Avr 2024 - 13:50

» Récapitulatif ludothèque panoramic jjn4
I Love You Emptypar jjn4 Lun 1 Avr 2024 - 18:04

» demande explication KGF pour imprimer en mm
I Love You Emptypar JL35 Jeu 28 Mar 2024 - 17:28

» Petit passage furtif
I Love You Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
I Love You Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
I Love You Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
I Love You Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
I Love You Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
I Love You Emptypar Klaus Dim 3 Mar 2024 - 9:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -34%
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 ...
Voir le deal
919 €

 

 I Love You

Aller en bas 
5 participants
AuteurMessage
papydall

papydall


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

I Love You Empty
MessageSujet: I Love You   I Love You EmptyMar 17 Oct 2017 - 16:56

Code:

rem ============================================================================
rem                Les Courbes paramétrées
rem                    Courbe du Coeur
rem ============================================================================
Picture 10 : full_space 10 : 2d_target_is 10 : color 10,150,100,150
alpha 20 : top 20,20 : left 20,140 : font_bold 20 : font_size 20,40
font_color 20,0,255,255 : color 20,150,100,150 : font_name 20,"arial"
alpha 30 : top 30,20 : left 30,250 : font_bold 30 : font_size 30,40
font_color 30,0,255,255 : color 30,150,100,150 : font_name 30,"arial"
alpha 40 : top 40,20 : left 40,420 : font_bold 40 : font_size 40,40
font_color 40,0,255,255 : color 40,150,100,150 : font_name 40,"arial"
caption 20,"I  L" : caption 30,"VE  Y" : caption 40,"U"
' ------------------------------------------------------------------------------
 Cardioide(230,40,1/7)  : 2d_flood 230,42,0,255,0255 : ' Le O de I LOVE
 Cardioide(400,40,1/7)  : 2d_flood 400,42,0,255,255  : ' Le O de YOU
' ------------------------------------------------------------------------------
 Cardioide(width_client(10)/2,150,1)
 Cardioide(100,020,1/8) : Cardioide(500,020,1/8)
 Cardioide(100,100,1/4) : Cardioide(500,100,1/4)
 Cardioide(100,200,1/3) : Cardioide(500,200,1/3)
 Cardioide(100,320,1/2) : Cardioide(500,320,1/2)
 
end
rem ============================================================================
' Tracé d'une cardioïde (courbe sous forme d'un coeur)
' xc,yc : coordonnées du creux de la cardioïde
' echelle : échelle de la courbe : agrandissement > 1; rapetissement < 1
SUB Cardioide(xc,yc,echelle)
    dim_local x,y,r,t
    r = 100    
    degrees : ' On travaille en °
    2d_pen_color 255,0,0
    2d_poly_from xc,yc  : ' origine du tracé
    for t = 1 to 360
        x = power(sin(t),3)          : ' Equation paramétrique ...
        y = cos(t) - power(cos(t),4) : ' ... de la cardioïde
        2d_poly_to xc + r * x * echelle,yc - r * y * echelle    
    next t
    2d_flood xc,yc+5,255,0,0         : ' Remplir la cardioïde
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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMar 17 Oct 2017 - 18:43

Qu'est-ce qui t'arrive Papydall ! t'es amoureux Razz

drunken flower I love you
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2376
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMar 17 Oct 2017 - 20:52


Bonjour à tous !

Merci Papydall !
C'est toujours un plaisir de lire tes sources.
C'est clair, c'est net, c'est précis, c'est bien documenté, bref, que du bonheur !

Revenir en haut Aller en bas
papydall

papydall


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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 0:15

Pour Jean Claude : Je t'offre des papillons   tongue

Code:

rem ============================================================================
rem                Les Courbes paramétrées
rem                   Courbe du papillon
rem ============================================================================

picture 10 : full_space 10 : 2d_target_is 10 : color 10,50,100,50
2d_pen_color 255,0,255

 Papillon(width_client(10)/2,height_client(10)/2,1)
 Papillon(100,400,1/4) : Papillon(500,400,1/4)
 Papillon(100,250,1/3) : Papillon(500,250,1/3)
 Papillon(300,050,1/6) : Papillon(300,400,1/6)
caption 0,"Terminé"
end
rem ============================================================================
' xc,yc : coordonnées du centre du tracé
' echelle : échelle de la courbe : agrandissement > 1; rapetissement < 1
SUB Papillon(xc,yc,echelle)
    dim_local x,y,t,taille, p
    p = pi/180 : taille = 50
    2d_poly_from xc,yc
    for t = 0 to 24*pi step p
        x = sin(t) * (exp(cos(t)) -2*cos(4*t) - power(sin(t/12),5))
        y = cos(t) * (exp(cos(t)) -2*cos(4*t) - power(sin(t/12),5))
        2d_poly_to xc+taille*x*echelle,yc-taille*y*echelle : display
    next t
    2d_flood xc-5,yc-5,0,0,255 : 2d_flood xc+5,yc-5,0,0,255
  
END_SUB
rem ============================================================================


Pour Mark37 : quelques fougères

Code:

rem ============================================================================
rem                          Fougère de Barnsley
rem ============================================================================

dim x,y,a,c,i,x0,y0,maxiter
picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0 : 2d_pen_color 0,255,0

x0 = width(10)/10 : y0 = height(10)-20 : maxiter = 20000
for i = 1 to maxiter
    caption 0, str$(i) + " / " + str$(maxiter) + " ... <ESC> pour arrêter ..."
    a = rnd(100)
    if a <= 2
       c = 0.5 : y = 0.16*y : x = c : ' tige
    else
       if a <= 17
          c = -0.15*x+0.283*y+0.575
          y = 0.26*x+0.237*y-0.084 : x = c : ' (transformation 3)
       else
          if a <= 30
             c = 0.197*x-0.226*y+0.40
             y = 0.226*x+0.197*y+0.049 : x = c : ' (transformation 2)
          else
              c = 0.849*x+0.037*y+0.075
              y = -0.037*x+0.849*y+0.183 : x = c : ' (transformation 1)
          end_if
       end_if
    end_if

    2d_point x0+x*400,y0-y*400             : ' Fougère centrale
    2d_point x*100,(y+1)*100               : ' Forgère haut-gauche
    2d_point width(10)-100+x*100,(y+1)*100 : ' Fougère haut-droite
    2d_point x*100,400-y*100               : ' Fougère bas-gauche
    2d_point width(10)-100+x*100,400-y*100 : ' Fougère bas-droite
    display
    if scancode = 27 then terminate
next i
caption 0,"Terminé !"
rem ============================================================================



Pour les autres : Une dame, une maison et une voiture .

Code:

rem ============================================================================
rem              La Dame, La Maison, La Voiture
rem ============================================================================

full_space 0
picture 10 : full_space 10 : 2d_target_is 10 : color 10,92,128,128
La_Dame(200,50,0,100,50,1)
La_Dame(950,500,150,100,50,1/4)
La_Dame(10,10,255,0,0,1/2)
La_Dame(300,600,0,255,255,1/10)
La_Dame(600,100,255,255,0,1.5)

La_Maison(800,100,2)
La_Maison(100,600,1/2)
La_Maison(300,500,1/4)

La_Voiture(1200,500,1)
La_Voiture(350,600,0.1)
La_Voiture(800,600,1/2)
end
rem ============================================================================
SUB La_Dame(x,y,r,g,b,e)
    if x < 110*e then x = 110*e
    if y < 040*e then y = 40*e
    2d_fill_on : 2d_fill_color r,g,b : 2d_circle x,y,40*e
    2d_poly_from x-80*e,y+50*e
    2d_poly_to x+80*e,y+50*e : 2d_poly_to x+120*e,y+170*e
    2d_poly_to x+90*e,y+170*e : 2d_poly_to x+60*e,y+90*e
    2d_poly_to x+20*e,y+150*e : 2d_poly_to x+80*e,y+300*e
    2d_poly_to x+30*e,y+300*e : 2d_poly_to x+10*e,y+450*e
    2d_poly_to x-20*e,y+450*e : 2d_poly_to x-40*e,y+300*e
    2d_poly_to x-90*e,y+300*e : 2d_poly_to x-20*e,y+150*e
    2d_poly_to x-60*e,y+100*e : 2d_poly_to x-90*e,y+170*e
    2d_poly_to x-120*e,y+170*e : 2d_poly_to x-80*e,y+50*e
    2d_flood x+70*e,y+100*e,r,g,b
END_SUB
rem ============================================================================
rem ============================================================================
' x,y : Coordonnées du début du toit
' e   : Facteur d'aggrandissement / rapetissement
SUB La_Maison(x,y,e)
    2d_pen_color 0,0,255 : 2d_poly_from x+80*e,y+20*e
    2d_poly_to x+220*e,y+20*e : 2d_poly_to x+280*e,y+80*e
    2d_poly_to x+140*e,y+80*e : 2d_poly_to x+80*e,y+20*e
    2d_flood x+220*e,y+20*e+5,0,0,255
    2d_pen_color 100,50,20  : 2d_fill_color 100,50,20
    2d_rectangle x+140*e,y+80*e,x+270*e,y+170*e

    2d_pen_color 50,100,50 : 2d_poly_from x+87*e,y+27*e
    2d_poly_to x+140*e,y+80*e : 2d_poly_to x+140*e,y+170*e
    2d_poly_to x+30*e,y+170*e
    2d_poly_to x+30*e,y+80*e : 2d_poly_to x+87*e,y+27*e
    2d_flood x+30*e+10,y+80*e, 200,200,50

    2d_pen_color 0,0,0 : 2d_poly_from x+80*e,y+20*e
    2d_poly_to x+87*e,y+27*e : 2d_poly_to x+30*e,y+80*e
    2d_poly_to x+20*e,y+80*e : 2d_poly_to x+80*e,y+20*e
    2d_flood x+80*e,y+20*e+2,0,0,0
    2d_fill_color 0,0,0
    2d_rectangle x+20*e,y+170*e,x+280*e,y+180*e
    2d_rectangle x+170*e,y+90*e,x+240*e,y+155*e

    2d_fill_color 255,255,0
    2d_rectangle x+175*e,y+95*e,x+202*e,y+120*e  
    2d_rectangle x+208*e,y+95*e,x+235*e,y+120*e
    2d_rectangle x+175*e,y+125*e,x+202*e,y+150*e
    2d_rectangle x+208*e,y+125*e,x+235*e,y+150*e
    
    2d_fill_color 0,200,200 : 2d_rectangle x+60*e,y+80*e,x+110*e,y+170*e
    2d_fill_color 0,0,0     : 2d_rectangle x+195*e,y+15*e,x+205*e,y+30*e
    2d_poly_from x+200*e,y+10*e
    2d_poly_to x+210*e,y+15*e : 2d_poly_to x+190*e,y+15*e
    2d_poly_to x+200*e,y+10*e
    2d_flood x+200*e,y+10*e+2,0,0,0
    2d_fill_color 255,255,0 : 2d_circle x+100*e,y+120*e,5*e
    
    2d_fill_color 255,0,0
END_SUB
rem ============================================================================
SUB La_Voiture(x,y,e)
    if x < 0 then x = 0
    if y < 0 then y = 0
    if e > 1 then e = 1
    if e < .1 then e = .1
' Les roues
    2d_pen_color 0,0,255 : 2d_fill_color 0,0,255
    2d_circle x+50*e,y+120*e,20*e : 2d_circle x+200*e,y+120*e,20*e
' Le corps
    2d_pen_color 255,0,0 : 2d_fill_color 255,0,0
    2d_rectangle x+50*e,y+0*e,x+250*e,y+100*e
    2d_rectangle x+0*e,y+50*e,x+100*e,y+100*e
' Les fenêtres
    2d_pen_color 0,255,255 : 2d_fill_color 0,255,255
    2d_rectangle x+60*e,y+10*e,x+90*e,y+30*e
    2d_rectangle x+100*e,y+10*e,x+130*e,y+30*e
    2d_rectangle x+140*e,y+10*e,x+170*e,y+30*e
    2d_rectangle x+180*e,y+10*e,x+210*e,y+30*e
' Echappement
    2d_pen_color 0,0,0 : 2d_fill_color 0,0,0
    2d_rectangle x+250*e,y+80*e,x+280*e,y+90*e
' Fumée
    2d_circle x+290*e,y+70*e,10*e : 2d_circle x+300*e,y+50*e,8*e
END_SUB
rem ============================================================================



@ tous : Si vous désirez autre chose, faites vos demandes, mais n'espérez pas que j'y réponde sans faute !  king
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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 8:22

Bonjour à tous,

@Papydall,

Ces dessins 2D sous forme de SUB(s) sont très pratiques pour faire des animations.

Exemple la voiture:
Code:
rem ============================================================================
rem                            La Voiture
rem ============================================================================
dim n%,px%,py%
full_space 0
picture 10 : full_space 10 : 2d_target_is 10 : color 10,92,128,128
px%=screen_x : py%=0
for n%=1 to 100
    px%=px%-10 : py%=py%+3
    La_Voiture(px%,py%,0.1)
    pause 1
    2d_fill_on : 2d_fill_color 92,128,128 : 2d_pen_color 92,128,128
    2d_circle px%+29,py%+2,10
    2d_fill_off
next n%
    2d_fill_on : 2d_fill_color 92,128,128 : 2d_pen_color 92,128,128
    2d_circle px%+29,py%+2,30
    2d_fill_off
    La_Voiture(px%,py%,0.1)
end
rem ============================================================================
SUB La_Voiture(x,y,e)
    if x < 0 then x = 0
    if y < 0 then y = 0
    if e > 1 then e = 1
    if e < .1 then e = .1
' Les roues
    2d_pen_color 0,0,255 : 2d_fill_color 0,0,255
    2d_circle x+50*e,y+120*e,20*e : 2d_circle x+200*e,y+120*e,20*e
' Le corps
    2d_pen_color 255,0,0 : 2d_fill_color 255,0,0
    2d_rectangle x+50*e,y+0*e,x+250*e,y+100*e
    2d_rectangle x+0*e,y+50*e,x+100*e,y+100*e
' Les fenêtres
    2d_pen_color 0,255,255 : 2d_fill_color 0,255,255
    2d_rectangle x+60*e,y+10*e,x+90*e,y+30*e
    2d_rectangle x+100*e,y+10*e,x+130*e,y+30*e
    2d_rectangle x+140*e,y+10*e,x+170*e,y+30*e
    2d_rectangle x+180*e,y+10*e,x+210*e,y+30*e
' Echappement
    2d_pen_color 0,0,0 : 2d_fill_color 0,0,0
    2d_rectangle x+250*e,y+80*e,x+280*e,y+90*e
' Fumée
    2d_circle x+290*e,y+70*e,10*e : 2d_circle x+300*e,y+50*e,8*e
END_SUB
rem ============================================================================

Bravo et merci.
Revenir en haut Aller en bas
papydall

papydall


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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 13:53

Salut tout le monde.

@Jean Claude
Quand j’écrivais I Love You, ce qu’est justement …. I Love You

Revenons maintenant à l’animation.
Essaye de déplacer la voiture avec comme paramètre e = 0.5 ou e = 1 et tu verras que tu t’es tombé dans un piège comme un débutant. tongue

Une solution : ajouter 2d_clear au début de la SUB La_Voiture(x,y,e)
Ça résoudra le problème, mais ça provoquera un autre : on perd la couleur du fond du PICTURE.

L’emploi de la technique du double buffer résoudra d’une façon élégante le problème.
Je te laisse  faire car j’ai une douleur atroce à l’épaule droite et je n’aime pas trop torturer mon clavier : ça me fait vraiment très mal ! 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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 14:31

Non non ! pas de piège.

J'ai bien vu que j'étais obligé d'adapter "mon cache" en fonction de la taille de la bagnole (voiture en vrai français) Very Happy
C'est juste que je n'ai pas insisté, car je travaille sur autre chose et je ne voulais pas perdre trop de temps.

Je suis content que ta douleur soit à l'épaule droite car c'est moins préoccupant que si c'était la gauche (Risque d'infarctus du myocarde)
Mais je ne suis pas content que tu ais une douleur d'où qu'elle vienne.
Prend un antalgique, ça peut te soulager.

A+
Revenir en haut Aller en bas
papydall

papydall


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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 14:50

Merci Jean Claude pour le conseil.

Parce que I Love You, je poste une fois de plus ce code (je l'ai déjà posté : où et quand, je n'en sais trop)

Code:

rem ============================================================================
rem         A N I M A T I O N
rem           PAR PAPYDALL
rem ============================================================================

Init()
Anim()
Terminer()

END
REM ============================================================================
SUB Init()
    dim p,xh,xc,xr,xs,x,y,x1,x3,xfr,v
    color 0,100,50,20
    full_space 0 : picture 10 : width 10,920 : height 10,600
    top 10,(height(0) - height(10))/2 : left 10,(width(0) - width(10))/2
    color 10,0,255,255 : 2d_target_is 10 : print_target_is 10 : hide 10
    font_color 10,255,0,0 : font_bold 10 : font_size 10,8
    caption 0,"ANIMATION PAR PAPYDALL ...."
    v = 10 : ' vitesse du mouvement des engins à modifier
    alpha 15 : top 15,50 : left 15, left(10) + 300 : font_bold 15 : font_name 15,"tahoma"
    font_size 15,20 : font_color 15,255,255,0
    caption 15,"<ESC> pour arrêter ...."
    image 20
END_SUB
REM ============================================================================
SUB Anim()
    for p = 1 to 10000
        Landscap()
        Building()
        Fred_House()
        Panoramic()
        Rita_Shop()
        Scool_Car()
        Papydall()
        Sidney_Car()
        MR()
        Ambulance()
        Trains()
        Snow_Man()
        image_recopy()
        if scancode = 27 then exit_sub
    next p
END_SUB
REM ============================================================================
SUB Landscap()
    2d_fill_on : 2d_fill_color 000,255,255 : 2d_rectangle 0,0,920,600
    2d_fill_on : 2d_fill_color 220,220,255 : 2d_rectangle 0,300,920,600
    2d_pen_color 220,220,220
    2d_circle 000,300,150 : 2d_circle 050,300,170 : 2d_circle 100,300,090
    2d_circle 200,300,050 : 2d_circle 230,300,100 : 2d_circle 300,300,060
    2d_circle 430,300,120 : 2d_circle 500,300,060 : 2d_circle 630,300,090
    2d_circle 700,300,070 : 2d_circle 770,300,070 : 2d_circle 850,300,050
    2d_circle 880,300,040
    2d_fill_color 128,128,128 : 2d_rectangle 0,350,920,400
    
END_SUB
REM ============================================================================
SUB Building()

    2d_fill_color 164,164,164
    2d_pen_color 164,164,164 : 2d_rectangle 500,70,600,320

    2d_fill_color 0,0,128 : 2d_pen_color 0,0,128
    For x = 510 to 570 step 30
        For y = 80 to 290 step 30 : 2d_rectangle x,y,x+20,y+20 : next y
    next x
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_rectangle 570,260,590,320
END_SUB
REM ============================================================================
SUB Fred_House()

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 700,250,800,350
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_rectangle 740,300,765,350
    2d_fill_color 128,0,0 : 2d_pen_color 128,0,0
    2d_rectangle 775,200,800,250
    if p = 1 then xh = 1
    if xh > 80 then xh = 1
    xh = xh + 2.5
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 700,250,800,350
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_rectangle 740,300,765,350
    2d_fill_color 128,0,0 : 2d_pen_color 128,0,0
    2d_rectangle 775,200,800,250
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_circle 785,195-xh,5    : 2d_circle 800,195-xh,4  : ' fummée
    2d_circle 790,195-xh,3    : 2d_circle 780,195-xh,2  : ' fummée
END_SUB
REM ============================================================================
SUB Panoramic()
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_Rectangle 0,240,150,340
    2d_fill_color 0,0,255 : 2d_pen_color 0,0,255
    2d_Rectangle 20,280,90,330
    2d_fill_color 255,102,0 : 2d_pen_color 255,102,0
    2d_Rectangle 110,270,130,330
    2d_fill_color 0,255,0 : 2d_pen_color 0,255,0
    2d_rectangle 20,220,105,240
    2d_fill_color 255,255,0 : 2d_pen_color 255,255,0
    2d_rectangle 103,220,143,240

    print_locate 20,220 : print "  Panoramic's bar  "
END_SUB
REM ============================================================================
SUB Rita_Shop()
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_Rectangle 170,240,320,340
    2d_fill_color 0,0,255 : 2d_pen_color 0,0,255
    2d_Rectangle 190,280,260,330
    2d_fill_color 255,102,0 : 2d_pen_color 255,102,0
    2d_Rectangle 270,280,290,340
    2d_fill_color 0,255,0 : 2d_pen_color 0,255,0
    2d_rectangle 180,220,310,240

    print_locate 190,220 : print " Rita's Deals"
    print_locate 205,245 : print "Cupcakes"

END_SUB
REM ============================================================================
SUB Papydall()

    if p = 1 then xc = 100
    xc = xc +  .5*v
    if xc > 1000 then xc = 0
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 910-xc,270+y,970-xc,290+y
    2d_rectangle 930-xc,230+y,1090-xc,290+y

    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-xc,250+y,1075-xc,270+y

    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    print_locate 970-xc,230+y : print "Papydall "
    2d_circle 925-xc,290+y,10 : 2d_circle 1050-xc,290+y,10

    2d_fill_color 128,128,0   : 2d_pen_color 128,128,0
    2d_circle 980-xc,260+y,5  : 2d_circle 970-xc,260+y,5
    2d_circle 990-xc,260+y,5  : 2d_circle 1000-xc,260+y,5
    2d_circle 1010-xc,260+y,5 : 2d_circle 1030-xc,260+y,5
    2d_circle 945-xc,260+y,5

    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
END_SUB
rem ============================================================================

SUB Scool_Car()
    if p = 1 then xr = 0
    xr = xr +  1*v
    if xr > 1000 then x = 0
    y = 60
    2d_fill_color 255,255,0 : 2d_pen_color 255,255,0
    2d_rectangle 910-xr,270+y,970-xr,290+y
    2d_rectangle 930-xr,230+y,1000-xr,290+y

    print_locate 935-xr,230+y : print "Scool"
    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-xr,250+y,995-xr,270+y
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 925-xr,290+y,10 : 2d_circle 990-xr,290+y,10
END_SUB
REM ============================================================================
SUB Sidney_Car()
    if p = 1 then x1 = 0
    x1 = x1 +  1.5*v
    if x1 > 1200 then x1 = 0
    2d_fill_color 0,0,128 : 2d_pen_color 0,0,128
    2d_rectangle 910-x1,270+y,970-x1,290+y
    2d_rectangle 930-x1,260+y,970-x1,280+y
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 925-x1,290+y,10 : 2d_circle 955-x1,290+y,10
END_SUB
REM ============================================================================
SUB MR()
    if p = 1 then x3 = 90
    x3 = x3 + 1.1*v : y = 60
    if x3 > 1000 then x3 = 0

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 910-x3,270+y,970-x3,290+y
    2d_rectangle 930-x3,230+y,1000-x3,290+y

    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-x3,250+y,995-x3,270+y

    2d_fill_color 255,255,0 : 2d_pen_color 255,255,0
    print_locate 935-x3,230+y : print "  MR 123 "
    2d_circle 925-x3,290+y,10 : 2d_circle 990-x3,290+y,10
END_SUB
REM ============================================================================
SUB Snow_Man()
    y = 300
    2d_fill_color 255,255,255 : 2d_pen_color 255,255,255
    2d_circle 100,230+y,50 : 2d_circle 100,150+y,45 : 2d_circle 100,70+y,40
    2d_fill_color 255,255,0 : 2d_pen_color 0,0,0 : 2d_circle 90,60+y,5
    if sin(p/150) < .98 then 2d_circle 110,60+y,5
    2d_circle 100,85+y,5 : 2d_circle 110,85+y,5 : 2d_circle 90,85+y,5
    2d_circle 080,80+y,5 : 2d_circle 120,80+y,5
    print_locate 75,145+y : print "BONJOUR"
    print_locate 70,225+y : print "VISITEUR"
END_SUB
REM ============================================================================
SUB Trains()
    if p = 1 then xfr = 0
    xfr = xfr + 1*v
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    if xfr > 1000 then xfr = -200
    2d_rectangle 10+xfr,280,40+xfr,340
    2d_fill_color 255,102,0 : 2d_pen_color 255,102,0
    2d_rectangle 10+xfr,315,130+xfr,365
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_circle 70+xfr,380,15 : 2d_circle 110+xfr,380,15 : 2d_circle 35+xfr,380,15
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 70+xfr,380,5 : 2d_circle 110+xfr,380,5 : 2d_circle 35+xfr,380,5
    2d_rectangle xfr-30,340,10+xfr,350
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle xfr-100,315,xfr-25,365
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_circle xfr-80,380,15 : 2d_circle xfr-40,380,15
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle xfr-80,380,5 : 2d_circle xfr-40,380,5

    if xfr > 250 then x = 0
    2d_rectangle 230+xfr,260,250+xfr,320
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 210+xfr,315,330+xfr,365

    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 270+xfr,370,15 : 2d_circle 310+xfr,370,15 : 2d_circle 235+xfr,370,15
    2d_fill_color 255,255,0  : 2d_pen_color 255,255,0
    2d_circle 270+xfr,370,5  : 2d_circle 310+xfr,370,5  : 2d_circle 235+xfr,370,5

END_SUB

REM ============================================================================
SUB Ambulance()
    if p = 1 then xs = 200
    y = 65 : xs = xs + 2.5*v
    if xs > 1200 then xs = -250

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_circle 965-xs,225+y,8

    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_rectangle 910-xs,270+y,970-xs,290+y
    2d_rectangle 930-xs,230+y,1000-xs,290+y

    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-xs,250+y,995-xs,270+y

    print_locate 935-xs,230+y : print "Ambulance"
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 925-xs,290+y,10 : 2d_circle 990-xs,290+y,10

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_circle 650-xs,225+y,10
    2d_fill_color 255,255,255 : 2d_pen_color 255,255,255
    2d_rectangle 610-xs,270+y,670-xs,290+y
    2d_rectangle 630-xs,230+y,700-xs,290+y
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 650-xs,250+y,680-xs,260+y

    2d_rectangle 660-xs,240+y,670-xs,270+y
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 625-xs,290+y,10 : 2d_circle 690-xs,290+y,10

END_SUB
REM ============================================================================
' Pour éviter le scintillement
SUB image_recopy()
   2d_target_is 10 : 2d_image_copy 20,0,0,width(10),height(10)
   2d_target_is 0  : 2d_image_paste 20,left(10),top(10)
   2d_target_is 10
END_SUB
rem ============================================================================
SUB Terminer()
    dim_local i
    for i = height(0) to 50 step -10
        height 0,i : pause 100
    next i
    terminate
END_SUB
rem ============================================================================


Jean Claude a écrit:
... je travaille sur autre chose ...

Bonne continuation ... sunny
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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 17:16

Ah oui ! là ça circule beaucoup devant le bureau de Panoramic.

Je ne me rappelle pas avoir vu ce code avant, mais ça peut arriver que je l'ai zapper.

En tout cas, ça démontre bien que tes dessins sous forme de SUB(s) peuvent servir pour des animations sans utiliser un SCENE2D, ni de SPRITE.

A+
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2376
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyMer 18 Oct 2017 - 22:00

Bonsoir à tous !

Merci Papydall !
Sais-tu comment dessiner un ballon ?

I Love You Ballon10
Je pensais dessiner un oeuf puis ajouter une queue.
Qu'en penses-tu ?

Bonne soirée à tous !
Revenir en haut Aller en bas
papydall

papydall


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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyJeu 19 Oct 2017 - 0:58

Marc37 a écrit:
Sais-tu comment dessiner un ballon ?

Pas vraiment ! Embarassed

Mais je sais comment tracer une Quartique Piriforme : courbe sous forme de poire.
Voici le code et c’est à toi d’ajouter la queue. Wink

Code:

rem ============================================================================
rem                Les Courbes paramétrées
rem                  QUARTIQUE PIRIFORME
rem               Courbe sous forme de Poire
rem
rem        __________________________________
rem       |                                  |
rem       |  x = a*a/b * (1 + sin(t))*cos(t) |
rem       |  y = a*(1 + sin(t))              |
rem       |__________________________________|

rem ============================================================================

Picture 10 : full_space 10 : 2d_target_is 10


Quartique_Piriforme(100,420,1/2)
Quartique_Piriforme(200,420,1)
Quartique_Piriforme(400,420,2)

end
rem ============================================================================
SUB Quartique_Piriforme(xc,yc,echelle)
    dim_local a,b,x,y,t
    a = 100 : b = 2*a : ' Essayer avec b = 3*a ; b = 4*a , etc.
    degrees    
    2d_poly_from xc+(a*a/b)*echelle,yc - a*echelle
    for t = 0 to 360      
        x = a*a/b * (1 + sin(t))*cos(t)
        y = a*(1 + sin(t))
        2d_poly_to xc+x*echelle, yc-y*echelle
    next t
    2d_flood xc-2+(a*a/b)*echelle,yc- a*echelle,255,0,0
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyJeu 19 Oct 2017 - 1:58

Et voici l’ovoïde : courbe sous forme d’œuf.

Code:

rem ============================================================================
rem           Courbe en coordonnées polaire
rem                      OVOIDE
rem Equation polaire :
rem       __________________________
rem      |                          |
rem      |  r = a * power(cos(t),3) |
rem      |__________________________|
rem
rem ============================================================================

Picture 10 : full_space 10 : 2d_target_is 10
Ovoide(300,420,2)
Ovoide(100,220,1)
Ovoide(100,350,1/2)
Ovoide(100,400,1/8)

end
rem ============================================================================
' xc,yc : coordonnées de la pointe basse de l'ovoïde
SUB Ovoide(xc,yc,echelle)
    dim_local a,x,y,t,r
    a = 200
    degrees
    2d_poly_from xc,yc
    for t = 0 to 360
        r = a*power(sin(t),3)        
        x = r*cos(t)
        y = r*sin(t)
        2d_poly_to xc+x*echelle,yc-y*echelle
    next t
    2d_flood xc,yc-2,250,200,50
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2376
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyJeu 19 Oct 2017 - 10:10


Merci Papydall !

Je vais donc ajouter une queue à l’œuf pour mes essais.

Très bonne journée à tous !
Revenir en haut Aller en bas
JL35




Nombre de messages : 7093
Localisation : 77
Date d'inscription : 29/11/2007

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptyJeu 19 Oct 2017 - 15:25

Jolie ton animation papydall, je me souviens effectivement l'avoir déjà vue autrefois.
Ce qui est très étonnant, c'est sa fluidité, quand on voit le nombre d'opérations graphiques effectuées !
La méthode utilisée est vraiment à étudier de près.

J'ai ajouté quelques pixels aux coordonnées y des bâtiments pour qu'ils soient au niveau du sol (subs Building, Panoramic, Rita_Shop), sinon ils sont suspendus en l'air. Mais ce n'est vraiment qu'un détail, chapeau pour l'animation.
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 684
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptySam 21 Oct 2017 - 15:51

Bonjour Papydall
Si mon fils en 1°S pouvait être aussi amoureux des maths que toi!
Heureusement chacun doit trouver sa voie.
Merci pour tes animations
Revenir en haut Aller en bas
papydall

papydall


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

I Love You Empty
MessageSujet: Re: I Love You   I Love You EmptySam 21 Oct 2017 - 18:22

L’essentiel c’est qu’il fasse ce qu'il lui plait, dans ce qu’il se sent à l’aise.
Il n’y a pas que les maths dans la vie !
C’est vrai que je suis amoureux (de ma femme évidemment) comme l’a si bien dit Jean Claude et aussi des maths.
Mon amour pour les maths, c’était pour défier  mon professeur, suite à une punition qu’il m’avait injustement infligée.
Mais bon ce n’était pas une histoire drôle.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





I Love You Empty
MessageSujet: Re: I Love You   I Love You Empty

Revenir en haut Aller en bas
 
I Love You
Revenir en haut 
Page 1 sur 1

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: