1

我正在尝试在 Matlab 中为两个 2D 对象创建碰撞检查。我有两个物体,一个是稳定的(障碍物),一个是移动的。当它们重叠时,我想收到“错误”消息。

问题是,虽然它有效,但我认为这种方法不容易重用,我认为“矩形”类型的对象不适合我想做的事情。

任何替代的想法?

我所做的是:

close all;
clear all;

for i = 0 : 0.1 :  5;

aXmin = i; 
aYmin = 3.5 *sin(i);
aXmax = aXmin + 1;
aYmax = aYmin*sin(i) + 2;

set(rectangle, 'Position', [aXmin, aYmin, 1, 1]);

bXmin = 3;
bYmin = 3;
bXmax = 3.4;
bYmax = 7;

set(rectangle, 'Position', [bXmin, bYmin, 0.4, 4]);

if ((aXmin < bXmax && aXmax > bXmin) && (aYmin < bYmax && aYmax > bYmin))

display('error')
else 
display('OK')
end
pause(0.1);
end
4

0 回答 0