commit 2c1fadabc59b94f1072b8e83be7b24e723e369ee
parent 67e9de6feef61cc16ab9a107178e9e71dad5f560
Author: Yoann <yoann.b87@voila.fr>
Date: Fri, 30 Sep 2011 07:54:57 +0200
Suite de la fonction PerlinNoise (pas encore terminée).
Diffstat:
| M | roam.c | | | 24 | ++++++++++++++++++++++++ |
1 file changed, 24 insertions(+), 0 deletions(-)
diff --git a/roam.c b/roam.c
@@ -33,6 +33,7 @@
* côté (vApex,vRight).
*
*/
+
/* Permet de récupérer la taille de la base du triangle (hypoténuse).*/
// TODO Optimisze la fonction pour éviter la racine carée.
@@ -40,16 +41,39 @@ int getFirstTriangleSize(Triangle* t) {
return sqrt(((t->vRight->x - t->vLeft->x)^2) + ((t->vRight->y - t->vLeft->y)^2));
}
+// TODO Yoann : Générateur pseudo-aléatoire.
+// Mettre la greaine au carré et récupérer simplement les nombres du centre.
+int getValueForSeed(int seed) {
+
+ return seed;
+}
+
+/* Interpolation cosinusoïdale entre deux points.*/
+// A optimisze par aproximation.
+int interpolationCos(int x, int y) {
+ x = x;
+ y = y;
+ return 0;
+}
+
short** PerlinNoise(Triangle* t) {
short **values;
int triangleSize = getFirstTriangleSize(t);
int i;
+ int seed;
+ int x,y;
+ seed = (int)(t->vApex->x / triangleSize + t->vApex->y / triangleSize)*1111;
values = (short**) malloc(sizeof(short*)*triangleSize);
for(i=0; i<triangleSize;i++)
values[i] = (short*) malloc(sizeof(short)*triangleSize);
+ for(i=0; i<8;i++) {
+ x = getValueForSeed(seed);
+ y = getValueForSeed(x);
+ values[x][y] = 255;
+ }
// TODO Yoann : tout le reste.
return values;