Конференция "Игры" » нарисовать трубу в OpenGL по точкам
 
  • crytogen (29.03.07 14:30) [0]
    мне необходимо нарисовать трубу в OpenGL по имеющимся точкам. точки образуют отрезки-оси цилиндров. как это сделать?
  • crytogen (29.03.07 14:49) [1]
    т.е. как рисовать цилиндры в принципе понятно. как правильно их развернуть и состыковать?
  • Nic (ro) (29.03.07 23:13) [2]
    glBegin(gl_Triangles);
     glVertex3f(0, 0, 0);
     glVertex3f(0, 1, 0);
     glVertex3f(0, 1, 1);
    glEnd;

    То бишь по полигонам.
  • Rial © (30.03.07 00:34) [3]
    > glBegin(gl_Triangles);
    > glVertex3f(0, 0, 0);
    > glVertex3f(0, 1, 0);
    > glVertex3f(0, 1, 1);
    > glEnd;

    Великолепные получатся циллиндры ;)


    > [1] crytogen   (29.03.07 14:49)
    > т.е. как рисовать цилиндры в принципе понятно. как правильно
    > их развернуть и состыковать?

    У тебя есть по сути трехмерный отрезок, я правильно понял ?
    Находи угол его поворота относительно осей координат.
    A(X, Y, Z) получается из (1, 0, 0) повопротом по 2м осям
    с корректировкой длины.
    L1 = ArcTg(Y / X);
    Теперь поворачиваешь координаты X и Y на (-L1), у тебя будет
    что то типа A1(X1, Y1, Z). Тогда
    L2 = ArcTg(Z / Y1);
    Идея, думаю ясна...

    А состыковка... ну тут нудно во-первых уточнить,
    как ее делать. По биссектрисе, скруглением, или еще как.
    Но в любом случае циллиндру придется рисовать самому
    с помощью примититвов.
  • crytogen (30.03.07 11:42) [4]
    Проблема вот в чём - один из вариантов поворота сделал и сам, но цилиндр вращается вокруг своей оси и я не могу просто составить список точек и нарисовать по прямоугольным сегментам цилиндры ибо они хотя бы слегка да разворачиваются, а при серьёзном изгибе так вообще.
  • crytogen (30.03.07 11:43) [5]
    Это конечно не цилиндр уже, но всё же
  • crytogen (03.04.07 08:52) [6]
    Всё спасибо разобрался. Помог базис Френе.
  • crytogen (03.04.07 08:53) [7]
    тему можно закрывать.
  • балюн (24.09.07 14:49) [8]
    Добрый день.
    Аналогичная проблема. при изгибе  трубы  цилиндр вращается по собственной оси в итоге  невозможно  сшить предыдущий  кусок трубы с текущим.
    Буду благодарен за помощь в решении  , наилучший вариант  это код  который рисует  трубу без данной проблемы
  • Denis_ © (29.09.07 16:27) [9]
    А больше ничего не надо? А то я уж бегу просить мастеров написать тебе код.
 
Конференция "Игры" » нарисовать трубу в OpenGL по точкам
Есть новые Нет новых   [134431   +10][b:0][p:0]