Разбирая завалы старых программ, нашел кучку лабораторных по компьютерной графике. Все лабораторные написаны на Delphi, поэтому с категорией вопросов не было. Они когда-то лежали у меня на старом сайте, теперь выкладываю их тут.
Архив с лабораторными: скачать, zip 513Kb.
Весь список лабораторных:
- B-сплайн
- Кривая Эрмита(как в Фотошопе)
- TCB сплайн
- Фрактал Мандельброта Z³+C
- Фрактал «Остров Минковского»
- Расчёт пересечения двух треугольников
- Простенький график в полярной системе координат
- Тест пересечения прямой с полигоном (+рисунок)
- Изометрическая проекция срезанного куба
- Ортографическая проекция срезанного куба
- Косоугольная проекция срезанного куба
- z-буферизация
- 3D винт
B-сплайн
Часто на практике бывает необходимо изобразить кривую по некоторым заданным значениям. Для построения такой кривой необходимо решать задачу интерполяции.
Неоднородный рациональный B-сплайн (NURBS, Non-uniform rational B-spline) — математическая форма, применяемая в компьютерной графике для генерации и представления кривых и поверхностей. Является частным случаем B-сплайнов, причём, широко распространённым из-за своей стандартизированности и относительной простоты.

Кривая Эрмита (Сплайн Эрмита)
Кривые Эрмита (Сплайны Эрмита) - кривые, построенные на основе многочленов Эрмита.
На практике чаще всего используют многочлены 3-го порядка (т.е. первые четыре). Если необходимо соединить несколько кусков, то в месте стыковки направление касательных для конца одного и начала второго отрезков должно совпадать.

TCB сплайн (Tension, Continuity, Bias)
TCB сплайн - модификация кривой Эрмита. Часто используется в задачах анимации при моделировании движения с пмощью ключевых кадров (Задается последовательность точек - положения объекта в заданные моменты времени, необходимо провести интерполяционную кривую, которая проходит через эти точки и определяет положение объекта в произвольный момент времени).


Фрактал Мандельброта Z³+C

Фрактал «Остров Минковского»
Строится фрактал очень просто. Фрактал нулевого степеня - квадрат. Далее каждая сторона квадрата заменяется ломанной, состоящей из 3 неравных частей: первая - длинной a/4 и под под углом в 45° относительно исходной прямой, вторая - длинной a/2 и под под углом в -45° относительно исходной прямой, и третья - длинной a/4 и под под углом в 45° относительно исходной прямой.
Далее для построения фрактала степеня выше каждая из сторон ломанной заменяется меньшей ломанной аналогичным способом. Вот что получается:

Расчёт пересечения двух треугольников

Простенький график в полярной системе координат
Ну, что тут сказать... На Делфи - 3 строчки кода. Да вот только картинки получаются очень уж красивые. Завораживают больше, чем фракталы (Наверное какое-то естественное стремление к симметрии, как например, к узорам в калейдоскопе). Попробуйте поигратся с коэфициентами - рисунки просто загляденье.



z-buffer (z-буфер)
Z-буферизация — один из вариантов решения «проблемы видимости». Очень эффективен и практически не имеет недостатков, если реализуется аппаратно. Программно же существуют другие методы, способные конкурировать с ним: Z-сортировка («алгоритм художника») и двоичное разбиение пространства (BSP), но они также имеют свои достоинства и недостатки. Основной недостаток Z-буферизации состоит в потреблении большого объёма памяти: в работе используется дополнительный буфер - буфер глубины или Z-буфер.
Z-буфер представляет собой двумерный массив, каждый элемент которого соответствует пикселу на экране. При отрисовывании пиксела, его удалённость просчитывается и записывается в ячейку Z-буфера. Если пикселы двух рисуемых объектов перекрываются, то их значения глубины сравниваются, и рисуется тот, который ближе, а его значение удалённости сохраняется в буфер.

Разрядность буфера глубины оказывает сильное влияние на качество отрисовки: использование 16-битного буфера может привести к геометрическим искажениям, например, эффекту «борьбы», если два объекта находятся близко друг к другу. 24, 32-разрядные буферы хорошо справляются со своей задачей. 8-битные почти никогда не используются из-за низкой точности.
Хотя z-буфер предназначен именно для того, чтобы обойтись без сортировки видимых граней, скорость работы z-буфера серьёзно зависит от сортировки объектов. Дело в том, что для отбракованного пикселя не запускаются алгоритмы просчёта цвета — текстурирование, освещение и шейдеры. Поэтому для оптимальной работы рендерера, использующего z-буфер, рекомендуется отсортировать видимые объекты в порядке удаления (хотя бы приблизительно).
Комментарии
Да, конечно, могу. С какой программы лучше начать? О чём лучше написать?
Значения вводятся перетягиванием "рычагов". Эти рычаги - значения векторов Qi.
В папке TCB есть файл TCB.doc - в нём описана теория.
Здравствуйте, консультаций не даю. Всё поставляется "как есть" хотите - пользуйтесь, не хотите - не пользуйтесь
У вас два выхода - либо самому разобраться и написать, либо заплатить программисту, который разработает вам решение вашей задачи.
Я консультаций по лабораторным работам не даю и лабораторки не пишу. Если не срочно - я есть на UpWork (ссылка в профиле). Но это будет дорого, как для лабораторки. Вам проще подружиться со студентом-отличником.
P.S. Все подобные комментарии в будущем буду удалять.
Adding comments is temporarily disabled for unregistered users.