Супертороид
Эта статья в значительной степени или полностью опирается на один источник . ( январь 2022 г. ) |
В геометрии и компьютерной графике или под супертороидом супертором обычно понимают семейство бубликообразных определяют поверхностей (технически топологический тор ), форма которых определяется математическими формулами, подобными тем, которые суперэллипсоиды . Множественное число слова «супертор» — это либо суперторы , либо суперторы .
Семья была описана и названа Аланом Барром в 1994 году. [1]
Супертороиды Барра были довольно популярны в компьютерной графике как удобная модель для многих объектов, таких как гладкие рамки для прямоугольных объектов. Одна четверть супертороида может обеспечить плавное и бесшовное соединение под углом 90 градусов между двумя суперквадричными цилиндрами . Однако они не являются алгебраическими поверхностями (за исключением особых случаев).
Формулы
[ редактировать ]Супертороиды Алана Барра определяются параметрическими уравнениями, аналогичными тригонометрическим уравнениям тора, за исключением того, что члены синуса и косинуса возводятся в произвольные степени . А именно, общая точка P ( u , v ) поверхности задается формулой где sgn — знаковая функция , а параметры u, v находятся в диапазоне от 0 до 360 градусов (от 0 до 2 π радиан ).
В этих формулах параметр s > 0 контролирует «квадратность» вертикальных сечений, t > 0 контролирует прямоугольность горизонтальных сечений, а a , b ≥ 1 — большие радиусы в направлениях x и y . При s = t = 1 и a = b = R получается обыкновенный тор с большим радиусом R и малым радиусом 1, с центром в начале координат и вращательной симметрией относительно оси z .
В общем, супертор, определенный выше, охватывает интервалы : Вся форма симметрична относительно плоскостей x = 0 , y = 0 и z = 0 . Отверстие проходит в направлении z и охватывает интервалы
Кривая постоянной u на этой поверхности представляет собой горизонтальную кривую Ламе с показателем масштабирован по x и y и смещен по z . Кривая постоянной v , проецируемая на плоскость x = 0 или y = 0 , является кривой Ламе с показателем масштабирован и сдвинут по горизонтали. Если v = 0 , кривая плоская и охватывает интервалы: и аналогично, если v = 90°, 180°, 270° . Кривая также плоская, если a = b .
В общем, если a ≠ b и v не кратно 90 градусам, кривая константы v не будет плоской; и, наоборот, вертикальное плоское сечение супертора не будет кривой Ламе.
Базовая форма супертороида, определенная выше, часто изменяется путем неравномерного масштабирования для получения супертороидов определенной ширины, длины и толщины по вертикали.
Построение кода
[ редактировать ]Следующий код GNU Octave генерирует графики супертора:
function supertoroid(epsilon,a)
n=50;
d=.1;
etamax=pi;
etamin=-pi;
wmax=pi;
wmin=-pi;
deta=(etamax-etamin)/n;
dw=(wmax-wmin)/n;
k=0;
l=0;
for i=1:n+1
eta(i)=etamin+(i-1)*deta;
for j=1:n+1
w(j)=wmin+(j-1)*dw;
x(i,j)=a(1)*(a(4)+sign(cos(eta(i)))*abs(cos(eta(i)))^epsilon(1))*sign(cos(w(j)))*abs(cos(w(j)))^epsilon(2);
y(i,j)=a(2)*(a(4)+sign(cos(eta(i)))*abs(cos(eta(i)))^epsilon(1))*sign(sin(w(j)))*abs(sin(w(j)))^epsilon(2);
z(i,j)=a(3)*sign(sin(eta(i)))*abs(sin(eta(i)))^epsilon(1);
endfor;
endfor;
mesh(x,y,z);
endfunction;
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Алан Х. Барр (1981) Суперквадрики и преобразования, сохраняющие угол . Компьютерная графика и приложения IEEE, том 1, выпуск 1. стр. 11–23.