/* plotfunc.c */ #include #include static float f(float x, float y) { return sin(x) * cos(y); } int main(int argc, char **argv) { int xDimension, zDimension, i, j; float xSpacing, zSpacing, minx, maxx, minz, maxz, miny, maxy; fprintf(stderr, "xDimension?\n"); scanf("%d", &xDimension); fprintf(stderr, "zDimension?\n"); scanf("%d", &zDimension); fprintf(stderr, "minx maxx?\n"); scanf("%f %f", &minx, &maxx); fprintf(stderr, "minz maxz?\n"); scanf("%f %f", &minz, &maxz); xSpacing = (maxx - minx) / (float)(xDimension-1); zSpacing = (maxz - minz) / (float)(zDimension-1); printf("#VRML V2.0 utf8\n"); printf("\n"); printf("Transform {\n"); printf(" translation %g %g 0\n", minx, minz); printf(" rotation 1 1 1 %g\n", M_PI*2./3.); printf(" children Shape {\n"); printf(" appearance Appearance { material Material {\n"); printf(" specularColor 0.8 0.8 0.8\n"); printf(" shininess 10\n"); printf(" } }\n"); printf(" geometry ElevationGrid {\n"); printf(" xDimension %d\n", xDimension); printf(" zDimension %d\n", zDimension); printf(" xSpacing %g\n", xSpacing); printf(" zSpacing %g\n", zSpacing); printf(" creaseAngle %g\n", M_PI/2.); printf(" height [ \n"); miny = HUGE; maxy = -HUGE; for (j=0; j maxy) maxy = y; } printf("\n"); } printf(" ]\n"); printf(" colorPerVertex FALSE\n"); printf(" color Color { color [ \n"); for (j=0; j