研发埠
标题:
绘制相切曲线的问题
[打印本页]
作者:
刘洋
时间:
2014-5-6 10:39
标题:
绘制相切曲线的问题
登录/注册后可看大图
20140506103923746.jpg
(0 Bytes, 下载次数: 31)
下载附件
2014-5-6 10:39 上传
如图,用红色曲线的圆阵列,我需要这些圆的内包络线,这个跟hilbert不太一样吧,不是传统的包络线。我用过atan(-gradient(x)./gradient(y))+pi,不行,当x为0时会出问题。
有人知道应该怎么得到里面与圆相切的曲线吗。
作者:
王晓明
时间:
2014-5-6 15:29
你试试隐函数画图,你这包络不就是到圆心曲线的距离等于半径的点集吗?
作者:
刘洋
时间:
2014-5-6 17:36
我是matlab新手 隐函数我不知道怎么用 你看一下这一段,怎么画出圆内包络线,谢谢了wt=0:1:360;x=100*cos(wt*pi/180);y=100*sin(wt*pi/180);k=atan(-gradient(x)./gradient(y))+pi;a=x+30*cos(k);b=y+30*sin(k);hold on;axis equalt=0:0.01:2*pi;m=30*cos(t);n=30*sin(t);for i=0:1:360plot(m+x(i+1),n+y(i+1),'y');plot(x(1:i+1),y(1:i+1),'b');plot(a(1:i+1),b(1:i+1),'b');end
作者:
王晓明
时间:
2014-5-7 10:53
把a和b的值用下面的方式定义,你看是否满足你的要求:a=x-30*gradient(y)./((gradient(y)).^2+(gradient(x)).^2).^(1/2);b=y+30*gradient(x)./((gradient(y)).^2+(gradient(x)).^2).^(1/2);
作者:
刘洋
时间:
2014-5-7 15:20
我爱你,这问题困扰我两个月了,终于解决了
欢迎光临 研发埠 (http://bbs.yanfabu.com/)
Powered by Discuz! X3.2