Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Path.addcurve(array) AIUTOOOOOOOO
Forum - C# / VB.NET - Path.addcurve(array) AIUTOOOOOOOO

Avatar
babbomarci (Normal User)
Newbie


Messaggi: 1
Iscritto: 03/08/2007

Segnala al moderatore
Postato alle 15:37
Venerdì, 03/08/2007
Ciao, devo disegnare una cura ad arco a video ma non mi viene e sinceramente non so più dove sbattere la testa, il codice che ho scritto è il seguente, se mi potete aiutare ve ne sarò grato. Visto che ho un arco noto mi piacerebbe riuscira passare come parametro del metodo addcurve un punto per ogni grado da disegnare...spero di essere stato abbastanza chiaro... intanto commento un po' di variabili, ce ne sono davvero tante perchè alla 100 volta che provavo volevo essere sicuro di non sbagliare niente nelle conversioni:

-beta1 e 2 sono i coefficienti angolari della retta passante per il centro ed il punto dell'arco(primo ed ultimo)
- m_beta1 e 2 sono beta1 e 2 convertiti da gradi in radianti
-beta è le lunghezza dell'arco un gradi
-X e Ycentro è il punto centrale del cerchio dell'arco da disegnare
-raggio è il raggio del cerchio
-curva è un array "point"

If Beta1 > Beta2 Then
For a As Integer = 1 To Beta - 1
      m_Beta1 = 0
      m_Beta1 = (Beta1 - a) * Math.PI / 180
      appoggioX = Xcentro + (Math.Cos(m_Beta1) * Raggio)
      appoggioY = Ycentro + (Math.Sin(m_Beta1) * Raggio)
      curva(a).Y = appoggioY
      curva(a).X = appoggioX
Next a
      Path.AddCurve(curva)
Else
For a As Integer = 1 To Beta - 1
      m_Beta2 = 0
      m_Beta2 = (Beta2 - a) * Math.PI / 180
      appoggioX = Xcentro + (Math.Cos(m_Beta2) * Raggio)
      appoggioY = Ycentro + (Math.Sin(m_Beta2) * Raggio)
       curva(a).Y = appoggioY
      curva(a).X = appoggioX
Next a
Path.AddCurve(curva)
End If
g.DrawPath(Pen, Path)

Vi ringrazio come al solito in anticipo perchè siete veramente dei grandi,
BabboMarci:-?:-?:-?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:08
Venerdì, 03/08/2007
Codice sorgente - presumibilmente Plain Text

  1. Graphics.DrawArc(Pens.Black, X, Y, R * 2, R * 2, Angolo_Iniziale, Angolo_Finale)


Disegna un arco di centro (X, Y), come la parte compresa tra Angolo_Iniziale e Angolo_Finale di un'ellisse inscritta in un rettangolo di dimensioni (2R, 2R) (ossia un cerchio).

PM Quote