Superformula

超级方程式
📖算法说明
▶️曲线绘制过程演示



超级公式是超椭圆的推广,由 Johan Gielis 在 2000 年左右提出。 Gielis 认为该公式可以用来描述自然界中存在的许多复杂形状和曲线。Gielis 已提交与超级公式生成的模式合成相关的专利申请,该专利于 2020 年 5 月 10 日到期。

极坐标中,有r半径和\varphi角度,超级公式为:

r\left(\varphi\right) = \left( \left| \frac{\cos\left(\frac{m\varphi}{4}\right)}{a} \right| ^{n_2} + \左| \frac{\sin\left(\frac{m\varphi}{4}\right)}{b} \right| ^{n_3} \right) ^{-\frac{1}{n_{1} }}。

通过为参数选择不同的值{\displaystyle a,b,m,n_{1},n_{2},}{\displaystyle n_{3},}可以生成不同的形状。

该公式是对超椭圆进行推广得到的,由丹麦数学家皮特·海因命名并推广。

在以下示例中,每个图上方显示的值应为m123

SF2D.png


通过超级公式的球积,可以将公式扩展到 3、4 或n维。例如,通过将两个超级公式r 12相乘获得3D参数化表面。坐标由以下关系定义:

x=r_{1}(\theta )\cos \theta \cdot r_{2}(\phi )\cos \phi ,
y=r_{1}(\theta )\sin \theta \cdot r_{2}(\phi )\cos \phi ,
z=r_{2}(\phi )\sin \phi ,

\phi纬度)在 − π /2 和π /2 之间变化,θ经度)在 − ππ之间变化。

3D超级公式:a = b = 1;m123显示在图片中。

  • SF3D 3257.SVGSF3D 3.5.5.5.svgSF3D 3301515.svgSF3D 7284.SVGSF3D 5111.SVGSF3D 4.5.54.svgSF3D 8.5.58.svgSF3D 4121515.svg

可以通过在超级公式的两项中允许不同的m个参数来概括超级公式。通过替换第一个参数{\displaystyle m}米带有y和第二个参数{\displaystyle m}米z : 

{\displaystyle r\left(\varphi \right)=\left(\left|{\frac {\cos \left({\frac {y\varphi }{4}}\right)}{a}}\right |^{n_{2}}+\left|{\frac {\sin \left({\frac {z\varphi }{4}}\right)}{b}}\right|^{n_{3} }\right)^{-{\frac {1}{n_{1}}}}}

这允许创建旋转不对称和嵌套结构。在下面的例子中 a, b、{\displaystyle {n_{2}}}{\displaystyle {n_{3}}}是 1:

超级公式U-several-structures.svg


» 知识库