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
» Bataille terrestre
Une dentelle fantaisie Emptypar Marc Hier à 16:20

» item_index
Une dentelle fantaisie Emptypar Marc Hier à 16:13

» SineCube
Une dentelle fantaisie Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Une dentelle fantaisie Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Une dentelle fantaisie Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Une dentelle fantaisie Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Une dentelle fantaisie Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Une dentelle fantaisie Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Une dentelle fantaisie Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Une dentelle fantaisie Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Une dentelle fantaisie Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Une dentelle fantaisie Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Une dentelle fantaisie Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Une dentelle fantaisie Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Une dentelle fantaisie Emptypar Jack Mar 30 Avr 2024 - 20:40

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 à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

 

 Une dentelle fantaisie

Aller en bas 
5 participants
AuteurMessage
Parpaiun

Parpaiun


Nombre de messages : 192
Age : 84
Localisation : HERAULT
Date d'inscription : 15/04/2015

Une dentelle fantaisie Empty
MessageSujet: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 16:07

Voici une dentelle assez spéciale !
Pour voir les fantaisies, lancez le programme plusieurs fois ...

Code:
REM =========================================================
REM  Auteur: Parpaiun
REM  Date-version: 22/05/2015
REM      d après <Art trigono-plastique> de Bern-Art Bonbon
REM
REM =========================================================
REM
caption 0,"DENTELLES FANTAISIE"
dim a,ag,b,c,cs,cx,cy,d,e,ex,ey,f,h,i,j,k,mr,n,n2,r,rad,r$,s,ss,sw,u,v
height 0,985 : width 0,985
label debut,init,bordure,boucle
n=20   :' nombre de branches doubles par niveau
n2=n*2
dim x(n2),y(n2)
ag=360/n : rad=acos(-1)/180
cs=cos(ag*rad):ss=sin(ag*rad)
cx=485:cy=475   :' centre de la figure
f=1   :' facteur d'agrandissement/réduction de l'image
debut:
 k=20:c=0:d=0
 sw = sw + 1: if sw > 5 then sw = 1
 cls
  init:
   for i=1 to n2: x(i)=0: y(i)=0: next i
    boucle:
     k = k - 1: if k<6 then k=6
     select sw
      case 1
       h=(rnd(k*1.5)-5)*2 : v=(rnd(k*1.5)-5)*2
       u=190
      case 2
       h=int(rnd(k)-2)*2 : v=int(rnd(k)-2)*2
       u=210
      case 3
       h=int(rnd(k)*3)-int(rnd(k)*2) : v=int(rnd(k)*3)-int(rnd(k)*2)
       u=90
      case 4
      h=int(rnd(k)-3)*2-int(rnd(k)-2)*2 : v=int(rnd(k)-3)*2-int(rnd(k)-2)*2
      u=100
      case 5
      h=int(rnd(k*0.9)-2.5)*2 : v=int(rnd(k*0.9)-2.5)*2
      u=300
END_SELECT
2D_POLY_FROM cx+x(1)*f,cy+y(1)*f
 x(1)=x(1)+h : y(1)=y(1)+v
 d=d+1: if d<100 then goto init
 c=c+1: if c>u then goto bordure
2D_POLY_TO cx+x(1)*f,cy+y(1)*f

REM ===========================================
2D_POLY_FROM cx+x(n+1)*f,cy+y(n+1)*f
 x(n+1)=x(1) : y(n+1)=-1*y(1)
2D_POLY_TO cx+x(n+1)*f,cy+y(n+1)*f

REM ===========================================
for i=2 to n
 2D_POLY_FROM cx+x(i)*f,cy+y(i)*f
  x(i)=x(i-1)*cs-y(i-1)*ss
  y(i)=x(i-1)*ss+y(i-1)*cs
 2D_POLY_TO cx+x(i)*f,cy+y(i)*f
 
 REM ==========================================
 2D_POLY_FROM cx+x(i+n)*f,cy+y(i+n)*f
  x(i+n)=x(i+n-1)*cs-y(i+n-1)*ss
  y(i+n)=x(i+n-1)*ss+y(i+n-1)*cs
 2D_POLY_TO cx+x(i+n)*f,cy+y(i+n)*f
