Реализовать программу для построения и визуализации плоского сечения пространственной модели, состоящей из линейных отрезков.
Есть 3-х мерное пространнство. В нем случайным образом размещены объекты-отрезки произвольной длины. Направление отрезков строго параллельно одной из осей координт: oX, oY, oZ. Нужно отобразить это пространнство в окне программы.
Дополнительно необходимо пересеч это пространнство одной проскостью сечения и отобразить в отдельном окне видовой экран этой плоскости, на котором должны быть показаны попавшие в него объекты. Плоскости сечения могут быть ориентированны только параллельно плоскостям координат: XY, YZ, ZX.
- Зачитать координаты отрезков из XML-файла (коорд. начала, длина, направление: oX, oY, oZ)
- Отобразить в окне пространнство вместе с объектами (для отображения модели можно использовать OpenGL, DirectX, GDI)
- Дать возможность изменить позицию и угол камеры на пространство (варианты: кнопками в окне/клавишами клавиатуры/ мышью)
-
Дать возможность задать через XML положение одной плоскости сечения. Варианты определения плоскости: координаты точки, нормаль(oX, oY, oZ), либо номер объекта-отрезка и одна из возможных нормалей к нему (oX, oY, oZ). В последнем случае определяющий объект полностью будет лежать в заданной плоскости.
-
В отдельном окне отображать видовой экран, в котором должны быть показаны все объекты-отрезки, лежащие в плоскости сечения, либо пересекающие плоскость под углом в 90 градусов (в этом случае отображать точку).
-
Попавшие в плоскость сечения объекты должны быть выделены цветом в окне, где отображается все пространство.
-
Дать возможность через перечитывание XML (по кнопке) изменять положение плоскости сечения.
-
Дать возможность изменять положение объектов-отрезков через перечитывание XML (по кнопке). При этом плоскость, построенная через эти отрезки, должна автоматически изменять свое положение.
-
После изменения положения плоскости сечения ее видовой экран должен автоматически обновиться.
7+1 дней.
Задание может быть выполнено неполностью. Как следствие: степень и качество выполнения задания служат критерием для определения качества навыков программирования.
MS Visual Studio