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.
Rotation Algorithm Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Rotation Algorithm Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Rotation Algorithm Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Rotation Algorithm Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Rotation Algorithm Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Rotation Algorithm Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Rotation Algorithm Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Rotation Algorithm Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Rotation Algorithm Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Rotation Algorithm Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Rotation Algorithm Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Rotation Algorithm Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Rotation Algorithm Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Rotation Algorithm Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Rotation Algorithm 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

 

 Rotation Algorithm

Aller en bas 
3 participants
AuteurMessage
Parpaiun

Parpaiun


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

Rotation Algorithm Empty
MessageSujet: Rotation Algorithm   Rotation Algorithm EmptyDim 21 Juin 2015 - 22:52

Ohé les aminches, bonsoir ! Voici la première ébauche du programme "ROTATION ALGORITHM" ! C'est mon premier long programme pour Panoramic ...

S'il vous plait, n'y touchez pas si l'exécution et l'image sont O.K.
Ce n'est pas terminé. J'ajouterai progressivement d'autres images au fur et à mesure dans le même programme jusqu'à concurrence de 9, vous avez bien lu, la preuve par neuf !

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=1  :' 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"
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 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

Que papydall m'épargne sa GOTOPHOBIE car il y en a un seul GOTO dans mon programme, merci !

Après avoir admiré l'image et le programme, dites moi un peu ce que vous en pensez. Et ne tirez pas trop sur le programmeur que je suis, re-merci !

A + et bonsoir la compagnie ! lol! lol! lol!
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Rotation Algorithm Empty
MessageSujet: Re: Rotation Algorithm   Rotation Algorithm EmptyDim 21 Juin 2015 - 23:08

Joli
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

Rotation Algorithm Empty
MessageSujet: Re: Rotation Algorithm   Rotation Algorithm EmptyLun 22 Juin 2015 - 1:02

Salut Parpaiun
Félicitation pour ce programme.
Bravo. On voit que tu t’es bien sorti pour adapter ton code GFA en Panoramic.
Le résultat est fort sympa, je te l’accorde, mais ….
Parpaiun a écrit:
S'il vous plait, n'y touchez pas si l'exécution et l'image sont O.K.

Pourquoi dis-tu ça ?
Tu ne veux pas qu’on t’aide ?  Tu ne veux pas qu’on te conseille ? Tu ne veux pas qu’on te donne une autre façon de coder une telle ou telle chose ?

Parpaiun a écrit:
Que papydall m'épargne sa GOTOPHOBIE car il y en a un seul GOTO dans mon programme, merci !

Je n’ai pas de phobie envers GOTO : mais je ne l’utilise jamais (ou presque) quand il est très facile de s’en passer !
J’ai toujours dis (et c’est ma conviction) que le GOTO c’est la négation de la programmation structurée, de la programmation procédurale, de la programmation événementielle.
Or la programmation en Panoramic est à la fois structurée, procédurale et événementielle.

Bon, on ne va faire de la polémique là-dessus pour ne pas envenimer l’atmosphère.

Je ne vais pas modifier ton programme, rassure-toi.
Seulement les SUB ROTATE3(…) , SUB ROTATE4(…), SUB ROTATE5(…) et SUB ROTATE6(…), je les coderais chacune en une seule ligne,  sans boucle FOR ni structure SELECT.
Je ne le fais pas puisque tu nous as, si gentiment,  interdit d’y toucher.

Rotation Algorithm Cool_012
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Parpaiun

Parpaiun


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

Rotation Algorithm Empty
MessageSujet: Revue du sujet   Rotation Algorithm EmptyLun 22 Juin 2015 - 7:05

Merci papydall pour être le premier parmi 172 membres à avoir admiré mon travail !

Je préfère qu'on ne touche pas à mon PROGRAMME INCOMPLET pour ne pas déranger mon organisation de programmation.

Pardon papydall de t'avoir dérangé dans ta philosophie panoramicienne acquise à propos des GOTO.

Je ne recherche pas du tout de polémique, et je tiens à garder franche et bonne camaraderie envers tous, toi compris.

Comme tu as pensé coder mes ROTATE en une seule ligne, chiche ! Dès que j'aurai enfin terminé mon programme, tu me diras ce que tu as trouvé comme solution de remplacement... Mais épargne toi de la peine ou de la fatigue à force de chercher la solution !

Pour ne pas encombrer cette revue, je lance à part une première extension de mon programme que tu pourras voir dans "Rotation Algorithm n°2"

Bonne journée ! lol!
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

Rotation Algorithm Empty
MessageSujet: Re: Rotation Algorithm   Rotation Algorithm EmptyLun 22 Juin 2015 - 11:57

OK, comme tu veux.

Parpaiun a écrit:
Comme tu as pensé coder mes ROTATE en une seule ligne, chiche ! Dès que j'aurai enfin terminé mon programme, tu me diras ce que tu as trouvé comme solution de remplacement... Mais épargne toi de la peine ou de la fatigue à force de chercher la solution !

Pourtant la solution saute aux yeux, mais ça va , comme tu voudras.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Parpaiun

Parpaiun


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

Rotation Algorithm Empty
MessageSujet: Revue du sujet   Rotation Algorithm EmptyLun 22 Juin 2015 - 13:59

Papydall et d'autres auraient il oublié ce message que je leur ai écrit ?

Pour ne pas encombrer cette revue, je lance à part une première extension de mon programme que tu pourras voir dans "Rotation Algorithm n°2":

Le programme en question, puisqu'il a été effacé des "derniers sujets" par suite d'encombrement, peut se retrouver dans les inutilitaires.

Merci de bien vouloir me fournir votre avis sur le résultat, et surtout pas d'aide que je n'ai pourtant pas demandé !

Pour l'aide, attendez que j'aie sorti les 9 images pour avoir une vision d'ensemble des appels de sous-programmes avant de m'apporter des solutions visant à réduire le nombre de lignes ! Merci ! Neutral Neutral Neutral

Revenir en haut Aller en bas
Contenu sponsorisé





Rotation Algorithm Empty
MessageSujet: Re: Rotation Algorithm   Rotation Algorithm Empty

Revenir en haut Aller en bas
 
Rotation Algorithm
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Rotation Algorithm n°2
» Rotation Algorithm n°3
» Rotation d'une figure de base
» Rotation de bitmap
» Rotation de bitmap (bis)

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: