Alright, I'm trying to create my own version of a circle by using triangles, I guess right now my intended circle will be an octagon because it has 8 sides, well it will.

So far I have this one triangle:

The two sides on the left and right is known as r for radius which is equal to half of the window's height. Since I was going to try to deal with a circle with 8 "slices" the angle measure of the bottom angle has to be 45 degrees. and I use that to find the length of the top side which is done with this function:

double FindMissingSide(double a, double b, double C) { //ToRadians is a variable which is PI/180.0 double c = sqrt(pow(a, 2.0) + pow(b, 2.0) - 2 * a * b * cos(C * ToRadians)); return c; }

I use it in my drawing code (Yes I know I'm calculating the unknown side every time, but this is a small project so I'm not worried):

glPushMatrix(); glColor3f(1.0f, 1.0f, 1.0f); glTranslated((double)ScreenWidth/2.0, (double)ScreenHeight/2.0, 0.0); glBegin(GL_TRIANGLES); glVertex2d(0.0 - (FindMissingSide(r, r, 360.0/slices)/2), 0.0 - r); glVertex2d(0.0 + (FindMissingSide(r, r, 360.0/slices)/2), 0.0 - r); glVertex2d(0.0, 0.0); glEnd(); glPopMatrix();

Now before I went and created a for loop, I decided I'd create another triangle and rotate 45 degrees with

*glRotated(45.0, 0.0, 0.0, 1.0);*, which I would expect the two triangles to share one side, but it has a gap of about 3 degrees:

Now I said it seemed to have a gap of 3 degrees because if I set the x rotation to 42, it shares the side, but then it's off by 3 degrees, and the next triangle I would have to subtract 6 degrees because I already subtracted 3 from the last rotation.

I don't understand, I must be doing something plainly stupid and I don't see it. I would think that I must be calculating the missing side wrong somehow...

Any ideas?