Set P - newPt: }whi1e(!bored): // пока не надоест Точка, обозначенная буквой Р, преобразуется в точку, лежащую посередине между самой этой точкой и одной из трех фиксированных точек: р[0], р[1], р[2], выбранной случайно. Затем рисуется эта новая точка, после чего данный процесс повторяется (бесконечно).

Суть метода в том, что задание точки как середины отрезка с участием точки Р на самом деле является аффинным преобразованием. Тогда Р = ^ (Р + р[..]) (нахождение точки посередине между Р и р[..])

можно записать так: Р = Р

о '

так что точка Р подвергается действию аффинного отображения и затем ее преобразованная версия записывается снова в Р. Сдвиг этого отображения зависит от того, какая точка рЩ выбрана.

Приближение к бесконечности

Рисование ковра Серпинского

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

Для ковра Серпинского эти три отображения задаются следующим образом (см. также уравнение (9.3)]"opengl1_629.html">⇐ Предыдущая| |Следующая ⇒