笛卡儿卵形线(Cartesian oval),数学专业术语,是一种典型的卵形线,它一般是一种四次曲线。假定P点与二定点F1与F2的距离分别为r1与r2,它们满足方程:m*r1+n*r2=d,其中,m、n、d都是常数,则称P点的轨迹为笛卡儿卵形线。当m=n时,为椭圆。
给定两定点F 、F',假定P点与F、F'的距离分别为r1与r2,若满足方程:m*r1+n*r2=d,其中,m、n、d都是常数,则称P点的轨迹为笛卡尔卵形线。当m=n时,为椭圆。在一般情况下,笛卡儿卵形线是四次曲线,它包括两个没有共同点的闭曲线,而且一个在另一个之内。在内的一个类似于椭圆,在外的一个可能是凸的,也可能有拐点(如图1所示)。
笛卡儿(Descartes , R. )在《折光》里讨论了这个曲线和它的折光性质,他成功地解决了什么样的曲面作为两种介质的交界面时,能使从第一种介质内一点发出的光线射到曲面上,折入第二种介质而聚于一点。他发现具有这个性质的旋转面是由笛卡儿卵形线产生的。
选取适当的m、n值,可使通过点A的光线经折射后,全部通过点B。笛卡尔曾利用这个光学性质,选取笛卡儿卵形线作为透镜的截面形状,用来消除
球面像差。
设A,B是平面内两个定点,AB=2c(c是定长),平面内满足MA*MB=a^2(a是定长)的点M的轨迹称为
卡西尼卵形线。卡西尼卵形线是由天文学家乔凡尼卡西尼提出的。其直角坐标方程为:
(2)当a
(3)当a>c时,不自交。
绘制方法
用matlab
示例:
clear;clc
f=@(x,y,z)(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;
gd=80;
x=linspace(-3,3,gd);
y=linspace(-3,3,gd);
z=linspace(-3,3,gd);
[x,y,z]=meshgrid(x,y,z);val=f(x,y,z);
[f,v]=isosurface(x,y,z,val,0);
newplot;
p=patch('Faces',f,'Vertices',v,'CData',v(:,3),'facecolor','w','EdgeColor','flat');
h=isonormals(x,y,z,val,p);view(3);set(p,'AmbientStrength',.5);grid on
用Why数学图像生成工具
示例如下,结果如图2所示。
pixels = W:1024 H:1024
x = from 0 to 1023 W
y = from 0 to 1023 H
a = 256
b = 512
c = 768
d = 512
u = sqrt((x - a)*(x - a) + (y - b)*(y - b))
v = sqrt((x - c)*(x - c) + (y - d)*(y - d))
m = 0.5
n =0.3
k = m*u + n*v
r = mod(k, 16)/16
g = mod(k, 32)/32
b = mod(k, 48)/48