4.5.3. Составные неявно заданные кубические поверхности
В последнее время появилось значительное число работ, посвященных построению составных поверхностей, элементарные фрагменты которых описываются неявными алгебраическими уравнениями вида
где
алгебраический многочлен 2-й или 3-й степени. Интерес к таким поверхностям связан с их активным использованием в задачах компьютерной графики. Дело в том, что указанный способ задания оказывается очень удобным при построении реалистических изображений сложных сцен методом трассировки лучей.
Задача построения составных поверхностей указанного типа весьма интересна, но совсем не проста. Не имея возможности останавливаться на этом подробно, мы отсылаем читателя к специальной литературе (несколько последних журнальных публикаций указано в конце книги).
Приложение А. Программы метода прогонки для трёх- и пятидиагональных матриц
(см. скан)
Приложение Б. Библиотеки текстов на языке С
(см. скан)
Приложение В. Описание дискеты
Описание дискеты "Руководство для пользователей по сплайнам"
Программы на Фортране и С: для построения интерполяционного кубического сплайна одной переменной,
построения сглаживающего кубического сплайна одной переменной,
построения интерполяционного бикубического сплайна двух переменных,
построения сглаживающего бикубического сплайна двух переменных,
построения кубических кривых Безье, построения В-сплайновых кривых, построения Бета-сплайновых кривых, построения кубических кривых Эрмита, построения Catmull-Rom кривых, построения бикубических поверхностей Безье, построения бикубических В-сплайновых поверхностей, построения Бета-сплайновых поверхностей, построения бикубических эрмитовых поверхностей.
Для каждой программы приведены один или несколько примеров ее использования.
Для использования приведенных здесь программ необходимы:
• IBM PC XT/AT или совместимый с ним компьютер,
• цветной или монохромный
монитор.
Программы могут размещаться на дискете
Дополнительная память или сопроцессор не требуются.
Список файлов на дискете
(см. скан)
(см. скан)
Описание файлов
1. Файлы
Файл
содержит описание вспомогательных функций:
- отображение многоугольника на экране,
- инициализация параметров и массивов, требуемых для трехмерной графики,
- отображение на экране поверхности по заданному двумерному массиву,
инициализация графической моды с разрешением 640 на 480 и с 16 цветами.
Файл
содержит описание внутренних процедур для всех вспомогательных функций из файла
С компиляторами Microsoft С или
С этот файл можно использовать не внося в него никаких изменений. При использование других компиляторов возможно потребуется модификация этого файла.
В файле
определены все необходимые типы данных, макросы для для работы с векторами и двумерными массивами.
Каждый файл
предназначен для запуска примера, демонстрирующего построение сплайна того или иного типа (см. ниже разд. 2).
В файлах
описаны правила обращения к программам построения сплайнов и приведены соответствующие примеры.
2. Файлы с программами построения сплайнов. Директория FUNCTION
Все файлы вида
содержат исходные тексты программ на Фортране и могут компилироваться как в системе
так и в
Файл
(из поддиректории
содержит исходный текст программы Spline для построения интерполяционного кубического сплайна.
Файл
содержит головную программу, иллюстрирующую применение программы Spline для построения интерполяционного кубического сплайна, удовлетворяющего граничным условиям 1-го типа. Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы Spline для построения интерполяционного кубического сплайна, удовлетворяющего граничным условиям 2-го типа. Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы Spline для построения интерполяционного кубического сплайна, удовлетворяющего граничным условиям 3-го типа. Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы Spline для построения интерполяционного кубического сплайна, удовлетворяющего граничным условиям 4-го типа. Результаты вычислений находятся в файле
Файл
поддиректории
содержит исходный текст программы
для построения сглаживающего кубического сплайна.
Файл
содержит головную программу, иллюстрирующую применение программы
для построения сглаживающего кубического сплайна, удовлетворяющего граничным условиям 1-го типа. Исходные данные для этого примера размещены в файле
Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы
для построения сглаживающего кубического сплайна, удовлетворяющего граничным условиям 2-го типа. Исходные данные для этого примера размещены в файле
Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы
для построения сглаживающего кубического сплайна, удовлетворяющего граничным условиям 3-го типа. Исходные данные для этого примера размещены в файле
Результаты вычислений находятся в файле
Файл
(из поддиректории
содержит исходный текст программы
для построения интерполяционного бикубического сплайна.
Файл
содержит головную программу, иллюстрирующую применение программы
для построения интерполяционного бикубического сплайна, удовлетворяющего граничным условиям 1-го типа. Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы
для построения интерполяционного бикубического сплайна, удовлетворяющего граничным условиям 2-го типа. Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы
для построения интерполяционного бикубического сплайна, удовлетворяющего граничным условиям 3-го типа. Результаты вычислений находятся в файле
Файл
содержит головную программу, иллюстрирующую применение программы
для построения интерполяционного бикубического сплайна, удовлетворяющего граничным условиям 4-го типа. Результаты вычислений находятся в файле