| 15_g_def_scale_3D_2.c |
1 #include<stdio.h>
2 #include<glsc3d_3.h>
3 #define WX (600)
4 #define WY (600)
5
6 #define XLEN (2.0 * M_PI)
7 #define YLEN (2.0 * M_PI)
8 #define ZLEN (2.0 * M_PI)
9 #define Imax (100)
10 #define Jmax (100)
11
12 int main()
13 {
14 g_init("Window", WX, WY);
15 // g_def_scale_3D_fix(0,
16 // -XLEN / 2, XLEN / 2,
17 // -YLEN / 2, YLEN / 2,
18 // -ZLEN / 2, ZLEN / 2,
19 // 20.0, 20.0,
20 // WX - 40.0, WY - 40.0);
21 g_def_scale_3D(0,
22 -XLEN / 2, XLEN / 2,
23 -YLEN / 2, YLEN / 2,
24 -ZLEN / 4, ZLEN / 4,
25 -XLEN / 2, XLEN / 2,
26 -YLEN / 2, YLEN / 2,
27 -ZLEN / 2, ZLEN / 2,
28 20.0, 20.0,
29 WX - 40.0, WY - 40.0);
30
31 double u[Imax][Jmax];
32 double dx = XLEN / Imax, dy = YLEN / Jmax,rx,ry;
33
34 for(int i = 0;i < Imax;i ++)
35 {
36 rx = (i + 0.5) * dx - XLEN / 2;
37 for(int j = 0;j < Jmax;j ++)
38 {
39 ry = (j + 0.5) * dy - YLEN / 2;
40 u[i][j] = sin(rx * ry) * 0.5;
41 }
42 }
43 for (int i_time = 0;; i_time++)
44 {
45 g_cls();
46 g_sel_scale(0);
47 g_boundary();
48 g_box_center_3D_core(0, 0, 0, XLEN, YLEN, ZLEN*0.5, 0, 1, 0);
49 g_bird_view_3D(-XLEN / 2, XLEN / 2,
50 -YLEN / 2, YLEN / 2,
51 Imax, Jmax,
52 u, 0, 1);
53 g_finish();
54 }
55 return 0;
56 }
|