#include #include #include /* 定数の定義 */ #define N (50) #define K (1000) #define PI (3.1415926) #define L (2*PI) #define T (100.0) main() { int i, k; float Y[N], dx; float dt; /* dx, dt を求める */ dx = L/(N - 1); dt = T/(K - 1); g_init("GRAPH", 200.0, 100.0); g_device(G_DISP); /* 仮想座標系の定義 */ g_def_scale(1, 0.0, L, -1.0, 1.0, 10.0, 10.0, 180.0, 80.0); g_sel_scale(1); for(k = 0; k < K; k++) { /* 外枠の描画 (消去して描き直す) */ g_cls(); g_area_color(G_WHITE); g_line_color(G_BLACK); g_line_width(2); g_box(0.0, L, -1.0, 1.0, G_YES, G_YES); g_move(0.0, 0.0); g_plot(L, 0.0); /* 円の属性を与える */ g_line_color(G_RED); g_area_color(G_RED); /* Y[i] を求める */ for(i = 0; i < N; i++) { Y[i] = sin(i*dx + k*dt); /* (i*dx, Y[i]) を点(円)で表示 */ g_circle(i*dx, Y[i], 0.005, G_YES, G_YES); } g_sleep(0.05); } g_sleep(G_STOP); g_term(); }