56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
|
delta = 2 + 3 + 61 + 83 + 87 + 67 + 23
|
||
|
- 45 - 137 - 253 - 393 - 557 - 745
|
||
|
- 957 - 1193 - 1453 - 1737 - 2045 - 2377
|
||
|
= - 11566
|
||
|
------------------------------------------
|
||
|
côté dérivée_1 dérivée_2
|
||
|
c (1) (d1) (d2)
|
||
|
------------------------------------------
|
||
|
1 . -76 --100 = 24
|
||
|
3 . -52 - -76 = 24
|
||
|
5 . -28 - -52 = 24
|
||
|
7 . -4 - -28 = 24
|
||
|
9 . 20 - -4 = 24
|
||
|
11 -23 . 44 - 20 = 24
|
||
|
13 45 - -23 = 68 68 - 44 = 24
|
||
|
15 137 - 45 = 92 92 - 68 = 24
|
||
|
17 253 - 137 = 116 116 - 92 = 24
|
||
|
19 393 - 253 = 140 140 - 116 = 24
|
||
|
21 557 - 393 = 164 164 - 140 = 24
|
||
|
23 745 - 557 = 188 188 - 164 = 24
|
||
|
25 957 - 745 = 212 212 - 188 = 24
|
||
|
27 1193 - 957 = 236 236 - 212 = 24
|
||
|
29 1453 - 1193 = 260 260 - 236 = 24
|
||
|
31 1737 - 1453 = 284 284 - 260 = 24
|
||
|
33 2045 - 1737 = 308 308 - 284 = 24
|
||
|
35 2377 - 2045 = 332 332 - 308 = 24
|
||
|
|
||
|
Pour calculer l'adresse mémoire des trois lignes
|
||
|
qui dessinnent l'étoile située au centre d'un cube
|
||
|
de côté 'c' il faut faire la somme des quatre termes :
|
||
|
- coeff_1 = step_z * space_Z + step_y * space_Y + step_x * space_X
|
||
|
- coeff_2 = (i * step_x + j * step_y + k * step_z) * 6
|
||
|
- center = space_X * space_Y * space_Z / 2 et
|
||
|
- delta = sigma (de 1 à c) des termes de la colonne 1
|
||
|
|
||
|
draw_a_central_star (lines_origin, coeff_1 + center + coeff_2 + delta)
|
||
|
|
||
|
static void draw_a_central_star(GLuint *lines_origin, int n)
|
||
|
{
|
||
|
draw_line (lines_origin, n + 0, n + 1);
|
||
|
draw_line (lines_origin, n + 2, n + 3);
|
||
|
draw_line (lines_origin, n + 4, n + 5);
|
||
|
}
|
||
|
|
||
|
static void draw_line (GLuint *lines_origin, int a, int b)
|
||
|
{
|
||
|
*(lines_origin + lines_index) = a; lines_index ++;
|
||
|
*(lines_origin + lines_index) = b; lines_index ++;
|
||
|
}
|
||
|
|
||
|
On calcule le dernier terme de 'delta' en connaissant
|
||
|
sa différence avec le terme précédent de la colonne (1).
|
||
|
|
||
|
On calcule cette différence (d1) en ajoutant 24
|
||
|
au terme précédent de la colonne (d1).
|