rem  for j=1 to 50000: next j
next i
goto boucle
'
bordure:
 ex=cx+x(i-1+n): ey=cy+y(i-1+n)
 r=sqr((cx-ex)*(cx-ex)+(cy-ey)*(cy-ey)) : r=int(r)
'  Comment empêcher le cercle de bordure d'escamoter l'image ?
 REM  2D_CIRCLE cx,cy,r

 END
A la dernière ligne de ce programme, j'ai rencontré un problème très agaçant qui ne se voit pas dans le GFA Basic ! Il s'agit d'un cercle de bordure qui escamote la dentelle. Très très fâcheux pour moi  !!!  Avez vous une solution pour ça , s'il vous plaît ? Merci !    
Comme toujours, les amis,  faites ce que vous voulez avec ce programme !    lol!
Revenir en haut Aller en bas
papydall

papydall


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

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 18:17

Salut Parpaiun

Très beau dessin comme toujours.
Pour le petit problème du cercle de bordure qui escamote la dentelle, c’est parce que le tracé d’un cercle en Panoramic ne fait pas uniquement de tracer le pourtour du cercle, mais le disque du cercle, donc forcement, ça efface ce qui était dessiné en dessous.
Bon, je sais que je ne  sais pas bien expliquer les choses, mais pour contourner le problème, tu peux tracer ton cercle point par point comme ceci

Code:
 bordure:
 ex=cx+x(i-1+n): ey=cy+y(i-1+n)
 r=sqr((cx-ex)*(cx-ex)+(cy-ey)*(cy-ey)) : r=int(r)
'  Comment empêcher le cercle de bordure d'escamoter l'image ?
'  2D_CIRCLE cx,cy,r
2d_poly_from cx+r,cy
for i = 0 to 360
    2d_poly_to cx+r*cos(i*rad),cy+r*sin(i*rad)
next i


PS : Tu sais ce que je pense de GOTO, donc No Comment! Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 19:14

Tout à fait Papydall t'a répondu et a donné une astuce pour tracer le tour.
Je suis parti sur l'autre solution qui est de dire que l'on ne veut pas que le remplissage se fasse.
J'ai également modifié un peu le programme qui marchait très bien mais qui dépasse la taille de mon écran de portable (ben oui désolé, je travail sur un portable avec un écran large mais avec seulement 800 en hauteur).

Ma version réduit donc l'image. (J'a irepensé qu'après avoir modifié à f qui m'aurait éviter d'avoir à modifier le code ...)

Elle retire aussi le remplissage du cercle et j'ai modifié le calcul du rayon car chez moi, le rayon était souvent plus petit et certains points étaient à l'exterieur du cercle

Code:
REM =========================================================
REM  Auteur: Parpaiun
REM  Date-version: 22/05/2015
REM      d après <Art trigono-plastique> de Bern-Art Bonbon
REM
REM =========================================================
REM
caption 0,"DENTELLES FANTAISIE"
dim a,b,c,d,e,h,i,j,k,mr,n,r,r$,s,sw,u,v, ymin
height 0,750 : width 0,750
label debut,init,bordure,boucle
n=16  :' nombre de branches doubles par niveau
dim x(n*2),y(n*2)
dim ag  : ag =360/n
dim rad : rad=acos(-1)/180
dim cs, ss : cs=cos(ag*rad):ss=sin(ag*rad)
dim cx, cy : cx=(width(0)-50)/2:cy=(height(0)-50)/2  :' centre de la figure
    ymin = cy
