Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Rotation Algorithm n°2 | |
| | Auteur | Message |
---|
Parpaiun
Nombre de messages : 192 Age : 85 Localisation : HERAULT Date d'inscription : 15/04/2015
| Sujet: Rotation Algorithm n°2 Lun 22 Juin 2015 - 7:21 | |
| C'est une extension n°2 sur laquelle j'ai ajouté les images 2 et 3 à spécifier ligne 32 de mon programme. Nouvelles explications: Chaque point de l'image porte un numéro d'ordre relié à ses coordonnées en x et y. MID place un point milieu entre deux sommets JOIN relie par une droite deux points numérotés de façon à compléter un vide à l'intérieur de l'image. ROTATE effectue un remplissage rotatif par des droites régulièrement espacées dans un triangle défini par ses numéros. Suis je clair ? - Code:
-
REM =================================================================== REM REM ROTATION ALGORITHM REM REM =================================================================== REM Auteur: Parpaiun REM Date-version: 21/06/2015 REM =================================================================== LABEL retour DIM a,cx,cy,f,i,j,l,rn,sw,u,x,y,z DIM c(20),e(30,2),mx(24),my(24),n(40) f=3 :' Ecart entre droites l=3 a=0.6 FONT_SIZE 0,14
REM =================================================================== ' Paramètres de POLY ' p1 = Nombre de sommets du polygone ' p2 = Inclinaison du 1er côté en degrés ' p3 = Longueur de chaque côté ' p4 = Coordonnée en x du premier sommet ' p5 = Coordonnée en y du premier sommet REM =================================================================== height 0,980 : width 0,980 cx=480 : cy=475 REm Pour centrer exactement le polygone et préciser son centre ' 2D_CIRCLE cx,cy,420 ' 2D_CIRCLE cx,cy,3 ' 2D_line cx,50,cx,500 REM =================================================================== sw=2 :' Aiguillage vers un traitement SELECT sw CASE 1 POLY(3,240,726,480,56) MID(1,2) MID(2,3) MID(3,1) CENTRE() ROTATE6(1,4,7,1,6,7) ROTATE6(2,5,7,2,4,7) ROTATE6(3,5,7,3,6,7) JOIN12(1,7,4,7,2,7,5,7,3,7,6,7) Print: Print " IMAGE n°1 SUR 9" ' CASE 2 POLY(3,240,726,480,56) MID(1,2) MID(2,3) MID(3,1) CENTRE() ROTATE3(1,4,6) ROTATE3(4,6,5) ROTATE3(4,2,5) ROTATE3(6,5,3) JOIN6(4,6,5,4,6,5) Print: Print " IMAGE n°2 SUR 9" ' CASE 3 POLY(4,225,600,480,56) MID(1,2) MID(2,3) MID(3,4) MID(4,1) ROTATE3(2,5,6) ROTATE3(4,7,8) ROTATE3(1,8,5) ROTATE3(3,6,7) ROTATE3(5,6,7) ROTATE3(5,7,8) JOIN10(5,6,6,7,7,8,8,5,5,7) Print: Print " IMAGE n°3 SUR 9" END_SELECT
END REM ===================================================================
SUB POLY(p1,p2,p3,p4,p5) dim_local b,PI,RAD PI=acos(-1): rad=PI/180 : p2=p2*RAD x=p4 : y=p5 2D_POLY_FROM x,y :' Coordonnées du premier sommet u=u+1: mx(u)=x: my(u)=y i=i+1: c(i)=u b=2*PI/p1 for i=2 to p1 x=x+p3*COS(p2): y=y+p3*SIN(p2)*-1 2D_POLY_TO x,y u=u+1: mx(u)=x: my(u)=y c(i)=u p2=p2+b next i 2D_POLY_TO mx(1),my(1)
END_SUB ' SUB MID(m1,m2) u=u+1 mx(u)=(mx(m1)+mx(m2))/2 my(u)=(my(m1)+my(m2))/2 ' 2D_CIRCLE mx(u),my(u),3 i=i+1: c(i)=u END_SUB rem ============================ SUB CENTRE() 2D_CIRCLE cx,cy,2 u=u+1: mx(u)=cx: my(u)=cy i=i+1: c(i)=u END_SUB rem ============================ SUB ROTATE3(r1,r2,r3) for j=1 to 3 SELECT j CASE 1 z=r1 CASE 2 z=r2 CASE 3 z=r3 END_SELECT c(j)=z next j ROTATE_ALL(3)
END_SUB rem ============================== SUB ROTATE4(r1,r2,r3,r4) for j=1 to 4 SELECT j CASE 1 z=r1 CASE 2 z=r2 CASE 3 z=r3 CASE 4 z=r4 END_SELECT c(j)=z next j ROTATE_ALL(4)
END_SUB rem ============================= SUB ROTATE5(r1,r2,r3,r4,r5) for j=1 to 5 SELECT j CASE 1 z=r1 CASE 2 z=r2 CASE 3 z=r3 CASE 4 z=r4 CASE 5 z=r5 END_SELECT c(j)=z next j ROTATE_ALL(5)
END_SUB rem =============================
SUB ROTATE6(r1,r2,r3,r4,r5,r6) for j=1 to 6 SELECT j CASE 1 z=r1 CASE 2 z=r2 CASE 3 z=r3 CASE 4 z=r4 CASE 5 z=r5 CASE 6 z=r6 END_SELECT c(j)=z next j ROTATE_ALL(6) END_SUB rem ============================
SUB ROTATE_ALL(rn) DIM_LOCAL s$,x1,x2 for j=1 to rn e(j,1)=mx(c(j)) e(j,2)=my(c(j)) next j e(j,1)=e(1,1) e(j,2)=e(1,2) ' retour: for j=1 to rn x1=(e(j+1,1)-e(j,1))*(e(j+1,1)-e(j,1)) x2=(e(j+1,2)-e(j,2))*(e(j+1,2)-e(j,2)) n(j)=(f*l)/sqr(x1+x2) if n(j)>a then EXIT_SUB next j ' for j=1 to rn e(j,1)=e(j,1)+n(j)*(e(j+1,1)-e(j,1)) e(j,2)=e(j,2)+n(j)*(e(j+1,2)-e(j,2)) if j=1 2D_POLY_FROM e(j,1),e(j,2) Else 2D_POLY_TO e(j,1),e(j,2) END_IF next j e(j,1)=e(1,1) e(j,2)=e(1,2) 2D_POLY_TO e(j,1),e(j,2) s$=inkey$ : if s$<>"" then EXIT_PROC GOTO retour END_SUB rem ==================================
SUB JOIN6(j1,j2,j3,j4,j5,j6) 2D_LINE mx(j1),my(j1),mx(j2),my(j2) 2D_LINE mx(j3),my(j3),mx(j4),my(j4) 2D_LINE mx(j5),my(j5),mx(j6),my(j6) END_SUB rem =============================================
SUB JOIN10(j1,j2,j3,j4,j5,j6,j7,j8,j9,j10) 2D_LINE mx(j1),my(j1),mx(j2),my(j2) 2D_LINE mx(j3),my(j3),mx(j4),my(j4) 2D_LINE mx(j5),my(j5),mx(j6),my(j6) 2D_LINE mx(j7),my(j7),mx(j8),my(j8) 2D_LINE mx(j9),my(j9),mx(j10),my(j10) END_SUB rem ==============================================
SUB JOIN12(j1,j2,j3,j4,j5,j6,j7,j8,j9,j10,j11,j12) 2D_LINE mx(j1),my(j1),mx(j2),my(j2) 2D_LINE mx(j3),my(j3),mx(j4),my(j4) 2D_LINE mx(j5),my(j5),mx(j6),my(j6) 2D_LINE mx(j7),my(j7),mx(j8),my(j8) 2D_LINE mx(j9),my(j9),mx(j10),my(j10) 2D_LINE mx(j11),my(j11),mx(j12),my(j12) END_SUB Ce programme a été testé et reconnu OK par mes soins. J''ai encore six images à ajouter plus tard. A + et bonne journée ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Rotation Algorithm n°2 Mar 23 Juin 2015 - 3:49 | |
| C’est bien Parpaiun. Ce sont des belles figures. Tu avances bien dans l’apprentissage de Panoramic. Bonne continuation. Avec Panoramic, rien que du bonheur ! Tu vois, sur ce forum, on apprend tous les uns des autres et les uns avec les autres. On contribue parfois à plusieurs pour un programme comme c’est le cas actuellement pour le jeu avec PANGINE2D. Une 1ère idée de Jean Claude à laquelle ont participé Jean Claude ,Jicehel, Klaus, ygeronimi, … et moi-même. Nous avons eu des échanges d’idées et des astuces de programmation. Le tout baigne dans une ambiance d’humour. J’ai vu pleins de Forums et j’ose dire que l’ambiance dans le notre est bien meilleure ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Rotation Algorithm n°2 Mar 23 Juin 2015 - 8:14 | |
| Oui, la figure obtenue est très chouette. Quand tu auras fini, t’intéresseras tu à la colorisation ? Avec des formes intéressantes comme ça, un jolie colorisation rend la figure encore plus belle et c'est assez intéressant à réfléchir (même si c'est plus simple à faire que de concevoir une telle figure) | |
| | | Parpaiun
Nombre de messages : 192 Age : 85 Localisation : HERAULT Date d'inscription : 15/04/2015
| Sujet: Revue du sujet Mar 23 Juin 2015 - 10:13 | |
| Merci papydall et jicehel pour vos encourageantes réponses. Comme l'a dit papydall, que du bonheur. Je vais donc continuer l'extension de mon programme " Rotation algorithm". J'ai bien failli abandonner mon statut de membre actif avec cette impression de m'être fait plumer par des rapaces qui ne cherchent qu'à profiter eux-mêmes de la gloriole en promettant monts et merveilles avec leurs connaissance du langage Panoramic. Autrement dit, laissez les programmeurs faire tranquillement leur chemin et répondez leur comme il faut seulement quand ils demandent de l'aide. C'est bien mon cas, n'est ce pas ? Au fait, papydall, les droits d'auteur, qu'ils soient gratuits ou pas, seront ils respectés ? J'ai bien peur que certains d'entre vous profitent des programmes d'autrui pour se les approprier. Cela s'appelle spolier et c'est très vilain, ça. Y a t'il un règlement qui prévoit ça ? Il faut bien une base juridique pour que Panoramic défende ses droits et son existence à travers le temps. J'exagère peut-être mais je suis pour le respect des droits. Comme d'habitude, je vous prie de ne pas polémiquer méchamment sur tout ça. C'est tout ce que je demande. Merci de m'avoir lu. Bonne journée et à +. | |
| | | Parpaiun
Nombre de messages : 192 Age : 85 Localisation : HERAULT Date d'inscription : 15/04/2015
| Sujet: Revue du sujet Mar 23 Juin 2015 - 10:22 | |
| A jicehel, en réponse à ton souhait de colorisation, je te prie de bien vouloir patienter jusqu'à ce que j'aie terminé la programmation des 9 figures comme je l'ai maintes fois signalé à d'autres. Tu auras ainsi une meilleure vue d'ensemble et tu pourras faire ce que tu veux. Toutefois, veilles bien à respecter mon nom d'auteur. A bon entendeur, salut ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Rotation Algorithm n°2 Mar 23 Juin 2015 - 10:55 | |
| Je me permet de répondre sur tes propos - Parpaiun a écrit:
- Au fait, papydall, les droits d'auteur, qu'ils soient gratuits ou pas, seront ils respectés ? J'ai bien peur que certains d'entre vous profitent des programmes d'autrui pour se les approprier. Cela s'appelle spolier et c'est très vilain, ça.
Jusqu'à présent tout le monde partage ses codes avec tout le monde et profite des améliorations et des idées qu'ont les autres en s'étonnant, aimant ou non les modifications apportées. Jusqu'à présent personne ne cherche à voler le code d'autres car tout le monde est heureux de partager ses créations avec d'autres et est content si cela peut leur servir dans leur propres créations. Ce n'est pas spoiler mais créer en se basant sur ce que les autres ont eu la gentillesse de partager. Si tu ne veux pas que les gens se servent de tes codes, précise le comme tu l'a fait. Ce n'était pas trop jusque là dans l'esprit du fourum , mais je pense que maintenant que tout le monde a compris que tu ne souhaitais pas voir tes codes modifiés. Comme tu vois, je ne polémique pas méchament. Panoramic est la propriété de Jack, ça c'est clair et il nous laisse l'utiliser librement. La quasi totalité de Panoramicien partagent leur code librement sans demande de droits d'auteur. La plupart du temps quand on se sert du code d'autrui, on l'indique juste en haut dans les commentaires du début du programme. (Si on l'omet jusqu'à présent personne ne s'en offusque, c'est juste une forme de respect de l'auteur qui se sert du code de son ami de forum ou d'ailleurs sur internet ... Je ne me permettrais pas de modifier ton code pour en faire une version colorisée afin d'être totalement certain de respecter ton nom d'auteur (et en plus, je n'ai pas trop d'idées, et n'en ai ni trop le temps, ni trop l'envie) et comme tu peux le lire dans mon précédent commentaire, il était inutile d'écrire que tu l'avais maintes fois dit, puisque j'avais écris - Citation :
- Quand tu auras fini, t’intéresseras tu à la colorisation ?
"Le quand tu auras fini" signifiant quand tu auras " terminé la programmation des 9 figures comme tu l'as maintes fois signalé à d'autres". Bonne programmation et à bientôt | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Rotation Algorithm n°2 Mar 23 Juin 2015 - 12:19 | |
| Parfois quelqu'un part sur une idée et donne des inspirations à un autre. Et l'échange qu'il peut y avoir est très enrichissant. Tout cela se passe dans une très bonne entente et sans arrière pensée. Amuse toi à lire l'histoire de jjn4 sur les deux canasson "Belle de nuit 35" vs "Reine de Saba 26". Un grand moment de rigolade ! C'est ça l'esprit du forum. Le sujet en question, il est long mais tout le monde a appris quelque chose cette fois là : https://panoramic.1fr1.net/t1195-analyse-d-un-programme-source-basPS: c'est marrant mais le résultat de ton programme me fait penser à Escher... Personne n'aimerai se lancer dans ce genre de projet ? (perso, je ne suis pas assez calé en dessin pour réaliser ce genre de chose) | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Rotation Algorithm n°2 Mar 23 Juin 2015 - 15:55 | |
| - Parpaiun a écrit:
- J'ai bien failli abandonner mon statut de membre actif avec cette impression de m'être fait plumer par des rapaces qui ne cherchent qu'à profiter eux-mêmes de la gloriole en promettant monts et merveilles avec leurs connaissance du langage Panoramic
No comment ! Personnellement, quand je poste un programme complet ou même un bout de code, c’est que n’importe qui peut en faire ce qu’il souhaite. Mes codes ne sont pas des marques déposées. C’est du totalement libre. Si parfois (souvent) j’indique au début du code et en REM … Par Papydall , c’est uniquement pour moi. D’ailleurs si je conserve des codes qui ne sont pas de moi, j’ajoute presque toujours le nom de l’auteur pour me rappeler qui est qui. Tous les membres qui ont postés des codes m’ont appris des choses : soit une autre façon de concevoir un code, soit des trucs ou astuces de programmation, soit des idées à développer. Le SAVOIR est la seule chose qui AUGMENTE quand on le PARTAGE. Et le savoir ne vaut rien s’il n’est pas partagé ! Je me tais. Je retourne à mes vacations. | |
| | | Contenu sponsorisé
| Sujet: Re: Rotation Algorithm n°2 | |
| |
| | | | Rotation Algorithm n°2 | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |