11 lines
518 B
Mathematica
11 lines
518 B
Mathematica
|
function ret = exitCondition(this, PositionVector, VelocityVector, CollisionEvent)
|
||
|
d = Helper.calculateDistanceFromPointToLine(PositionVector, [0 0 0], [0 1 0]);
|
||
|
y = PositionVector(2);
|
||
|
DivergenceAngle = (d/abs(y));
|
||
|
%DivergenceAngle = atan(norm(cross(PositionVector, )) / norm(dot(PositionVector, [0 1 0])));
|
||
|
if (y >= 0) && (DivergenceAngle <= this.MOTExitDivergence) && (abs(VelocityVector(2))<=this.VelocityCutoff) && ~CollisionEvent
|
||
|
ret = true;
|
||
|
else
|
||
|
ret = false;
|
||
|
end
|
||
|
end
|