11月25日課題

図形を描く1

(円周上に中心位置をずらしながら図形を描いたもの)
int win;
double y;
double x;
double rad;

win=gopen(400,400); /* 描画ウィンドウを開く */
winname(win, "sample 1"); /* 名前をつける */
newpen(win, 1);

for(rad = -M_PI; rad < M_PI; rad+= 10 * M_PI / 180){
 y = 160 * sin(rad);
 x = 160 * cos(rad);
 fillarc(win, x + 200, y + 200, 10, 10, 0.0, 360.0, 1);
}

ggetch(); /* キー入力を待つ */
gclose(win); /* 描画ウィンドウを閉じる */

return 0;

図形を描く2

(アニメーションしながらスピログラフを描く)

int win;
double y;
double x = -190;
double rad;

win=gopen(400,400); /* 描画ウィンドウを開く */
winname(win, "sample 1"); /* 名前をつける */
newpen(win, 1);

for(rad = -M_PI; rad <= M_PI;rad+=M_PI / 180.0){
 x = 190 * sin(4 * rad) + 200;
 y = 190 * sin(5 * rad) + 200;
 pset(win, x,y);
 msleep(1.0);
}

ggetch(); /* キー入力を待つ */
gclose(win); /* 描画ウィンドウを閉じる */

return 0;