“常用公式”在线计算,“设计手册”在线查询



        如图,用红色曲线的圆阵列,我需要这些圆的内包络线,这个跟hilbert不太一样吧,不是传统的包络线。我用过atan(-gradient(x)./gradient(y))+pi,不行,当x为0时会出问题。
        有人知道应该怎么得到里面与圆相切的曲线吗。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 4 个关于本帖的回复 最后回复于 2014-5-7 15:20

沙发
王晓明 十品草民 发表于 2014-5-6 15:29:50 | 只看该作者
研发埠培训中心
你试试隐函数画图,你这包络不就是到圆心曲线的距离等于半径的点集吗?
板凳
刘洋 十品草民 发表于 2014-5-6 17:36:13 | 只看该作者
研发埠人才中心
我是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:29 | 只看该作者
把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);
5#
刘洋 十品草民 发表于 2014-5-7 15:20:49 | 只看该作者
我爱你,这问题困扰我两个月了,终于解决了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台