# Moebius Strip

Hi

I’d like to draw a Moebius-Strip. But I got several problems in doing so. I had the following idea: slowly rotateing the line around the center and in parallel I try to describe a circle with the center of the line (y-rotation). If I use the opengl functions there is no problem with that. But how do I get the rotated and translated start and end coordinates of the line? I need the coords as input for the quadstrip that I want to draw. Tips and tricks are welcome. PS: If someone got some code on this topic, maybe I could read it and hopefully get the “aha”-effect. PPS: I have to apologize for my english, its not my native language. I tried it in another way. Some code.

`````` glBegin(GL_POINTS);

for(a = 0; a < 2*PI; a += 0.2)
{

for(r = -1; r <= 1; r += 0.1)
{

p1.x = cos(a)* ( 1+ (r/2 * cos(a/2)) );
p1.y = sin(a)* ( 1+ (r/2 * cos(a/2)) );
p1.z = r/2 *sin(a/2);

glVertex3f(p1.x, p1.y, p1.z);

}
}
glEnd();
``````

This works fine, I’m using a mathematical description of what I want to draw. Here the problem is, its drawn as point set. I tried to set the variable r fix and deleting the inner loop, but then there only appears a “circle” nothing more…I mistook something with the math. My thoughts were, if I set the r to -1 and 1 I’ll get the max and min point for one line, but that seems to be wrong… Hope someone can correct me.

``````glBegin(GL_POINTS);

for(a = 0; a < 2*PI; a += 0.2)
{

p1.x = cos(a)* ( 1+ (-1/2 * cos(a/2)) );
p1.y = sin(a)* ( 1+ (-1/2 * cos(a/2)) );
p1.z = -1/2 *sin(a/2);

glVertex3f(p1.x, p1.y, p1.z);

p2.x = cos(a)* ( 1+ (1/2 * cos(a/2)) );
p2.y = sin(a)* ( 1+ (1/2 * cos(a/2)) );
p2.z = 1/2 *sin(a/2);

glVertex3f(p2.x, p2.y, p2.z);

}
glEnd();
``````

ah lol i got it my compiler did “integer division” instead of floatingpoint division 