修正点在弓形内算法错误.

pull/68/head
ChenX 6 years ago
parent 919dbdf3db
commit a96e55a20f

@ -41,9 +41,6 @@ export function IsPointInBowArc(arc: Arc, pt: Vector3, isInChrodIsTrue = false):
pv.cross(av);
if (isInChrodIsTrue && equaln(pv.z, 0))
return true;
//未优化的代码
// if (pv.z > 0 && arc.IsClockWise)
// return false;
@ -53,7 +50,7 @@ export function IsPointInBowArc(arc: Arc, pt: Vector3, isInChrodIsTrue = false):
// return arc.Center.distanceToSquared(pt) < arc.Radius * arc.Radius;
//简化的代码
if ((pv.z > 0) !== arc.IsClockWise)
if ((pv.z > 0) !== arc.IsClockWise || (isInChrodIsTrue && equaln(pv.z, 0)))
{
return arc.Center.distanceToSquared(pt) < arc.Radius * arc.Radius;
}

Loading…
Cancel
Save