24小时热门版块排行榜    

查看: 792  |  回复: 4

rose198506

木虫 (著名写手)

·不 想 玩 了·

优秀版主

[求助] 三维矩形块可以直行、转弯的运动模拟,走过的轨迹也需要~救火了~谢谢大家了~

我想在matlab里面实现的是:两条直杆(有交点或者用一条横轴连接起来的倒U字型方式都可以),一步一步的往前走,是直行的,其中当右脚着地的时候可以旋转一定的角度进行转弯(可以左转也可以右转)。然后在GUI界面下,当我给他一个偏角时,比如2度(或者-2度),然后他就转2度(-2度),然后朝着已经转过一定角度的方向的正面继续前行。

我想这个要用到GUI,还有就是三维的图的简单建模,还有就是相对坐标轴的建立和跟踪。因为我是初学,所以一点基础没有,希望大家给我说说该做啥。

如果大家觉得太麻烦,一时半会没有时间,可不可以先给我写个简单的程序,程序要求如下:

一个三维矩形块在原点处,在GUI界面下,给他一个直行距离,他就可以直行相应距离。再给一个距离,他会从这个新位置上继续前行一定的距离;如果我给他一个角度,他就可以沿着矩形块的中心旋转一个角度~然后呢在这个转好的角度上时,当给定一定的前行距离时,他可以面朝新的前方继续前行~并且还要把这个走过的这个轨迹能够显示出来~~~不知道我描述的是不是清楚~救火啦
~
必有重金奖励~~~
回复此楼
容易被自己的情绪左右,经常觉得孤独
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
rose198506: 金币+22, ★★★很有帮助, 谢谢你的帮助~如果我想要不是这种连续运动的,而是给一个距离他就走一个距离呢?给一个角度就转一个角度呢 2012-09-11 10:19:52
rose198506: 金币+44, ★★★★★最佳答案, 已经收到你的文件~实在是太棒了~~~真的是很感谢,重金送上~~~你技术太厉害了 2012-09-11 21:59:15
下面的程序应该会对你的问题有帮助。直行和旋转都没有问题。我试过将它做成GUI,但是不大会设置坐标轴的属性,坐标轴的单位好像与输入的数值不一致。
function exam03
%UNTITLED2 Summary of this function goes here
%   Detailed explanation goes here
xc=[0,5,5,0,0];
yc=[0,0,10,10,0];
h=line(xc,yc,'EraseMode','xor');
axis([-40,40,-40,40]);
axis equal;
grid on;
thta=0;
%%%%%直行%%%%%%
for t=0:0.005:20;
    x1=xc+t*cos(thta);
    y1=yc+t*sin(thta);
    set(h,'xdata',x1,'ydata',y1,'linewidth',3);
    drawnow;
end
%%%%%%旋转%%%%%%%%
xc=x1;
yc=y1;
xm=mean(xc(1:4));ym=mean(yc(1:4));
x=xc-xm;
y=yc-ym;
for thta1=0:0.001:pi/2;
x1=x*cos(thta1)-y*sin(thta1)+xm;
y1=y*cos(thta1)+x*sin(thta1)+ym;
set(h,'xdata',x1,'ydata',y1,'linewidth',3);
drawnow;
end
%%%%%%%%%直行%%%%%%%%%
xc=x1;
yc=y1;
thta=thta+thta1;
for t=0:0.005:20;
    x1=xc+t*cos(thta);
    y1=yc+t*sin(thta);
    set(h,'xdata',x1,'ydata',y1,'linewidth',3);
    drawnow;
end
%%%%%%旋转%%%%%%%%
xc=x1;
yc=y1;
xm=mean(xc(1:4));ym=mean(yc(1:4));
x=xc-xm;
y=yc-ym;
for thta1=0:0.001:pi/2;
x1=x*cos(thta1)-y*sin(thta1)+xm;
y1=y*cos(thta1)+x*sin(thta1)+ym;
set(h,'xdata',x1,'ydata',y1,'linewidth',3);
drawnow;
end
%%%%%%%%%直行%%%%%%%%%
xc=x1;
yc=y1;
thta=thta+thta1;
for t=0:0.005:20;
    x1=xc+t*cos(thta);
    y1=yc+t*sin(thta);
    set(h,'xdata',x1,'ydata',y1,'linewidth',3);
    drawnow;
end
%%%%%%旋转%%%%%%%%
xc=x1;
yc=y1;
xm=mean(xc(1:4));ym=mean(yc(1:4));
x=xc-xm;
y=yc-ym;
for thta1=0:0.001:pi/2;
x1=x*cos(thta1)-y*sin(thta1)+xm;
y1=y*cos(thta1)+x*sin(thta1)+ym;
set(h,'xdata',x1,'ydata',y1,'linewidth',3);
drawnow;
end
%%%%%%%%%直行%%%%%%%%%
xc=x1;
yc=y1;
thta=thta+thta1;
for t=0:0.005:20;
    x1=xc+t*cos(thta);
    y1=yc+t*sin(thta);
    set(h,'xdata',x1,'ydata',y1,'linewidth',3);
    drawnow;
end
%%%%%%旋转%%%%%%%%
xc=x1;
yc=y1;
xm=mean(xc(1:4));ym=mean(yc(1:4));
x=xc-xm;
y=yc-ym;
for thta1=0:0.001:pi/2;
x1=x*cos(thta1)-y*sin(thta1)+xm;
y1=y*cos(thta1)+x*sin(thta1)+ym;
set(h,'xdata',x1,'ydata',y1,'linewidth',3);
drawnow;
end
end
一次次萍水相逢
2楼2012-09-11 08:19:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

引用回帖:
2楼: Originally posted by luomia at 2012-09-11 08:19:40
下面的程序应该会对你的问题有帮助。直行和旋转都没有问题。我试过将它做成GUI,但是不大会设置坐标轴的属性,坐标轴的单位好像与输入的数值不一致。
function exam03
%UNTITLED2 Summary of this function goes  ...

你可以把每个for循环最后的数值设置成参数,然后输入你想要的值就可以了。等会我再看看能不能做成GUI。
一次次萍水相逢
3楼2012-09-11 10:38:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rose198506

木虫 (著名写手)

·不 想 玩 了·

优秀版主

引用回帖:
3楼: Originally posted by luomia at 2012-09-11 10:38:27
你可以把每个for循环最后的数值设置成参数,然后输入你想要的值就可以了。等会我再看看能不能做成GUI。...

恩,好的,谢谢你啦~~真是太感谢了~~~
容易被自己的情绪左右,经常觉得孤独
4楼2012-09-11 12:14:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

引用回帖:
4楼: Originally posted by rose198506 at 2012-09-11 12:14:51
恩,好的,谢谢你啦~~真是太感谢了~~~...

我怎么把文件传给你
一次次萍水相逢
5楼2012-09-11 14:20:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 rose198506 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +24 医学老男孩 2026-08-13 50/2500 2026-08-15 06:38 by 学员8dgXkO
[基金申请] filecode +7 cratir 2026-08-14 11/550 2026-08-15 06:19 by 学员8dgXkO
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 4/200 2026-08-15 04:17 by 4wMiSEwB6436
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 k0dTPqJtl0jt 2026-08-14 4/200 2026-08-15 02:21 by 4wMiSEwB6436
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +11 Tide man 2026-08-10 12/600 2026-08-15 02:12 by home3163
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-14 22:32 by 4wMiSEwB6436
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 关于Filecode分析方法 +9 majunge000 2026-08-10 12/600 2026-08-13 23:20 by iwuli
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见