Здравствуйте, nervous, Вы писали:
N>Пишу визуализатор траектории движения инструмента.
N>Траектория состоит из отрезков и дуг. Известны максимальные и минимальные значения X,Y,Z траектории, т.е. bounding box.
N>Использую OpenGL.
N>Как реализовать следующие функции:
N>1. Виды XY, XZ, YZ, ISO.
glOrtho, потом glRotate куда надо
N>2. PAN, перемещать всю траекторию мышкой не зависимо от текущего вида.
первую координату мышки gluUnproject, вторую координату мышки gluUnproject — из них получили вектор перемещения
N>3. ZOOM WINDOW, не зависимо от текущего вида.
glScale(zoom,zoom,zoom) перед отрисовкой
N>4. Вращение всей траектории, не зависимо от текущего вида.
N>5. ZOOM ALL, показать всю траекторию.
находим проекцию bounding box на нужную плоскость вида, делаем для него bounding square, по нему делаем glOrtho
N>6. Выбор элементов траектории мышкой.
см.
здесьАвтор: TomRay
Дата: 30.04.03
С уважением, Анатолий. Технический директор Herocraft Ukraine
--
Главный Метод Разработки ПО:К верхнему днищу бака было приварено треугольное отверстие диаметром три на четыре.