实现Fortune算法时Voronoi图的抛物线交点求解问题
在Roblox中实现Fortune算法:求解两条抛物线交点的问题
这是我在Stack Overflow上的第一个问题,若格式有误或信息不全,请告知我,我会及时修正。
背景与问题
我正在Roblox中实现生成Voronoi图的Fortune算法,Roblox使用受限版本的Lua,无法直接导入模块或复用多数现成代码。Fortune算法需要利用抛物线确定构建站点周边边的关键点,我从《Fortunes Algorithm: An intuitive explanation》一文中找到满足**“抛物线上所有点到焦点和准线距离相等”**的方程,但无法将其转化为标准抛物线形式。
我知晓标准形式下两条抛物线的交点求解方法,但对当前推导得到的复杂表达式无从下手。我已通过纸上移项、整理为零式,再借助WolframAlpha展开得到以下结果:
[(-X^2 * fx) + (X^2 * f'y) + (2 * dy * fx * X) - (2 * dy * f'x * X) + (2 * f'x * fy * X) - (2 * fx * f'y * X) + (dy^2 * fy) - (dy^2 * f'y) - (dy * fy^2) + (dy * f'y^2) - (fy * f'y^2) + (f'y * fy^2) + (dy * f'x^2) - (f'x^2 * fy) - (dy * fx^2) + (f'y * fx^2)] / [2(dy^2) - (dy * fy) - (dy * f'x) + (fy * f'y))]
其中:
X是变量fx, fy是第一个焦点的x、y坐标f'x, f'y是第二个焦点的x、y坐标dy是准线的y坐标
我不确定接下来该如何处理这个表达式以得到交点。
需求
我希望找到有Fortune算法实现经验的人提供帮助,目标是得到两条抛物线交点的计算公式;如果有代码实现方案,优先提供Python代码(我最熟悉Python)。
附带问题
请问在Stack Overflow上有没有比单行文本更易读的公式展示格式?如果有,具体该如何操作?
内容的提问来源于stack exchange,提问作者HereForABit
相关产品推荐
相关产品推荐

