Hi,

I have written two small programs that were to generate my surface normals and the co-ordinates for drawing a circle. I however am having problems. The result’s of the programs some time include

-1.#IND

I have no idea what this means, the code is:

Circles

#include <iostream.h>

#include <math.h>

int radius =0, strips =0, i;

float angle = 0.0, x =0.0, z = 0.0;

void main ()

{

cout << "Enter Radius, Number of strips:

";

cin >> radius >> strips;

```
for (i = 0; i <= strips; i++)
{
angle = ((float) i) / ((float) strips);
angle = 360.0 * angle;
x = radius * cos(angle);
z = radius * sin(angle);
cout << "x = " << x << "
```

z = " << z << "

";

```
}
```

}

Surface Normals

#include <math.h>

#include <iostream.h>

float V1 [3], V2 [3], N [3], A [3], B [3], C [3];

float scale;

char temp;

bool quit;

void main()

{

while (!quit) {

cout << "

";

cout << "Please enter the co-ordinates for A, B, C:

";

cout << "B****A

C****D

";

```
cin >> A[0] >> A[1] >> A[2];
cin >> B[0] >> B[1] >> B[2];
cin >> C[0] >> C[1] >> C[2];
cout << A[0] << A[1] << A[2];
cout << B[0] << B[1] << B[2];
cout << C[0] << C[1] << C[2];
V1[0] = B[0] - A[0];
V1[1] = B[1] - A[1];
V1[2] = B[2] - A[2];
V2[0] = C[0] - B[0];
V2[1] = C[1] - B[1];
V2[2] = C[2] - B[2];
N[0] = (V1[1] * V2[2]) - (V1[2] * V2[1]);
N[1] = (V1[2] * V2[0]) - (V1[0] * V2[2]);
N[2] = (V1[0] * V2[1]) - (V1[1] * V2[0]);
scale = (float) sqrt ((N[0] * N[0]) + (N[1] * N[1]) + (N[1] * N[1]));
N[0] = N[0] / scale;
N[1] = N[1] / scale;
N[2] = N[1] / scale;
//B****A
//* *
//* *
//* *
//* *
//C****D
cout << "
```

" << N[0] << N[1] << N[2] << "

";

cout << "Any more surface normals calculate?

";

cin >> temp;

```
if (temp == 'n')
quit = true;
}
```

}

I would be most grateful for help.

Thanks, Paul