dim f : f=0.8  :' facteur d'agrandissement/réduction de l'image
debut:
 k=18:c=0:d=0
 sw = sw + 1: if sw > 5 then sw = 1
 cls
  init:
  for i=1 to (n*2): x(i)=0: y(i)=0: next i
    boucle:
    k = k - 1: if k<6 then k=6
    select sw
      case 1 : h=(rnd(k*1.5)-5)*2 : v=(rnd(k*1.5)-5)*2 : u=190
      case 2 : h=int(rnd(k)-2)*2 : v=int(rnd(k)-2)*2  : u=210
      case 3 : h=int(rnd(k)*3)-int(rnd(k)*2) : v=int(rnd(k)*3)-int(rnd(k)*2) :  u=90
      case 4 : h=int(rnd(k)-3)*2-int(rnd(k)-2)*2 : v=int(rnd(k)-3)*2-int(rnd(k)-2)*2 : u=100
      case 5 : h=int(rnd(k*0.9)-2.5)*2 : v=int(rnd(k*0.9)-2.5)*2  : u=300
END_SELECT
2D_POLY_FROM cx+x(1)*f,cy+y(1)*f
 x(1)=x(1)+h : y(1)=y(1)+v
 d=d+1: if d<100 then goto init
 c=c+1: if c>u then goto bordure
2D_POLY_TO cx+x(1)*f,cy+y(1)*f

REM ===========================================
2D_POLY_FROM cx+x(n+1)*f,cy+y(n+1)*f
 x(n+1)=x(1) : y(n+1)=-1*y(1)
2D_POLY_TO cx+x(n+1)*f,cy+y(n+1)*f

REM ===========================================
for i=2 to n
 2D_POLY_FROM cx+x(i)*f,cy+y(i)*f
  x(i)=x(i-1)*cs-y(i-1)*ss
  y(i)=x(i-1)*ss+y(i-1)*cs
 2D_POLY_TO cx+x(i)*f,cy+y(i)*f

 REM ==========================================
 2D_POLY_FROM cx+x(i+n)*f,cy+y(i+n)*f
  x(i+n)=x(i+n-1)*cs-y(i+n-1)*ss
  y(i+n)=x(i+n-1)*ss+y(i+n-1)*cs
 2D_POLY_TO cx+x(i+n)*f,cy+y(i+n)*f
 if (cy+y(i+n))*f < ymin then ymin = (cy+y(i+n))*f
 next i
goto boucle

'
bordure:
 r=cy - int(ymin) - 67
'  Comment empêcher le cercle de bordure d'escamoter l'image ?
2D_fill_off : 2D_pen_width 3 : 2D_CIRCLE cx,cy,r

 END
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 19:31

Salut tous le monde !

Bravo Parpaiun pour cette belle dentelle ! (Huuummmm la dentelle...)

@Jicehel :
Pas mal cette inscruction '2D_fill_off', mais tu la sort d'ou ??? drunken
Elle est même pas référencé dans la doc en ligne... scratch scratch

Il faudra dire a Jack de mettre a jour la doc dans sa todo liste.
Le pauvre, on le laissera jamais tranquille. Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 19:35

On en a parlé il n'y a pas longtemps. Ca existe depuis la version instantanée de juillet 2014 il me semble.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 19:40

Merci pour l'info Jicehel.

C'est noté.
Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptyVen 22 Mai 2015 - 22:20

Voici une copie de l'annonce d'une des  versions instantanées:
Citation :
Version instantanée du 16 décembre 2014 : PANORAMIC V 0.9.26i3

NUMBER_ACTIVATE : numéro du dernier objet (FORM) activé
NUMBER_SHOW : numéro du dernier objet (FORM) visible

TRIGGER_CLICK N : simule un événement ON_CLICK sur l'objet système numéro N

2D_FILL_ON : à leur création, les formes 2D_CIRCLE et 2D_RECTANGLE sont remplies avec la couleur 2D_FILL_COLOR
2D_FILL_OFF : à leur création, les formes 2D_CIRCLE et 2D_RECTANGLE sont transparentes

