-2
私はサークルを作成し、ユーザー入力に基づいて複数の円を作成するGUIを使用してプログラムを開発しようとしていますが、それらの円は同じサイズで、均等に間隔を置いていて、C++で円内に均等に円を描くコードは何ですか?
これは、これまでの私のコードです:
int PI = 3.14159265359;
int main(){
srand(time(0));
while(true){
Point tl(0,0); // to become top left corner of window
Simple_window win(tl,500,500,"Canvas"); // make a simple window
Circle c0(Point(250, 250), 200);
c0.set_color(rand()%243+23); // adjust properties of poly
win.attach(c0);
int n;
cout << "Enter Number of Cycles: ";
cin >> n;
if (n <= 0) break;
int genrand = rand();
int t = rand() * (2*PI);
// int xc = rand() % 200, yc = rand() % 200;
int r = 200*sin(PI/n)/(1 + sin(PI/n));
int x = 250 + r * cos(t);
int y = 250 + r * sin(t);
Vector_ref<Circle>rc;
Circle cr(Point(x,y),r);
cr.set_color(rand()%243+23);
for (int i = 0; i < n; i++){
rc.push_back(cr);
}
for(int k = 0; k < rc.size(); k++) win.attach(rc[k]);
win.wait_for_button(); // give control to the display engine
}
return 0;
}
はしかし、問題は、メイン円から別に何も円が出力に表示されていないということです...
そして?どうしたの? – Carcigenicate
私は自分自身を修正したので、内側のサークルは表示されません。 –
基本的なデバッグを追加してください:*プリントアウト*描かれるサークルの数と実際に描かれるサークルの数。あなたの期待と比較してください。補足:PIの価値が正確である桁数を知っていますか? – usr2564301