Fractal Asteroid
•Ogni nuovo punto p viene spostato dalla sua posizione lungo la retta cm-p di una quantita’ casuale dipendente dalle posizioni di p1 e p2
•
•
•
•
•Point3f mp=(p0+p1)/2.0;
•float r=(Distance(p0,BC)+Distance(p1,BC))/2.0;
•float l=Distance(p0,p1); // Edge Lenght
•l=l*strenght;
•srand48(seed + p0.Hash() + p1.Hash());
•// Displacement depends only on the two vertexes p0,p1
•float d=drand48()-0.5f;
•mp=BC+Normalize(mp-BC)*(r+d*l/2.0);
cm
p
p0
p1