我一直在寻找一段时间,但我似乎无法找到能够描述并解决我所遇到的问题的东西。也就是说,我在ball
类中定义了一个函数,用于检查它和另一个球是否相交(由于球保持在同一个z平面上,并且所有这些球的半径都相同) ,我把问题简化为交叉圆的问题。此函数如下(obj
和other
都属于类ball
,ball
类包含长度为3的位置向量):
function intersected = ball_intersection(obj, other)
intersected = (obj.position(1)-other.position(1))^2+(obj.position(2)-other.position(2))^2 <= (2*ball.radius)^2;
end
我收到以下错误:
Undefined variable other.
Error in ball/ball_intersection (line 29)
intersected = (obj.position(1)-other.position(1))^2+(obj.position(2)-other.position(2))^2 <= (2*ball.radius)^2;
Error in ball/move (line 56)
if ball_intersection(other)
Error in finalproject (line 41)
cueball.move(0.0001, 0, 0, 9.32, 4.65, otherball);
出于某种原因,Matlab认为函数参数未定义,我不知道如何让它知道它实际上是在那里定义的。
感谢任何和所有帮助 - 感谢阅读!
答案 0 :(得分:1)
ball_intersection
。
您最有可能想要将ball
的第56行更改为if ball_intersection(obj,other)
或if obj.ball_intersection(other)
。