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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionArcTo(Picture1.hdc, Picture1.Width / 2 - r , Picture1.Height / 2 - r , Picture1.Width / 2 + r, Picture1.Height / 2 + r, x1, y1 , x2 ,y2)
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