Суперформула является обобщением суперэллипса и впервые была выведена Йоханом Гиелисом в 2003 году.[1] Гиелис предположил использовать формулу для описания сложных форм и кривых, которые встречаются в природе.
В полярной системе координат, с радиусом, а угол, суперформула выглядит так:
Выбирая различные значения параметров , получаются различные формы.
Формула получена путём обобщения суперэллипса, который, в свою очередь, вывел французский математик Габриель Ламе и был назван и популяризирован датским математиком Питом Хейном.
Суперформулу можно обобщить, заменив параметр m, двумя новыми параметрами y и z:[2]
Это позволяет создавать асимметричные и вложенные структуры. В следующих примерах и равны 1:
Пример программы в GNU Octave для генерации этих фигур:
function sf2d(n,a)
u=[0:.001:2*pi];
raux=abs(1/a(1).*abs(cos(n(1)*u/4))).^n(3)+abs(1/a(2).*abs(sin(n(1)*u/4))).^n(4);
r=abs(raux).^(-1/n(2));
x=r.*cos(u);
y=r.*sin(u);
plot(x,y);
end
3 мерная суперформула: a = b = 1; m, n1, n2 И n3 , показаны на изображениях.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Пример программы в GNU Octave для генерации этих фигур:
function sf3d(n, a)
u=[-pi:.05:pi];
v=[-pi/2:.05:pi/2];
nu=length(u);
nv=length(v);
for i=1:nu
for j=1:nv
raux1=abs(1/a(1)*abs(cos(n(1).*u(i)/4))).^n(3)+abs(1/a(2)*abs(sin(n(1)*u(i)/4))).^n(4);
r1=abs(raux1).^(-1/n(2));
raux2=abs(1/a(1)*abs(cos(n(1)*v(j)/4))).^n(3)+abs(1/a(2)*abs(sin(n(1)*v(j)/4))).^n(4);
r2=abs(raux2).^(-1/n(2));
x(i,j)=r1*cos(u(i))*r2*cos(v(j));
y(i,j)=r1*sin(u(i))*r2*cos(v(j));
z(i,j)=r2*sin(v(j));
endfor;
endfor;
mesh(x,y,z);
endfunction;
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .