私は2次元座標を持つ点を持っています。私は円の経路に従うためにポイントの座標値を変更する必要があります。円の周りの点を移動する
Cを使用してどのように実装しますか?
X = R * cos (phi) + center_X
Y = R * sin (phi) + center_Y
をし、ループ内でPHIを変更:
私は2次元座標を持つ点を持っています。私は円の経路に従うためにポイントの座標値を変更する必要があります。円の周りの点を移動する
Cを使用してどのように実装しますか?
X = R * cos (phi) + center_X
Y = R * sin (phi) + center_Y
をし、ループ内でPHIを変更:
あなたは極座標を使用することができます。
使用罪と
for (double t = 0; t < 2*Pi; t += 0.01) {
x = R*cos(t) + x_0;
y = R*sin(t) + y_0;
}
ここCOS:
又は角度のですラジアンの代わりに...
#include <math.h>
void Circle(float center_x, float center_y, float radius)
{
float point_x, point_y;
int ctr;
for (ctr = 0; ctr < 360; ctr += 1)
{
point_x = radius * cos(ctr * 3.1415926f/180.0f) + center_x;
point_y = radius * cos(ctr * 3.1415926f/180.0f) + center_y;
}
}
一度に1度ずつ中心点を中心に円を描きます。任意の量だけctrを増やして、ステップサイズを調整できます。
**強い**理由がない場合は、Cで 'double'を使用することをお勧めします。コード内の浮動小数点変数と定数はすべて' double'型でなければなりません。 – pmg
y軸についてsin()をcos()と混同していると思います。コードは次のとおりです。 point_y = radius * sin(ctr * 3.1415926f/180.0f)+ center_y;
あなたはポイントを円周にする必要がありますか?どのようなxとyの増分ですか?半径と中心点は何ですか?この宿題ですか? –
'#include'と 'sin()'と 'cos()'を使います。何を試しましたか? –
pmg
極座標を使用してパスを記述します。 –