Vorrei sapere come ottenere un punto specifico sulla circonferenza di un cerchio, dato un angolo. Il diametro del cerchio è 1 e il punto centrale del cerchio è { X: 0.5, Y: 0.5 }
.
Vorrei sapere come ottenere un punto specifico sulla circonferenza di un cerchio, dato un angolo. Il diametro del cerchio è 1 e il punto centrale del cerchio è { X: 0.5, Y: 0.5 }
.
Risposte:
Puoi risolverlo usando la trigonometria di base. http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
Ricordo sempre quanto sopra
The Old Arab
Sat On His
Camel And Howled
Quanto sopra significa che se abbiamo l'angolo e una lunghezza di un triangolo rettangolo possiamo calcolare le lunghezze degli altri lati. Fortunatamente il tuo problema può essere considerato come il calcolo della lunghezza dei lati del triangolo:
Sopra, r è l'ipotenusa, x è l'adiacente e y è l'opposto.
Quindi per x:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
E per te:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
Questo presuppone un cerchio in (0, 0), quindi aggiungiamo semplicemente il centro del cerchio.
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
Nota: le funzioni matematiche C # usano gli angoli in radianti, quindi se hai gradi convertili prima:
radians = degrees * Math.PI / 180