ARCHIVER_ON : démarre l'archiveur
ARCHIVER_ADD D$, F$ : archive le contenu du répertoire D$ dans le fichier F$
ARCHIVER_EXTRACT F$, D$ : extrait le fichier archive F$ dans le répertoire D$. Attention, D$ doit exister.
ARCHIVER_OFF : arrête l'archiveur

exemple d'archivage :

Code:
   rem archives directory source into file fff.zip
   ARCHIVER_ON
   ARCHIVER_ADD "source", fff.zip
   ARCHIVER_OFF


exemple d'extraction :

Code:
   rem extracts file fff.zip into directory dest
   DIR_MAKE "dest"
   ARCHIVER_ON
   ARCHIVER_EXTRACT fff.zip, "dest"
   ARCHIVER_OFF



Correction de bugs :
appel d'un SUB avec chaine de caractère possédant le caractère = (égal)
DELETE et ON_CLICK étaient inefficaces sur un SCENE2D

Je te suggère de te constituer un fichier texte dans lequel tu pourrais copier toutes ces annonces des versions instantanées, jusqu'à ce qu'elles soient remplacées par la prochaine version officielle.

Voici le mien:
Spoiler:
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Parpaiun

Parpaiun


Nombre de messages : 192
Age : 84
Localisation : HERAULT
Date d'inscription : 15/04/2015

Une dentelle fantaisie Empty
MessageSujet: Revue du sujet   Une dentelle fantaisie EmptySam 23 Mai 2015 - 0:07

Merci Klaus pour ces nouvelles fonctions Panoramic de 2014. Mais, à mon étonnement, la fonction 2D_FILL_OFF introduite à côté de "2D_CIRCLE x,y" dans mon programme a donné le message : "Not correct expression. line: 66". Cette première fonction n'est pas rendue opérationnelle il me semble ! Pourquoi ? Question Question Question
Revenir en haut Aller en bas
Parpaiun

Parpaiun


Nombre de messages : 192
Age : 84
Localisation : HERAULT
Date d'inscription : 15/04/2015

Une dentelle fantaisie Empty
MessageSujet: Revue du sujet   Une dentelle fantaisie EmptySam 23 Mai 2015 - 0:17

Merci à Jicehel et Minibug pour avoir admiré mon programme "DENTELLE FANTAISIE" !

Merci aussi à Papydall pour avoir résolu le problème de l'image escamotée par la fonction 2D_CIRCLE, grâce à une astuce toute bête mais efficace. J'ai dû avertir Klaus que la fonction "2D_FILL_OFF" introduite dans mon programme à côté de 2D_CIRCLE n'est pas opérationnelle, ayant abouti à une erreur. (Voir le message ci-dessous que je lui ai passé). Atchao bonsoir !
Sleep Sleep Sleep
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptySam 23 Mai 2015 - 0:21

C'est par ce que pour l'utiliser, il ne fautpas utiliser la dernière version récupérable sur le site WEB, mais aller récupérer la version avec editeur présente sur le Webdav de Jack. Toutes les commandes qu'à énumérées Klaus ont été ajoutées depuis.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptySam 23 Mai 2015 - 0:34

Ca marche avec la version V0.9.25i6. Essaie ce code:
Code:
picture 1
color 1,255,255,0
2d_pen_color 0,0,0
2d_circle 40,40,15
2d_fill_off
2d_circle 70,70,15
end
Et voici le résultat:
Une dentelle fantaisie Aa125

Mais comme dit Jicehel, encore faut-il avoir la dernière version...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptySam 23 Mai 2015 - 0:44

La dernière version est ici

Fichier : PANORAMIC_EDITOR.exe
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie EmptySam 23 Mai 2015 - 10:18

C'est vrai qu'entre les MAJ et les nouvelles versions, on est parfois un peu perdu ! drunken

Merci a toi klaus pour ces détails que tu as donné.

Wink Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Une dentelle fantaisie Empty
MessageSujet: Re: Une dentelle fantaisie   Une dentelle fantaisie Empty

Revenir en haut Aller en bas
 
Une dentelle fantaisie
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Boutons (un peu) fantaisie

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: