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.
Comment dessiner une ellipse ? Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Comment dessiner une ellipse ? Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Comment dessiner une ellipse ? Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Comment dessiner une ellipse ? Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Comment dessiner une ellipse ? Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Comment dessiner une ellipse ? Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Comment dessiner une ellipse ? Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Comment dessiner une ellipse ? Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Comment dessiner une ellipse ? Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Comment dessiner une ellipse ? Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Comment dessiner une ellipse ? Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Comment dessiner une ellipse ? Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Comment dessiner une ellipse ? Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Comment dessiner une ellipse ? Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Comment dessiner une ellipse ? 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
Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

 

 Comment dessiner une ellipse ?

Aller en bas 
+4
Yannick
papydall
Jicehel
Parpaiun
8 participants
AuteurMessage
Parpaiun

Parpaiun


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

Comment dessiner une ellipse ? Empty
MessageSujet: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 11:33

Help ! Help ! J'ai besoin de dessiner une ellipse et je ne trouve pas quelle primitive employer dans la liste des références Panoramic. Merci de m'aider S.V.P. ! Parpaiun scratch
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 11:43

Tu as la réponse ici: https://panoramic.1fr1.net/t3211-subs-de-trace-de-figures-geometriques

Je te met le lien car notre ami Papydall avait envoyer le code pour plusieurs figures très interessante et la proc extraite de son code est:

Code:
' ******************************************************************************
' Tracé d'une ellipse
' Appel : Ellipse(xc,yc,rx,ry)
' Paramètres:
' xc,yc : coordonnées du centre de l'ellipse
' rx et ry : respectivement rayon horizontal et rayon vertical de l'ellipse
' si rx = ry on obtient un cercle
' Exemple d'appel :
' Ellipse(250,220,100,200)
' Ellipse(250,220,200,100)

SUB Ellipse(xc,yc,rx,ry)
    dim_local x,y,t,pi,p
    pi = acos(-1) : p = pi/180
    2d_poly_from xc + rx,yc
    for t = 0 to 2*pi step p
        x = xc + rx * cos(t) : y = yc + ry * sin(t) : 2d_poly_to x,y
    next t
END_SUB
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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 17:12

Panoramic ne possède pas de commande pour le tracé d’une ellipse.
On peut facilement la coder.
L' équation paramétrique d'une ellipse centrée à l'origine est :
x(t) = a cos(t)
y(t) = b sin (t)

Pour une ellipse dont le centre est xc,yc, son équation devient :
x(t) = xc + a cos(t)
y(t) = yc + b sin (t)

avec
a : demi-diamètre (donc rayon) horizontal
b :  demi-diamètre (donc rayon) vertical
t : angle variant de 0 à 2*pi radians

Si a > b , on a une ellipse  horizontale
Si a < b , l’ellipse est verticale
Si a = b , on a affaire à  un cercle

En fait un cercle n’est qu’une ellipse dont les deux foyers sont confondus au centre.


