Глава б. Моделирование поверхностей полигональными сетками
6.5.9. Суперквадрики Исходя из работы Алана Барра [Barr, 12], можно расширить семейство поверхностей второго порядка (квадрик) в значительно большее семейство, аналогично тому, как мы расширили эллипс до суперэллипса в главе 3. Это предоставит нам дополнительные интересные формы поверхностей, которые можно использовать в качестве моделей для приложений.
Барр определяет следующие четыре суперквадратичных тела: суперэллипсоид, однополостный супергиперболоид, двуполостный супергиперболоид, которые являются расширением первых трех квадрик, и супертороид (supertoroid), расширяющий понятие тора. Эти расширения вводят два «показателя выпуклости» («bulge factors») тип, в которые возводятся различные члены. Показатели выпуклости влияют на данные поверхности примерно так же, как показатель п влияет на суперэллипс. Когда оба этих показателя равны 2, то первые три суперквадрики превращаются в обычные квадрики. На рис. 6.63 показаны четыре примера суперквадрик. В табл. 6.9 приведены их неявные и параметрические формы1.
Рис. 6.63. Примеры четырех суперквадрик. Значения ni и п, равны (слева направо): 10,2,1,11,0,77,0,514 (с разрешения Jay Greco)
Таблица 6.9. Характеристики четырех суперквадрик Название Неявная форма Параметрическая форма Промежутки суперквадрики_изменения v и и Суперэллипсоид (*"+ y")min+ zm-\ (cos2/m(v) cosVn(u), cos2""^) sin^y), sin2""^)) [-я/2, я/2], [-я, я]
Однополостный (х"+ у")"»"- zm-1 (sec2/m(i')cos2'''(tf), sec2/m(i')sin2"'(y), tg2""^)) (-я/2, я/2), [-я, я] супергиперболоид Двуполостный (*"- у)"""- гт-\ (sec2"^ v) secv"(y), sec2^ v) Щуп{и), ЩУт( v)) (-я/2, я/2) супергиперболоид Супертороид_((*"- уП)Ч"- d)m+ zm-1 ((</+cos2,m(n))cos2/"(t/), (d+ cosVm(v)) sin2"^), sin2""^)) [-я, я), [-я, я)