C#の使用:
中心座標と半径がある場合、任意の次数の円のエッジの(x、y)座標を取得するにはどうすればよいですか?
おそらくSIN、TAN、COSIN、その他の10年生の数学が関係しています... :)
C#の使用:
中心座標と半径がある場合、任意の次数の円のエッジの(x、y)座標を取得するにはどうすればよいですか?
おそらくSIN、TAN、COSIN、その他の10年生の数学が関係しています... :)
どの言語にも適用できる数学的な解決策は次のとおりです。
x = x0 + r * cos(theta)
y = y0 + r * sin(theta)
x0
とy0
は中心の座標、r
は半径で、theta
単位はラジアンです。角度は、x 軸から反時計回りに測定されます。
これは、特に角度が度単位の場合の C# のコードです。
double x = x0 + r * Math.Cos(theta * Math.PI / 180);
double y = y0 + r * Math.Sin(theta * Math.PI / 180);
ピタゴラスの定理を使用 (x1、y1 は端点):
x1 = x + r cos(シータ)
y1 = y + r sin(シータ)
C# では、これは次のようになります。
x1 = x + radius * Math.Cos(angle * (Math.PI / 180));
y1 = y + radius * Math.Sin(angle * (Math.PI / 180));
ここで、すべての変数はdoubles
度angle
単位です
origin (j, k)
、 radius r
、 anglet
がラジアンの円の場合:
x(t) = r * cos(t) + j
y(t) = r * sin(t) + k