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

benbedo
Messages postés
16
Date d'inscription
lundi 13 septembre 2004
Dernière intervention
3 décembre 2004
- 6 oct. 2004 à 09:48 - Dernière réponse : benbedo
Messages postés
16
Date d'inscription
lundi 13 septembre 2004
Dernière intervention
3 décembre 2004
- 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
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Dernière intervention
17 octobre 2013
- 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é 86 internautes ce mois-ci

cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 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
Messages postés
16
Date d'inscription
lundi 13 septembre 2004
Dernière intervention
3 décembre 2004
- 6 oct. 2004 à 11:26
0
Merci
Arcto necessite 4 points, la je n'en donne que trois...
Benbedo
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 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
Messages postés
16
Date d'inscription
lundi 13 septembre 2004
Dernière intervention
3 décembre 2004
- 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
Messages postés
16
Date d'inscription
lundi 13 septembre 2004
Dernière intervention
3 décembre 2004
- 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
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Dernière intervention
17 octobre 2013
- 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
Messages postés
16
Date d'inscription
lundi 13 septembre 2004
Dernière intervention
3 décembre 2004
- 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.