matlab如何让一个球的球心在一条线上运动

 我来答
bs...q@163.com
2017-09-02 · TA获得超过244个赞
知道答主
回答量:557
采纳率:0%
帮助的人:161万
展开全部
<pre t="code" l="delphi">clc,clear;
%一个三维随机运动的小球
r=0.5;%球的半径
%运动的范围
x1=0;x2=30;
y1=0;y2=30;
z1=0;z2=30;
%初始位置 随机生成
x0=rand(1)*(x2-x1-2*r)+x1;
y0=rand(1)*(y2-y1-2*r)+y1;
z0=rand(1)*(z2-z1-2*r)+z1;
pos=[x0;y0;z0];
figure(1)
[x,y,z] = ellipsoid(pos(1),pos(2),pos(3),r,r,r);
surf(x,y,z,ones(size(x))) %画出来球
n=200;%随机运动的次数
p=1; %p可以用来控制每次运动距离的大小
for i=1:n
%产生运动的方向与运动距离,用一个随机向量表示
s=0;
while(s==0)
direct=rand(3,1)-0.5;
dd=direct/norm(direct,2);
dd=dd*p;
post=pos+dd;
if (post(1)>=x1+rpost(1)<=x2-r)(post(2)>=y1+rpost(2)<=y2-r)(post(3)>=z1+rpost(3)<=z2-r)
s=1;
end
end
pos=pos+dd;
[x,y,z] = ellipsoid(pos(1),pos(2),pos(3),r,r,r);
surf(x,y,z,ones(size(x))) %画出来球
axis([x1 x2 y1 y2 z1 z2])
pause(0.1); %设置暂停时间
end因为是随机运动 如果每次运动的距离设置的不大,小球基本上是在初始位置的范围内运动
TableDI
2024-07-18 广告
在Excel中,匹配公式常用于查找和比较数据。常用的匹配函数有`VLOOKUP`(垂直查找)、`MATCH`(返回位置)、`INDE电商平台`(返回索引值)等。例如,使用`VLOOKUP`函数可以根据首列的值在指定范围内查找并返回对应的结果... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式