0
A
回答
0
尝试
local abs = math.abs
local function distanceBetweenTwoPoints(x1, y1, x2, y2)
return (((x2 - x1)^2) + ((y2 - y1)^2))^0.5
end
-- (x1, y1) center and r1 radius of first circle
-- (x2, y2) center and r2 radius of second circle
local function circleOverlap(x1, y1, r1, x2, y2, r2)
return (distanceBetweenTwoPoints(x1, y1, x2, y2) <= r2 + r1)
end
local function oneCircleInsideOther(x1, y1, r1, x2, y2, r2)
return (distanceBetweenTwoPoints(x1, y1, x2, y2) <= abs(r2 - r1))
end
一些测试
print(circleOverlap(0, 0, 1, 0, 0, 2)) -- true
print(circleOverlap(0, 1, 1, 0, 3, 1)) -- false
print(circleOverlap(1, 1, 1, 3, 3, 1)) -- false
print(circleOverlap(5, 10, 5, 12, 10, 2)) -- true
print(oneCircleInsideOther(0, 0, 1, 0, 0, 2)) -- true
print(oneCircleInsideOther(0, 1, 1, 0, 3, 1)) -- false
print(oneCircleInsideOther(1, 1, 1, 3, 3, 1)) -- false
print(oneCircleInsideOther(5, 10, 5, 12, 10, 2)) -- false
0
从以前的答案借款:
-- (x1, y1) center and r1 radius of first circle
-- (x2, y2) center and r2 radius of second circle
-- return true if cirecle 2 is inside circle 1
local function circleInside(x1, y1, r1, x2, y2, r2)
return (distanceBetweenTwoPoints(x1, y1, x2, y2)+ r2 < r1)
end
相关问题
- 1. 寻找一个圆圈是否在另一个圆圈内
- 2. 检查另一个圆圈是否包含圆圈
- 3. 检查一个球是否在由一条线绘制的圆圈内
- 4. 如何在一个圆圈
- 5. 检查一个点(lat/long)是否在一个圆圈内(Center lat/long known)
- 6. 如何使用KineticJS从一个圆圈创建箭头到另一个圆圈?
- 7. Python/Psychopy:检查某个点是否在圆圈内
- 8. 在距离10处的圆圈内画一个圆圈
- 9. (UE4)检查一个点是否位于碰撞圆圈中
- 10. 从圆圈的各个部分检查
- 11. 如何在WPF中创建一个带圆圈的圆圈?
- 12. 检查点是一个圆
- 13. Python - 在计算对象时移除另一个圆圈内的圆圈
- 14. 围绕一个大圆圈移动一个小圆圈
- 15. 计算在一个圆圈
- 16. HoughCircles能否在opencv中检测圆圈内的圆圈?
- 17. CSS:位置圆(LI)成一个圆圈
- 18. 如何将圆圈后面的一行移至圆圈底部
- 19. 如何在一个大圆圈中均匀分布12个圆圈
- 20. 如何检查一个圆是否位于凸多边形的内部
- 21. 画一个圆圈像素
- 22. 如何通过css/js将N个圆圈分布到另一个圆的内部边界?
- 23. 如何使UIButton成为一个圆圈?
- 24. Squeak - 如何移动一个圆圈?
- 25. 闪回圈不在另一个圆内旋转
- 26. 如何检查一个字段是否包含圆括号?
- 27. 在内部绘制一个带扇叶的圆圈,Java
- 28. 检查线和一个圆圈在帆布的碰撞android
- 29. 如何在一个圆圈内定位和裁剪UIImage
- 30. 圆圈内空圈:
拿纸笔并尝试自己解决它。这不是一个思维服务。 至少给了我们一些想法。 – Piglet