29得票5回答
多维空间中的随机单位向量

我正在研究一个数据挖掘算法,在其中我想从特征空间的一个特定点选择一个随机方向。 如果我为每个 n 个维度选取 [-1,1] 中的一个随机数,然后将向量标准化到长度为 1,这样做是否能够获得所有可能方向上的均匀分布? 我这里仅在理论上讨论,因为计算机生成的随机数实际上并不是真正的随机。

29得票7回答
点之间的最短距离算法

给定平面上一组点,找到由任意两个这些点形成的最短线段。 我该怎么做呢?显然可以通过计算每个距离来找到最短线段,但是我需要另一个算法进行比较。

29得票2回答
画一条平行线。

我有点(x1,y1)和点(x2,y2),它们构成了一条线段。如何得到与第一条线段平行的另一条线段x3,y3 - x4,y4,如图片所示?我可以简单地在x1和x2上加n来得到一条平行线,但这不是我想要的。我希望这些线在图片中像平行线一样。

28得票6回答
球面上(经度,纬度)点的凸包

标准的凸包算法无法用于经纬度坐标点,因为标准算法假定您要计算笛卡尔坐标点集的凸包。经纬度点不是笛卡尔坐标系,因为经度在反子午线(+/- 180度)处“环绕”。也就是说,比经度179东两度的是-179。 因此,如果您的点集恰好跨越了反子午线,您将计算出伸展到错误位置的虚假凸包。 有没有什么技...

28得票6回答
矩形交集面积

以下是两个矩形。给定矩形顶点的坐标 - (x1,y1)...(x8,y8),如何计算重叠区域(下图中的白色区域)的面积? 请注意: 点的坐标可能是任意的 矩形可能重叠,也可能不重叠 假设当矩形不重叠或它们在点或线上重叠时,面积为0。 如果一个矩形在另一个矩形内部,则计算较小矩形的面积。

27得票4回答
在Python中,寻找一条直线和一个圆的交点最有效的方法是什么?

我有一个由许多点组成的多边形,希望找到它与圆的交点。给定圆心[x0,y0]和半径r0,我已经编写了一个简单的函数来解决圆和线的二次方程。但是,逐个查找多边形每条线段的交点效率如何?是否有更有效的方法? 我知道sympy已经提供了获取不同几何图形交点的功能。但是,与使用自己的函数计算相比,像sy...

27得票2回答
从顶点初始化半边数据结构。

我正在实现各种细分算法(例如catmull-clark);为了高效地实现此操作,需要一种良好的方法来存储有关网格化多边形的信息。我按照flipcode所述的方式实现了半边数据结构,但现在我不确定如何从顶点填充数据结构! 我的初始尝试是: 创建顶点 将顶点分组成面 排序面内的顶点(使用相对...

26得票3回答
用给定的矩形填充任意二维形状

我有一组在二维空间中的矩形和任意形状。该形状不一定是一个多边形(可能是一个圆),而且矩形具有不同的宽度和高度。任务是尽可能接近用矩形来逼近该形状。 我不能改变矩形的大小,但允许旋转。 听起来非常类似于装箱问题和覆盖问题,但覆盖区域不是矩形... 我想这是NP问题,我很确定应该有一些论文展示...

25得票3回答
多边形联合(无空洞)

我正在寻找一些相对容易的算法(我知道多边形并不是容易的操作,但或许有人可以指导我一个相对简单的方法)来合并两个相交的多边形。多边形可能是凹多边形且没有洞,输出的多边形也不应该有洞。多边形按逆时针方向表示。我的意思如图所示。正如您所看到的,即使多边形并集中有洞,我也不需要它出现在输出中。输入的多...

25得票8回答
检查是否存在一个圆形

我曾在Google面试中被问到这个问题。 我们有一个由字母 F、L、R 组成的字符串,代表机器人的指令。 F - 前进一步。 L - 左转。 R - 右转。 字符串长度可达 2500 个字符。 该字符串可以无限运行。我们需要判断是否存在一个半径为 r(r 可以是任意实数)的圆,使得机...