Dernière édition par papydall le Lun 27 Avr 2015 - 18:43, édité 2 fois (Raison : Correction d'une erreur signalée par ygeronimi qui lit bien mes messages!)
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 17:27

Là tu as fait trop simple Papydall. Tu aurais pû nous sortir une formule sur la projection d'un cercle sur un plan donné pour obtenir une élipse ...  Wink   Je plaisante Papydall: ton explication (tout comme ta procédure) répond clairement à la demande


Dernière édition par Jicehel le Lun 27 Avr 2015 - 17:59, édité 1 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Comment dessiner une ellipse ? Empty
MessageSujet: Re   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 17:31

Ca y est, on a trouvé le responsable de la simplification des appellations à l' éducation nationale !

lol! lol! lol!

Papydal a écrit:
Si a > b , on a une ellipse  horizontale
Si a > b , l’ellipse est verticale
Si a = b , on a affaire à  un cercle
Revenir en haut Aller en bas
mindstorm

mindstorm


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 18:27

il est possible de faire une ellipse en appliquant un facteur d'échelle sur un des axes du cercle
mais cela ne vaut que si tu n'as pas d'exigence particulière quant à la géométrie de ton ellipse
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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 27 Avr 2015 - 18:54

@ ygeronimi

Ça prouve que parmi ceux qui lisent ma prose, il y a au moins un qui suit avec intérêt.
Merci ygeronimi, j’ai corrigé là-haut, mais détrompe toi : ce n’est pas moi le responsable   à l’éducation nationale Mad , quant à l’éducation internationale, je crois que je suis pour quelque chose ! Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyMar 28 Avr 2015 - 17:57

Bon, on peut tracer des ellipses (et accessoirement des cercles)  à l’aide de la gdi32.dll  qui se trouve nécessairement sur votre PC.
L'appel de la fonction Ellipse se fait comme suit :

Code:
ret% = dll_call5("Ellipse",hDC%,x1%,y1%,x2%,y2%)

Voici comment faire

Code:

rem ============================================================================
rem            Fonction Ellipse de gdi32.dll
rem pour dessiner une ellipse (et accessoirement un cercle)
rem ============================================================================
dim hDC%,x1%,y1%,x2%,y2%, ret%
hDC% = handle_canvas(0) : ' Handle_canvas de la FORM sur laquelle on dessine
' On définit un rectangle dans lequel sera placé l'ellipse
' Pour dessiner un cercle, il faut donc faire un carré
x1% = 10 : y1% = 100  : ' Coordonnées du point haut/gauche du rectangle
x2% = 300 : y2% = 200 : ' Coordonnées du point bas/droit du rectangle
dll_on "gdi32.dll"
ret% = dll_call5("Ellipse",hDC%,x1%,y1%,x2%,y2%) : ' une ellipse
ret% = dll_call5("Ellipse",hDC%,200,200,300,300) : ' un cercle

dll_off
message "Terminé"
rem ============================================================================


Dernière édition par papydall le Mer 19 Aoû 2015 - 1:36, édité 2 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyMar 28 Avr 2015 - 18:10

Très intéressant papydall, mais... (il y a toujours un mais comme tu dis), avec la gdi32.dll on ne sait pas (enfin, moi je ne sais pas) moduler la couleur et l'épaisseur du trait, les fonctions 2d_pen_width et 2d_pen_color sont inopérantes !
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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyMer 29 Avr 2015 - 2:13

Moi non plus, je ne sais pas comment moduler la couleur et l'épaisseur du trait. Embarassed
Par contre je sais que la fonction SetPixel de la gdi32.dll permet d'allumer un pixel avec la couleur transmise en paramètre.
Le problème c'est que je ne sais pas quelle constante attribuée à couleur.

Bon, un petit code vaut mieux que 1000 lignes de prose de Papydall

Code:

dim hDC%,a%,x%,y%,couleur%,ret%
hDC% = handle_canvas(0) : ' Handle_canvas de la FORM sur laquelle on dessine
' couleur% = quoi ?
dll_on "gdi32.dll"
for a% = 100 to 10000
    x% = 250+200*cos(a%/3)
    y% = 220+200*sin(a%/3.5)
    ret% = dll_call4("SetPixel",hDC%,x%,y%,couleur%)
next a%
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Comment dessiner une ellipse ? Empty
MessageSujet: re   Comment dessiner une ellipse ? EmptyMer 29 Avr 2015 - 5:44

@ Papydall,

Je reviens un peu en arrière.
Ma petite remarque concernait la formulation de jicehel et non tes explications.
Si tu suis un peu l' actualité française, nous avons récemment entendu les nouvelles
appellations de certaines activités scolaires, pondu par un hurluberlu de notre administration.
Et ce, soit disant, pour une simplification et une meilleur compréhension et communication.

bounce Y a des baffes qui se perdent ! ...et je suis gentil Wink .

Aller, stop, j' arrête de polluer ce sujet...je sors...
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 1:07

salut je remets au gout du jour ce code
un cercle et plus
Code:

' escape pour arreter
dim x0,y0,r,Px,Py,j%,n%,Pi,a,a0,a1,h,w
Pi = 4*ATN(1)
w=1
rem coordonnées du centre
x0=750
Y0=500
width 0,1500
height 0,1000
rem rayon
r=500

rem nombre de côtés
n%=80
a1 =( 2*Pi/n%)/w: ' angle de rotation de chaque côté

rem angle de début
a0=1

for h = 1 to 120
    Px = r * Cos(a0) + x0
    Py = r/w * Sin(a0) + y0
    2D_poly_from px,py
    a = a0
    For j% = 0 To n%
        a = a + a1
        Px = r*Cos(a) + x0
        Py = r/w*Sin(a) + y0
        2D_poly_to Px, Py
    Next j%
    wait 100
    cls
    a0 = a0 + 1
    w=w+0.1
next h
END
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 7:22

Bravo Sergeauze Wink
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 15:24

salut
Ce code est le fruit de la collaboration habituelle sur le forum
J’avais demandé comment dessiner un polygone
Jack à donné sa solution, jl35 l'a améliorée, puis j'y ai ajouté ma touche, le mouvement et la perspective;
on peut faire varier n% le nombre de cotes
Le lien du fil de discussion de l'époque
https://panoramic.1fr1.net/t818-un-fil-a-la-patte
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 16:11

Oui c'est bien quand il y a échanges. On peut profiter des idées, progresser et avoir d'autres idées suites aux échange (comme Klaus cette nuit avec l'idée de Papydall pour les espaces dans la pile Wink )
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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 18:12

… Et pour quelques modifications minimes, on part dans un autre univers, très loin de l’ellipse de départ.

Code:
dim x0,y0,r,Px,Py,j%,n%,Pi,a,a0,a1,h,w
Pi = 4*ATN(1)
w=1
rem coordonnées du centre
x0=750
Y0=500
width 0,1500
height 0,1000
rem rayon
r=500
caption 0,"<CLICK> pour arrêter"
rem nombre de côtés
n%=80
a1 =( 2*Pi/n%)/w: ' angle de rotation de chaque côté

rem angle de début
a0=1
color 0,0,0,0 : 2d_pen_color 255,255,0
for h = 1 to 120
    cls
    Px = r * Cos(a0) + x0
    Py = r/w * Sin(a0) + y0
    2D_poly_from px,py
    a = a0
    For j% = 0 To n%
        a = a + a1
        Px = r*Cos(a) + x0
        Py = r/w*Sin(a) + y0
        2D_poly_to Px, Py : 2D_poly_to Py, Px/2 : 2D_poly_to Py, Px/4
        if scancode <> 0 then terminate
    Next j%
    pause 50
    a0 = a0 + 1
    w=w+0.1
next h
END
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 19:00

Très chouette Papydall (pas le temps de coloriser, je rentre chez moi .... Wink )
Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 19:04

c'est joli !


Dernière édition par jimx78 le Lun 11 Mai 2015 - 19:17, édité 1 fois
Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 19:05

Message à supprimer


Dernière édition par jimx78 le Lun 11 Mai 2015 - 19:18, édité 1 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Comment dessiner une ellipse ? Empty
MessageSujet: re   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 19:10

Je dirai même plus, c' est joli...
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 22:25

Bon j'ai eu le temps de faire ma colorisation de ta courbe comme j'aime bien ^^

Code:
dim x0,y0,r,Px,Py,j%,n%,Pi,a,a0,a1,h,w
Pi = 4*ATN(1)
w=1
x0=750 : Y0=500  : ' coordonnées du centre
width 0,1500 : height 0,1000
r=500 : ' rayon
caption 0,"<CLICK> pour arrêter"
n%=160  : ' nombre de côtés
a1 =( 2*Pi/n%)/w : ' angle de rotation de chaque côté
a0=1            : ' angle de début
color 0,0,0,0 : 2d_pen_color 255,255,0: 2d_pen_width 20
for h = 1 to 120
    cls
    Px = r * Cos(a0) + x0 : Py = r/w * Sin(a0) + y0
    2D_poly_from px,py
    a = a0
    For j% = 0 To n%
        a = a + a1 :  Px = r*Cos(a) + x0 : Py = r/w*Sin(a) + y0
        2D_pen_color abs(Px - x0) /2, abs(Py - y0)/2, abs(75-j%)*3
        2D_poly_to Px, Py : 2D_poly_to Py, Px/2 : 2D_poly_to Py, Px/4
        if scancode <> 0 then terminate
        pause 50
    Next j%
    pause 150
    a0 = a0 + 1 :  w=w+0.1
next h
END
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 22:30

Mais qu'ont_il fait de mon ellispe confused
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


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

Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? EmptyLun 11 Mai 2015 - 22:45

IsontouKacé !! mdr Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Comment dessiner une ellipse ? Empty
MessageSujet: Re: Comment dessiner une ellipse ?   Comment dessiner une ellipse ? Empty

Revenir en haut Aller en bas
 
Comment dessiner une ellipse ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment dessiner rapidement un arc d'ellipse ?
» Dessiner sur A4
» Traçage d'un arc d'ellipse
» Dessiner sur une scène 3D
» dessiner une musique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: