Задача Узел (FIT9201SURNAME_Knot)
Срок выполнения
Рекомендуемая сдача: 20 апреля
Крайний срок: 27 апреля
Предисловие
Задача на визуализацию трехмерных объектов, центральное проецирование и исследование сплайнов.
Условия
Элементы пользовательского интерфейса приложения
1. Окно поддерживает произвольные размеры - тянем курсором мыши за край окна.
2. Элементы выбора объекта визуализации (radio button) - первый или второй узел.
Логика приложения
Ваше приложение должно отображать на проекционную плоскость объект, расположенный в трехмерном пространстве. В качестве объекта используются трехмерные кривые. Отображение на плоскость производится центральным проектированием. Точка центра проектирования выбирается автоматически и учитывает положение проекционной плоскости, либо пользователю предоставляется возможность задавать точку самостоятельно.
Положение центра плоскости проецирования задается с клавиатуры, а нормаль к ней мышкой. Допустимым вариантом управления проецирующей плоскостью является стандартное управление, встречающееся в пакетах моделирования либо компьютерных играх.
Управление положением проецирующей плоскости должно предоставлять следующие обязательные возможности: облет объекта, приближение к объекту, удаление от объекта. Облет объекта производится относительно центра axis-aligned bounding box узла.
Первый тип узла - кривая, реализуемая сплайнами. Выбирается один из стандартных: Безье, Эрмит, равномерный B-сплайн. Допускается реализация всех.
Второй тип узла - кусочно-полиномиальный сплайн степени 5. Предполагается, что разработан он вами самостоятельно. Разработка сплайна должна быть обоснована, задокументирована и оформлена отдельно в виде файла с текстом, формулами и изображением вашего узла - документ FIT9201SURNAME_Knot.pdf. Этот файл должен находиться в папке с проектом.
Текстовая часть должна выглядеть как правильно оформленная научная работа (строгих формальных требований нет). Она будет рассматриваться лектором. Самые интересные и оригинальные разработки будут положительно влиять на оценку по курсу.
Кроме этого, необходимо визуализировать проволочный ограничивающий объем (bounding box) и делать отсечение всех невидимых элементов (те, которые между проекционной плоскостью и центральной точкой проекции). Данное уточнение озвучивалось на семинаре.
NEW Метод визуализации должен гарантировать, что точки на плоскости проецирования будут иметь 8-связность. Соединять точки прямыми для выполнения этих условий недопустимо. Шаг при обходе кривой и прямых ограничивающего объема выбирается адаптивно.
Замечания
Основные требования к задачам сохраняются. Допускается уточнение условий задачи по электронной почте.
Эта задача на оценку и сдается лично. Приветствуется сдача задачи в рекомендуемые сроки.
Для тех, кто сдал задачу Puzzle, допускается сдача этой задачи до задачи Plotter.
NEW Добавлены уточнения по формату файла, поясняющего разработку.
Дополнительная информация
Далее приводится несколько примеров узлов. Эти изображения лишь передают принцип того, что должен видеть пользователь вашего приложения. Не следует использовать их как эталон.