用MATLAB画曲线族
用MATLAB画曲线族
(y-c)^2-2/3*(x-c)^3=0的包络线
1 求包络线的方程
syms x y c;
f = (y-c)^2-2/3*(x-c)^3
dfc = diff(f, c)
S = solve(f,dfc)
S1x = S.x
S1y = S.y
计算结果:
该曲线族有两条包络线:
①
x1 = c1 ;
y1 = c1 ;
②
x1 = c1 + 2/3;
y1 = c1 + 4/9;
2 画线
close all
clear,clc
warning('off')
figure
% 曲线族
hold on
for c = -10:0.5:10
x = -10:0.1:10;
y = (2/3)^0.5.*(x-c).^1.5 + c;
plot(x,y)
end
% 包络线
c1 = -10:0.1:10;
x1 = c1 ;
y1 = c1 ;
plot(x1,y1,'r','LineWidth',2)
figure
% 曲线族
hold on
for c = -10:0.5:10
x = -10:0.1:10;
y = -(2/3)^0.5.*(x-c).^1.5 + c; plot(x,y)
end
% 包络线
c1 = -10-2/3:0.1:10-2/3;
x1 = c1 + 2/3;
y1 = c1 + 4/9;
plot(x1,y1,'r','LineWidth',2)
............................
包络线
跳转到:导航, 搜索
在几何学,某个曲线族的包络线(Envelope),是跟该曲线族的每条线都有至少一点相切的一条曲线。(曲线族即一些曲线的无穷集,它们有一些特定的关系。)
设一个曲线族的每条曲线C s可表示为
,其中s是曲线族的参数,t是特定曲线的参数。若包络线存在,它是由
得出,其中h(s)以以下的方程求得:
若曲线族以隐函数形式F(x,y,s) = 0 表示,其包络线的隐方程,便是以下面两个方程消去s得出。
绣曲线是包络线的例子。直线族(A?s)x + sy = (A?s)(s)(其中A是常数,s是直线族的变量)的包络线为抛物线。[1]
目录
?1证明
?2参考
?3参见
?4外部链接
[编辑]证明
设曲线族的每条曲线C s为。
设存在包络线。由于包络线的每点都与曲线族的其中一条曲线的其中一点相切,对于任意的s,设(x(s,h(s)),y(s,h(s)))表示C s和包络线相切的那点。由此式可见,s是包络线的变量。要求出包络线,就即要求出h(s)。
在C s的切向量为,其中t = h(s)。
在E的切向量为。因为x是s和t的函数,而此处t = h(s),局部求导有:
类似地得。
因为E和C s在该点相切,因此其切向量应平行,故有
其中。可用此两式消去h'(s)。整理后得:
[编辑]参考
https://www.360docs.net/doc/009253195.html,/~bridger/Envelope/envelope.htm