В чем-то процедурные методы напоминают способы представления в компьютерах иррациональных чисел - корней квадратных, синусов, косинусов и т.п. Рассмотрим, например, три способа представления числа 72 . Его можно представить в виде константы

72 =1.414… ,

ограничившись возможностями разрядной сетки компьютера. Есть и другой вариант, более абстрактный: считать, что 72 - это положительное число дг, такое, что х2=2.

Но в компьютерах, как правило, 72 представляется как результат выполнения некоторого алгоритма, например расчета по методу Ньютона:

2 л*

при начальном значении х0=\. С этой точки зрения иррациональное число 72 определено не своим значением, а алгоритмом расчета, т.е. определено программно. Аналогичный подход можно применить и в отношении некоторых объектов, с которыми приходится иметь дело в графических приложениях. Например, сферу, центр которой находится в начале координат, можно определить как математический объект, удовлетворяющий уравнению

2 "> 2 2

х+у+:=г .

Сферу можно определить и как результат выполнения алгоритма рекурсивного разбиения тетраэдра, который мы рассматривали в главе 6, или как результат соответствующей программы. Потенциальное достоинство такого подхода состоит в том, что изображение сферы будет содержать разное количество многоугольников, в зависимости от того, в каком масштабе она будет представлена на экране.

Есть и еще одна проблема, суть которой состоит в том, что полигональное представление объектов в системе компьютерной графики очень сложно увязать с физическими законами, моделируемыми прикладной программой. Хотя и можно построить и "оживить" полигональную модель какого-либо реального объекта, но значительно сложнее показать, что этот объект является сплошным, а следовательно, два таких объекта при столкновении не могут проникнуть друг в друга.

В этой главе мы рассмотрим два подхода к процедурному моделированию. Сначала рассмотрим систему частиц, подчиняющихся законам Ньютона. Будет показано, как можно смоделировать сложное поведение таких частиц, пользуясь математическим аппаратом решения дифференциальных уравнений. Вычисленное положение частицы будет использовано в графической системе в качестве информации для размещения стандартного геометрического объекта в пространстве отображаемой сцены.


⇐ Предыдущая| |Следующая ⇒