Arc de cercle avec deux points et le centre [Résolu]

benbedo 16 Messages postés lundi 13 septembre 2004Date d'inscription 3 décembre 2004 Dernière intervention - 6 oct. 2004 à 09:48 - Dernière réponse : benbedo 16 Messages postés lundi 13 septembre 2004Date d'inscription 3 décembre 2004 Dernière intervention
- 7 oct. 2004 à 09:23
Bonjour, juste une question graphique de base, comment faire pour tracer un arc de cercle à partir des deux point extrêmes et du centre du cercle, sachant qu'il y a deux arcs possible donc qu'il faut pouvoir specifier lequel tracer.
Merci

Benbedo
Afficher la suite 

8 réponses

Meilleure réponse
cs_rene38 1858 Messages postés samedi 29 juin 2002Date d'inscription 17 octobre 2013 Dernière intervention - 6 oct. 2004 à 18:57
3
Merci
petite correction :

If Xdep - Xcentre <> 0 Then
   AnglDep = Atn((Ydep - Ycentre) / (Xdep - Xcentre))
Else
   AnglDep = (2 - Sgn(Ydep - Ycentre)) * Pi / 2
End If
If Xarr - Xcentre <> 0 Then
    AnglArr = Atn((Yarr - Ycentre) / (Xarr - Xcentre))
Else
   AnglArr = (2 - Sgn(Yarr - Ycentre)) * Pi / 2
End If

Merci cs_rene38 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 oct. 2004 à 11:24
0
Merci
Utilise la fonction de l'API Windows ArcTo.

La fonction Circle de VB le permet aussi, mais il faut lui indiquer des angles et non des points !
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
benbedo 16 Messages postés lundi 13 septembre 2004Date d'inscription 3 décembre 2004 Dernière intervention - 6 oct. 2004 à 11:26
0
Merci
Arcto necessite 4 points, la je n'en donne que trois...
Benbedo
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 oct. 2004 à 11:54
0
Merci
oui : il demande le rectangle dans lequel sera tracé le cercle... Pas trop dur à définir si tu connais le rayon et un point du cercle...

_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
benbedo 16 Messages postés lundi 13 septembre 2004Date d'inscription 3 décembre 2004 Dernière intervention - 6 oct. 2004 à 12:53
0
Merci
ok donc en faite je dois donner les coordonnées des deux coins du carrée qui entoure mon cercle, mais aprés, les deux autres points se rapporte a quoi? au deux points, celui de départ et celui d'arrivé?
Je vais faire des tests. thx

Benbedo
benbedo 16 Messages postés lundi 13 septembre 2004Date d'inscription 3 décembre 2004 Dernière intervention - 6 oct. 2004 à 13:15
0
Merci
J'ai fais des essais, mais il ne sont pas concluant... peut etre peux-tu m'aider a comprendre l'API par un petit exemple, comment je peux faire pour tracer un arc de cercle de centre (x0,y0), de rayon r, partant du point (x1,y1) et allant jusqu'au point (x2,y2) ceci dans une picture box de taille widht*height.

J'ai essayé cela mais ca marche pas, ca ne trace qu'une droite:

ArcTo(Picture1.hdc, Picture1.Width / 2 - r , Picture1.Height / 2 - r , Picture1.Width / 2 + r, Picture1.Height / 2 + r, x1, y1 , x2 ,y2)


Benbedo
cs_rene38 1858 Messages postés samedi 29 juin 2002Date d'inscription 17 octobre 2013 Dernière intervention - 6 oct. 2004 à 18:32
0
Merci
Bonjour
voici qui devrait marcher :

Private Sub TraceArc(Xcentre As Double, Ycentre As Double, Xdep As Double, Ydep As Double, Xarr As Double, Yarr As Double)
Const Pi As Double = 3.14159265
Dim Rayon As Double, Verif As Double
Dim  AnglDep As Double
Dim  AnglArr As Double
Rayon = Sqr((Xcentre - Xdep) ^ 2 + (Ycentre - Ydep) ^ 2)
Verif = Sqr((Xcentre - Xarr) ^ 2 + (Ycentre - Yarr) ^ 2)
If Rayon <> Verif Then    MsgBox "Impossible": Exit Sub
If Xdep - Xcentre <> 0 Then
   AnglDep = Atn((Ydep - Ycentre) / (Xdep - Xcentre))
Else
   AnglDep = Pi / 2
End If
If Xarr - Xcentre <> 0 Then
   AnglArr = Atn((Yarr - Ycentre) / (Xarr - Xcentre))
Else
   AnglArr = Pi / 2
End If
Picture1.Circle (Xcentre, Ycentre), Rayon, , AnglDep, AnglArr
End Sub
benbedo 16 Messages postés lundi 13 septembre 2004Date d'inscription 3 décembre 2004 Dernière intervention - 7 oct. 2004 à 09:23
0
Merci
Merci bien pour ton aide... je vais tester cela...
Cela ne marche pas trés bien dans mon problème, mais cel vient surement de moi car dans la théorie ton programme semble fonctionner... j'ai du faire une erreur quelque part genre dans mes conversions de mesures ou d'angles... j'accepte ta réponse et je vais chercher de moi même... merci

Benbedo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.