我正在尝试在 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