#include "stdio.h" #include "stdlib.h" #include "math.h" typedef struct { double x,y,z; } XYZ; typedef struct { double r,g,b; } COLOUR; #define TWOPI 6.283185307179586476925287 #define PI 3.141592653589793238462643 XYZ Eval(double,double); void Normalise(XYZ *); XYZ CalcNormal(XYZ,XYZ,XYZ); #define Nu 200 #define Nv 20 #define CYCLES 5 #define R1 0.5 #define R2 0.2 #define PERIODLENGTH 2 int main(int argc,char **argv) { int i,j,k; double u,v,du,dv; XYZ q[4],n[4]; COLOUR colour = {0.0,0.0,1.0}; du = CYCLES * TWOPI / (double)Nu; dv = TWOPI / (double)Nv; for (i=0;ix * p->x + p->y * p->y + p->z * p->z); if (length != 0) { p->x /= length; p->y /= length; p->z /= length; } else { p->x = 0; p->y = 0; p->z = 0; } }