C/C++

Написание цикла линий

Как написать цикл для вот этого?
void LINES(void) {
glLineWidth(0.1);
glColor3f(0, 0, 0);
glBegin(GL_LINES);
glVertex2f(0.1, -1.0);
glVertex2f(0.1, 0.0);
glVertex2f(0.2, -1.0);
glVertex2f(0.2, 0.0);
glVertex2f(0.3, -1.0);
glVertex2f(0.3, 0.0);
glVertex2f(0.4, -1.0);
glVertex2f(0.4, 0.0);
glVertex2f(0.5, -1.0);
glVertex2f(0.5, 0.0);
glVertex2f(0.6, -1.0);
glVertex2f(0.6, 0.0);
glVertex2f(0.7, -1.0);
glVertex2f(0.7, 0.0);
glVertex2f(0.8, -1.0);
glVertex2f(0.8, 0.0);
glVertex2f(0.9, -1.0);
glVertex2f(0.9, 0.0);

glVertex2f(0.0, -0.1);
glVertex2f(1.0, -0.1);
glVertex2f(0.0, -0.2);
glVertex2f(1.0, -0.2);
glVertex2f(0.0, -0.3);
glVertex2f(1.0, -0.3);
glVertex2f(0.0, -0.4);
glVertex2f(1.0, -0.4);
glVertex2f(0.0, -0.5);
glVertex2f(1.0, -0.5);
glVertex2f(0.0, -0.6);
glVertex2f(1.0, -0.6);
glVertex2f(0.0, -0.7);
glVertex2f(1.0, -0.7);
glVertex2f(0.0, -0.8);
glVertex2f(1.0, -0.8);
glVertex2f(0.0, -0.9);
glVertex2f(1.0, -0.9);
glEnd();
}
void LINES(void) {
glLineWidth(0.1);
glColor3f(0, 0, 0);
glBegin(GL_LINES);
for (double i = 0.1; i <= 0.9; i+=0.1)
{
glVertex2f(i, -1.0);
glVertex2f(i, 0.0);
}
for (double i = -0.1; i >= -0.9; i -=0.1)
{
glVertex2f(0.0, i);
glVertex2f(1.0, i);
}
glEnd();
}
Олег Любитель
Олег Любитель
1 091
Лучший ответ
#include
#include

using namespace std;

void glVertex2f(double x, double y);

int main(int argc, char **argv)
{
system("chcp 1251 > nul"); // Руссификация сообщений
setlocale(LC_ALL, "Russian");
/*
glVertex2f(0.1, -1.0);
glVertex2f(0.1, 0.0);
glVertex2f(0.2, -1.0);
glVertex2f(0.2, 0.0);
glVertex2f(0.3, -1.0);
glVertex2f(0.3, 0.0);
glVertex2f(0.4, -1.0);
glVertex2f(0.4, 0.0);
glVertex2f(0.5, -1.0);
glVertex2f(0.5, 0.0);
glVertex2f(0.6, -1.0);
glVertex2f(0.6, 0.0);
glVertex2f(0.7, -1.0);
glVertex2f(0.7, 0.0);
glVertex2f(0.8, -1.0);
glVertex2f(0.8, 0.0);
glVertex2f(0.9, -1.0);
glVertex2f(0.9, 0.0);
*/

double x= 0.1;
while (x<0.91)
{
glVertex2f(x, -1.0);
glVertex2f(x, 0.0);
x+= 0.1;
}
double y= -0.1;
while (y>-0.99)
{
glVertex2f(0.0, y);
glVertex2f(1.0, y);
y-= 0.1;
}

/*
glVertex2f(0.0, -0.1);
glVertex2f(1.0, -0.1);
glVertex2f(0.0, -0.2);
glVertex2f(1.0, -0.2);
glVertex2f(0.0, -0.3);
glVertex2f(1.0, -0.3);
glVertex2f(0.0, -0.4);
glVertex2f(1.0, -0.4);
glVertex2f(0.0, -0.5);
glVertex2f(1.0, -0.5);
glVertex2f(0.0, -0.6);
glVertex2f(1.0, -0.6);
glVertex2f(0.0, -0.7);
glVertex2f(1.0, -0.7);
glVertex2f(0.0, -0.8);
glVertex2f(1.0, -0.8);
glVertex2f(0.0, -0.9);
glVertex2f(1.0, -0.9);
*/
cout << endl;
system("pause"); // system("pause > nul");
return 0;
}
void glVertex2f(double x, double y)
{
cout << "X= " << setw(5) << x << "Y= " << setw(5) << y << endl;
}
Александр Кулакевич возьми только циклы, остальное для демонстрации
ну в первом просто на 0.1 увеличивается, а другая чередуется, во втором то же самое, но на 0.1 уменьшается уже вторая координата
Вова Чечетенко
Вова Чечетенко
12 733
Не вижу закономерности в построении линий. Значит делай статический массив и выводи линии перебирая его элементы. Можешь вынести в *.h файл