x3+y3=1
我们先来聊聊这个被戏称为“价值万元的椭圆”。操作过illustrator的人对于曲线工具与锚点并不会陌生,将锚点的手柄往某个方向拖拽后会产生一条曲线,这条曲线的正式名称就是"贝塞尔曲线(或贝茨曲线,Béziercurve)",曲线当然还分很多种,这里不做深究。
一般来说,我们会使用"圆角工具"来绘制圆角矩形,实际上这样制作出的圆角矩形,在直线与圆角间过度实际上是不自然的,这与原研哉选择的x^n+y^n=1公式所绘制出的圆角矩形对比就会十分明显,后者明显给人更加顺滑的感觉,这是为什么呢?
这里面就涉及到曲率概念,在犀牛等3D软件中我们可以更加直接的看到曲率的样子。使用圆角工具制作出得圆角矩形,其直线与曲线间是一种单纯的线与线间的相切关系,这一般被称为G1连续,而使用x^n+y^n=1所产生的圆角矩形的切角之所以顺滑,是源自于这些看不到的呈现的递增递减关系的曲率,也叫G2连续,又称为曲率连续。
在3d软件中,曲线周围长长的“胡须”表现的便是曲率,
单纯相切关系的G1连续的“胡须”会出现断层,
而G2连续中曲率是平滑的曲线
原研哉所说的这个公式x^n+y^n=1究竟是呢?实际上其是
x/a
^n+
y/b
^n=1的简化版本,它绘制出的圆还有个有一个非常厉害的名字叫做"超级椭圆(Superellipse)",超级椭圆在设计领域早已经不是一个陌生的概念了,例如最近在朋友圈引起了不小反响的Clubhouse在UI设计中便是使用了该超级椭圆。在使用超级椭圆公式时设计界比较公认的是n=2.5,而此次原研哉为小米选择的n值是3。
Clubhouse在UI设计中也使用了超级椭圆公式
为了保证产品表面的绝对平滑,曲率连续往往更多的使用在产品或者建筑等3d领域,在3d软件中我们也是直接调整曲率来使得曲面达到更加顺滑的效果。在平面软件中,我们可以通过更少的锚点可以达到更加连续的曲率。那么我们是否可以用平面软件绘制一个这样曲率连续的超级椭圆呢?
实际上,除去脚本与直接临摹外,目前平面的绘图软件还没有一个能完美的绘制出这样的曲线的方法,但我们可以通过数学途径,绘制一条尽可能接近超级椭圆曲率的贝塞尔曲线,此处如果不想看推导过程的话可以直接跳到最后。
设置一个正圆的情况,
贝塞尔曲线与超级椭圆相重合,
用此方法来推导出N与曲率的关系
向上滑动阅览
我们可以利用正圆,这个贝塞尔曲线与超级椭圆一致的情况下,找到n与k的关系
*超级椭圆算是轴对称图形所以k(曲率)一定是相同的
我们用贝塞尔曲线也画个正圆,会出现以下坐标。
B0:(0,1);
B1:(k,1);
B2:(1,k);
B3:(1,0);
B1与B2是圆的手柄点,这里也可以称作为曲率。
假设有一个在此曲线有一个的中点
t=(0.5,0.5)
带入到贝塞尔曲线公式:
P(t)=
B0
(1-t)^3+
B1
3t(1-t)^2+
B2
3t^2(1-t)+
B3
t^3
我们可以得到
P(0.5)=1/8(B0+3B1+3B2+B3)
将上述的k值带入可以得到下面的公式,
只看x的情况下
x=0.5=1/8(0+3k+3+1)
而正圆情况下的,而因为椭圆在是个中心对称的形状,无论在那个象限都不变
所以只考虑a=b=1
x/a
^n+
y/b
^n=1就简化为了
x
^n+
y
^n=1
中间点的x=y
此时可以变成
x=y=1/(n√2)
将两个公式结合在一起便是
1/(n√2)=1/8(0+3k+3+1)
便可以得到n与k的关系
k=8/3((1/(n√2)-1/2)
那我们可以得到
n=2,k=0.
n=2.5,k=0.,是n=2时候的k的1.倍
如上图所示,在角度θ是确定的情况下,tanθ=k/x成线性关系,如果需要知道k倍数,只需要将x扩展着该倍数就行。
那么,我们最后再来看看n=3的情况下,k=0.,是n=2时候的k的1.倍,我们就需要做一个1.倍的圆,然后将这个锚点往回来到原本的圆的位置即可(如下图)。使用上述公式,可以制作出十分接近于不同n值下超级椭圆曲线。
n=3的情况下,需要绘制一个比原来大1.倍的圆,再将锚点往回移动,即可获得一个近似超级椭圆的贝塞尔曲线
这里并不想就设计师是否偷懒了进行说明,只想顺带提一下这个公式背后的一些故事,以便更好的说明这并不是一个随便的圆。网络上也有“