我有一条从A到B的线和一条位于C的圆,半径为R.

用于检查线是否与圆相交的好算法是什么?它沿圆圈边缘的坐标发生了什么?
我如何"膨胀"多边形?也就是说,我想做类似的事情:

要求是新的(膨胀的)多边形的边/点都与旧的(原始)多边形处于相同的恒定距离(在示例图片上它们不是,因为那时它必须使用弧来填充顶点,但是让我们暂时忘掉它;)).
我正在寻找的数学术语实际上是向内/向外多边形的偏离.+1指向balint指出这一点.替代命名是多边形缓冲.
我的搜索结果:
以下是一些链接:
我想知道是否有一种更简单的方法来创建循环div而不是我现在正在做的事情.
目前,我只是为每个不同的大小制作一个图像,但这样做很烦人.
无论如何使用CSS来制作圆形的div,我可以指定半径?
假设我有一个从(x1,y1)到(x2,y2)的线段.如何计算垂直于直线的法向量?
我可以找到很多关于3D平面飞行的东西,但没有2D东西.
请轻松学习数学(欢迎链接到工作示例,图表或算法),我是一名程序员而不是我是一名数学家;)
给定一个x,y点数组,如何按顺时针顺序(围绕它们的整体平均中心点)对该数组的点进行排序?我的目标是将点传递给线创建函数,以最终看起来相当"坚实"的东西,尽可能凸起,没有相交的线.
为了它的价值,我正在使用Lua,但任何伪代码都会受到赞赏.非常感谢您的帮助!
更新:作为参考,这是基于Ciamej优秀答案的Lua代码(忽略我的"app"前缀):
function appSortPointsClockwise(points)
local centerPoint = appGetCenterPointOfPoints(points)
app.pointsCenterPoint = centerPoint
table.sort(points, appGetIsLess)
return points
end
function appGetIsLess(a, b)
local center = app.pointsCenterPoint
if a.x >= 0 and b.x < 0 then return true
elseif a.x == 0 and b.x == 0 then return a.y > b.y
end
local det = (a.x - center.x) * (b.y - center.y) - (b.x - center.x) * (a.y - center.y)
if det < 0 then return true
elseif det > 0 then …Run Code Online (Sandbox Code Playgroud) 在Python中,使用Matplotlib,如何绘制带有空心圆的散点图?目标是在已经绘制的一些彩色圆盘周围绘制空心圆圈scatter(),以便突出显示它们,理想情况下无需重绘彩色圆圈.
我试过facecolors=None,但没有用.
我想计算一组循环数据的平均值.例如,我可能会从阅读指南中获得几个样本.问题当然是如何处理环绕.相同的算法可能对时钟表有用.
实际问题更复杂 - 统计在球体上或在"包裹"的代数空间中意味着什么,例如添加剂组mod n.答案可能不是唯一的,例如359度和1度的平均值可能是0度或180度,但统计上0看起来更好.
这对我来说是一个真正的编程问题,我试图让它看起来不像是一个数学问题.
我正在寻找一种算法来检测两个矩形是否相交(一个是任意角度,另一个只有垂直/水平线).
测试一个角落是否在另一个ALMOST中.如果矩形形成十字形状,则失败.
避免使用线条的斜率似乎是一个好主意,这需要垂直线条的特殊情况.
geometry ×10
math ×6
algorithm ×5
buffering ×1
css ×1
css-shapes ×1
graphics ×1
html ×1
line ×1
lua ×1
matplotlib ×1
polygon ×1
probability ×1
python ×1
random ×1
scatter ×1
scatter-plot ×1
vector ×1