Суперформула — узагальнений випадок рівняння плоскої кривої супереліпса (кривої Ламе), записаний у 1997 році бельгійським вченим (англ. Johan Gielis).
Й.Джиліс припустив, що формула може бути використана для опису багатьох складних форм і кривих, які зустрічаються в природі.
Запис рівняння
У полярних координатах, для радіуса і кута , суперформула має вигляд:
де — характеризує число фрагметів, що повторюються;
- , , — параметри, що визначають форму;
- , — габарити (величини півосей).
Графіки
Інші приклади кривих, побудованих за супреформулою для вказаних m, n1, n2 і n3 при a = b = 1
Програмні реалізації побудови кривих
GNU Octave
Програма для генерування кривих на основі суперформули мовою програмування 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
PHP script
PHP-скрипт для генерування таких фігур:
<?php header("Content-type: image/png"); set_time_limit(120); $img = imagecreatetruecolor(800, 800); $black = imagecolorallocate($img, 0, 0, 0); imagefilledrectangle($img, 0, 0, 800, 800, $black); $center = 400; $PI = 2 * pi(); $a = 1; $b = 1; $m = 12; $n1 = 5; $n2 = 6; $n3 = 48; for($f = 0; $f <= $PI; $f += 0.0001) { $r= pow((pow(abs(cos($m*$f/4)/$a),$n2) + pow(abs(sin($m*$f/4)/$b), $n3)), -(1/$n1)); $x = $center + $r * cos ($f) * 100; $y = $center + $r * sin ($f) * 100; $col = imagecolorallocate($img, 255, 255, 255); imagesetpixel($img, $x, $y, $col); } print imagepng($img); imagedestroy($img); ?>
Узагальнення на більшу кількість вимірів
Рівняння
Є можливим розширення суперформули до 3, 4, чи n вимірів, у сферичній системі координат. Наприклад тривимірне параметричне задання поверхні отримується перемноженням двох суперформул r1 and r2. Геометричне місце точок відповідної поверхні може бути задане співвідношеннями:
де змінюється у межах від -π/2 до π/2 (широта) і θ в діапазоні між -π та π (довгота).
Графічні побудови
Тривимірна суперформула для a = b = 1:
- m=3, n1=2, n2=5, n3=7
- m=3, n1=5, n2=5, n3=5
- m=3, n1=30, n2=15, n3=15
- m=7, n1=2, n2=8, n3=4
- m=5, n1=1, n2=1, n3=1
- m=4, n1=0.5, n2=0.5, n3=4
- m=8, n1=0.5, n2=0.5, n3=8
- m=4, n1=12, n2=15, n3=15
Програма у GNU Octave
Показані вище фігури згенеровано наступним скриптом 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;
Див. також
Примітки
- Gielis Johan A generic geometric transformation that unifies a wide range of natural and abstract shapes [ 21 серпня 2012 у Wayback Machine.] American Journal of Botany 90 (3): 333–338, 2003. ISSN 0002-9122
Посилання
- Some Experiments on Fitting of Gielis Curves by Simulated Annealing and Particle Swarm Methods of Global Optimization (англ.)
- Least Squares Fitting of Chacón-Gielis Curves By the Particle Swarm Method of Optimization (англ.)
- Superformula 2D Plotter & SVG Generator [ 31 жовтня 2009 у Wayback Machine.] (англ.)
- Interactive example using JSXGraph [ 7 жовтня 2016 у Wayback Machine.] (англ.)
- 3D Superdupershape Explorer using Processing [ 19 жовтня 2016 у Wayback Machine.] (англ.)
- (англ.)
- (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Superformula uzagalnenij vipadok rivnyannya ploskoyi krivoyi superelipsa krivoyi Lame zapisanij u 1997 roci belgijskim vchenim angl Johan Gielis Dekilka prikladiv krivih sho opisuyutsya superformuloyu dlya riznih znachen m n1 n2 i n3 za umovi a b 1 J Dzhilis pripustiv sho formula mozhe buti vikoristana dlya opisu bagatoh skladnih form i krivih yaki zustrichayutsya v prirodi Zapis rivnyannyaU polyarnih koordinatah dlya r displaystyle r radiusa i kuta f displaystyle varphi superformula maye viglyad r f cos m f 4 a n 2 sin m f 4 b n 3 1 n 1 displaystyle r left varphi right left left frac cos left frac m varphi 4 right a right n 2 left frac sin left frac m varphi 4 right b right n 3 right frac 1 n 1 de m displaystyle m harakterizuye chislo fragmetiv sho povtoryuyutsya n 1 displaystyle n 1 n 2 displaystyle n 2 n 3 displaystyle n 3 parametri sho viznachayut formu a displaystyle a b displaystyle b gabariti velichini pivosej GrafikiInshi prikladi krivih pobudovanih za supreformuloyu dlya vkazanih m n1 n2 i n3 pri a b 1Programni realizaciyi pobudovi krivihGNU Octave Programa dlya generuvannya krivih na osnovi superformuli movoyu programuvannya 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 PHP script PHP skript dlya generuvannya takih figur lt php header Content type image png set time limit 120 img imagecreatetruecolor 800 800 black imagecolorallocate img 0 0 0 imagefilledrectangle img 0 0 800 800 black center 400 PI 2 pi a 1 b 1 m 12 n1 5 n2 6 n3 48 for f 0 f lt PI f 0 0001 r pow pow abs cos m f 4 a n2 pow abs sin m f 4 b n3 1 n1 x center r cos f 100 y center r sin f 100 col imagecolorallocate img 255 255 255 imagesetpixel img x y col print imagepng img imagedestroy img gt Uzagalnennya na bilshu kilkist vimirivRivnyannya Ye mozhlivim rozshirennya superformuli do 3 4 chi n vimiriv u sferichnij sistemi koordinat Napriklad trivimirne parametrichne zadannya poverhni otrimuyetsya peremnozhennyam dvoh superformul r1 and r2 Geometrichne misce tochok vidpovidnoyi poverhni mozhe buti zadane spivvidnoshennyami x r 1 8 cos 8 r 2 ϕ cos ϕ displaystyle x r 1 theta cos theta r 2 phi cos phi y r 1 8 sin 8 r 2 ϕ cos ϕ displaystyle y r 1 theta sin theta r 2 phi cos phi z r 2 ϕ sin ϕ displaystyle z r 2 phi sin phi de ϕ displaystyle phi zminyuyetsya u mezhah vid p 2 do p 2 shirota i 8 v diapazoni mizh p ta p dovgota Grafichni pobudovi Trivimirna superformula dlya a b 1 m 3 n1 2 n2 5 n3 7 m 3 n1 5 n2 5 n3 5 m 3 n1 30 n2 15 n3 15 m 7 n1 2 n2 8 n3 4 m 5 n1 1 n2 1 n3 1 m 4 n1 0 5 n2 0 5 n3 4 m 8 n1 0 5 n2 0 5 n3 8 m 4 n1 12 n2 15 n3 15 Programa u GNU Octave Pokazani vishe figuri zgenerovano nastupnim skriptom 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 Div takozhSuperelipsPrimitkiGielis Johan A generic geometric transformation that unifies a wide range of natural and abstract shapes 21 serpnya 2012 u Wayback Machine American Journal of Botany 90 3 333 338 2003 ISSN 0002 9122PosilannyaSome Experiments on Fitting of Gielis Curves by Simulated Annealing and Particle Swarm Methods of Global Optimization angl Least Squares Fitting of Chacon Gielis Curves By the Particle Swarm Method of Optimization angl Superformula 2D Plotter amp SVG Generator 31 zhovtnya 2009 u Wayback Machine angl Interactive example using JSXGraph 7 zhovtnya 2016 u Wayback Machine angl 3D Superdupershape Explorer using Processing 19 zhovtnya 2016 u Wayback Machine angl angl angl