傅里叶级数如下:
利用傅里叶级数可以得到多种纽结曲线的参数方程。
平凡结:(圆)
x(t) = cos(t)
y(t) = sin(t)
z(t) = 0
平凡结:(圆)
Matlab代码:
clc,clear,close all
t=linspace(0,2*pi,500);
x=cos(t);
y=sin(t);
z=0*t;
P=[x' y' z']*100;DrawMutiCylinder(P,40,10,40,10,linspace(0,1,500)'),set(gcf,'Color',[1 1 1]);axis off
Granny Knot
x(t) = - 22*cos(t) - 128*sin(t) - 44*cos(3*t) - 78*sin(3*t)
y(t) = - 10*cos(2*t) - 27*sin(2*t) + 38*cos(4*t) + 46*sin(4*t)
z(t) = 70*cos(3*t) - 40*sin(3*t)
Granny Knot
Matlab代码:
% Granny Knot
clc,clear,close all
t=linspace(0,2*pi,500);
x=- 22*cos(t) - 128*sin(t) - 44*cos(3*t) - 78*sin(3*t);
y=- 10*cos(2*t) - 27*sin(2*t) + 38*cos(4*t) + 46*sin(4*t);
z=70*cos(3*t) - 40*sin(3*t);
P=[x' y' z'];DrawMutiCylinder(P,40,10,40,10,linspace(0,1,500)'),set(gcf,'Color',[1 1 1]);axis off
Square Knot
x(t) = - 22*cos(t) - 128*sin(t) - 44*cos(3*t) - 78*sin(3*t)
y(t) = 11*cos(t) - 43*cos(3*t) + 34*cos(5*t) - 39*sin(5*t)
z(t) = 70*cos(3*t) - 40*sin(3*t) + 8*cos(5*t) - 9*sin(5*t)
Square Knot
Matlab代码:
% Square Knot
clc,clear,close all
t=linspace(0,2*pi,500);
x= - 22*cos(t) - 128*sin(t) - 44*cos(3*t) - 78*sin(3*t);
y= 11*cos(t) - 43*cos(3*t) + 34*cos(5*t) - 39*sin(5*t);
z= 70*cos(3*t) - 40*sin(3*t) + 8*cos(5*t) - 9*sin(5*t);
P=[x' y' z'];DrawMutiCylinder(P,40,10,40,10,linspace(0,1,500)'),set(gcf,'Color',[1 1 1]);axis off
Achter knot
x(t) = 10*cos(t) + 10*cos(3*t)
y(t) = 6*sin(t) + 10*sin(3*t)
z(t) = 4*sin(3*t) - 10*sin(6*t)
Achter knot
Matlab代码:
% Achter knot
clc,clear,close all
t=linspace(0,2*pi,500);
x= 10*cos(t) + 10*cos(3*t);
y= 6*sin(t) + 10*sin(3*t);
z= 4*sin(3*t) - 10*sin(6*t);
P=[x' y' z']*10;DrawMutiCylinder(P,40,10,40,10,linspace(0,1,500)'),set(gcf,'Color',[1 1 1]);axis off