Суперквадрики — семейство геометрических поверхностей, определяемых уравнением эллипсоида и других поверхностей второго порядка, где показатели степени 2 заменены произвольным числом. Их можно считать трёхмерными аналогами кривых Ламе (суперэллипсов).

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

Некоторые авторы, например , включают в число суперквадрик также суперэллипсоиды и супертороидыBarr, A.H. (January 1981), Superquadrics and Angle-Preserving Transformations. IEEE_CGA vol. 1 no. 1, pp. 11-23Barr, A.H. (1992), Rigid Physically Based Superquadrics. Chapter III.8 of Graphics Gems III, edited by D. Kirk, pp. 137—159, однако настоящие супертороиды не удовлетворяют данному выше определению; с другой стороны, некоторые суперквадрики являются суперэллипсоидами, хотя ни одно из этих семейств не включает другое.

Формулы Неявные уравнения В общем виде суперквадрики описываются формулой

где r, s, t — положительные действительные числа, определяющие свойства суперквадрики.

Например, если r = s = and t то в зависимости от их значения получаются следующие геометрические формы: r = s = t < 1: октаэдр с вогнутыми гранями и острыми рёбрами и вершинами. r = s = t = 1: правильный октаэдр. 1 < r = s = t < 2: октаэдр с выпуклыми гранями и скруглёнными рёбрами и вершинами. r = s = t = 2: сфера. r = s = t > 2: куб со скруглёнными рёбрами и вершинами. r = s = t = ∞: куб.

Более разнообразные формы получаются при независимом изменении параметров. Например, при r=s=2 и t=4 получается фигура вращения, похожая на эллипсоид с плоскими концами. Это частный случай суперэллипсоида, которые получаются из квадрик при r = s.

Если показатели степени могут быть отрицательными, то разнообразие поверхностей ещё более возрастает. Эти формы иногда называют «супергиперболоидами».

Канонические суперквадрики занимают пространство внутри куба со значениями каждой из координат от −1 to +1. В общем виде суперквадрика является результатом масштабирования канонической суперквадрики по каждой из трёх координатных осей. В общем виде уравнение имеет вид

Параметрическое описание Параметрическое описание в координатах u (долгота) и v (широта) задаётся формулами

где с и s — вспомогательные функции:

и

Plotting code

Математический пакет GNU Octave генерирует суперквадрики следующим скриптом:

function retval=superquadric(epsilon,a) n=50; etamax=pi/2; etamin=-pi/2; wmax=pi; wmin=-pi; deta=(etamax-etamin)/n; dw=(wmax-wmin)/n; k=0; l=0; [i,j] = meshgrid(1:n+1,1:n+1) eta = etamin + (i-1) * deta; w = wmin + (j-1) * dw; x = a(1) .* sign(cos(eta)) .* abs(cos(eta)).^epsilon(1) .* sign(cos(w)) .* abs(cos(w)).^epsilon(1); y = a(2) .* sign(cos(eta)) .* abs(cos(eta)).^epsilon(2) .* sign(sin(w)) .* abs(sin(w)).^epsilon(2); z = a(3) .* sign(sin(eta)) .* abs(sin(eta)).^epsilon(3); mesh(x,y,z); endfunction;

Примечания

См. также

Поверхности второго порядка Суперэллипс Супертороид Суперэллипсоид Суперъяйцо

Ссылки Bibliography: SuperQuadric Representations Superquadric Tensor Glyphs SuperQuadric Ellipsoids and Toroids, OpenGL Lighting, and Timing Superquadrics by Robert Kragler, The Wolfram Demonstrations Project. Superquadrics in Python Jaklič, A., Leonardis, A., Solina, F., Segmentation and Recovery of Superquadrics. Kluwer Academic Publishers, Dordrecht, 2000.

Категория:Компьютерная графика Категория:Поверхности