声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1179|回复: 3

[编程技巧] 基于曲率信息曲线重构程序??

[复制链接]
发表于 2011-7-30 23:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
大家好!我根据浙江大学 刘刚 文章(见附件),编写了一个基于离散曲率信息重构曲线的程序,请高手指点一下程序中的问题:
clc
clear
format long
%k=[0.0141 0.0085 0.0017 -0.0052 -0.0115 -0.0164 -0.0193 -0.0199];
%k=[0.0152 0.0152 -0.0252 -0.0252 -0.0252 -0.0252 0.0072 0.0072];
k=[0.008 0.0813 0.1240 0.0946 0.0469];
N=length(k);
Z=1;
KK=(N-1)*Z;
C=zeros(1,KK);
D=1;
ds=11.45/4;
ddx=zeros(1,KK);
ddy=zeros(1,KK);
nn=zeros(1,Z);
r=zeros(1,N);
AX=zeros(1,KK);
AY=zeros(1,KK);
AX(1)=0;
AY(1)=3;
for m=1:(N-1)
    for n=1:Z
        D=D+1;
        nn(n)=(k(m+1)-k(m))*(n-1)/Z+k(m);
        C(D)=nn(n);
        if nn(n)==0
            r(n)=1000000;
        else
            r(n)=abs(1/nn(n));
        end
        if nn(n)>0
            alfa=ds/(2*3.1415928*r(n))*360;
        else
            alfa=ds/(2*3.1415928*r(n))*360+90;
        end
        ddx(D-1)=2*r(n)*sind(alfa/2)*cosd(alfa/2);
        ddy(D-1)=2*r(n)*sind(alfa/2)*sind(alfa/2);
        Tran=[1 0 0;0 1 0;ddx(D-1) ddy(D-1) 1];
        Trot=[cosd(alfa) -sind(alfa) 0;sind(alfa) cosd(alfa) 0;0 0 1];
        TTT=[AX(D-1) AY(D-1) 1]*Tran*Trot;
        AX(D)=TTT(1);
        AY(D)=TTT(2);  
    end
end
plot(AX,AY,'r-'); %重构曲线
hold on
%拟合对象
AAX=[0 1 2 3 4 5 6 7 8 9 10];
AAY=[3 3.012 3.056 3.156 3.336 3.62 4.032 4.596 5.336 6.276 7.44];
plot(AAX,AAY,'b-');

管道机器人全程定位理论和方法研究基于光纤光栅空间曲率传感器.pdf

131.01 KB, 下载次数: 10

回复
分享到:

使用道具 举报

 楼主| 发表于 2011-7-30 23:07 | 显示全部楼层
请大家指点,基于离散曲率信息,重构曲线目前有很多研究,附件根据前人研究成果编写程序,没有成功,请高手予以指点一、二。
 楼主| 发表于 2011-7-31 20:38 | 显示全部楼层
没有人关注啊
发表于 2011-8-3 01:03 | 显示全部楼层
Ref:
5.建议提问的网友分清 编程问题 和 专业问题 http://forum.vibunion.com/thread-36746-1-1.html
6.提问的智慧!!!!(发帖前请认真阅读) http://forum.vibunion.com/thread-21991-1-1.html
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 04:11 , Processed in 0.071464 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表