夜莺与神明[破鏡重圓] 第73节(6 / 7)
然而,程明笃似乎早就料到了这个问题。他的脸上,没有露出什么意外。
他拿起白板擦,擦掉了刚才画的一个辅助圆,然后看着两位队友,用一种异常冷静的语气说道:
“我知道。所以,我们不用double。”
队友愣住了:“不用double?那怎么计算交点和距离?”
“用我之前封装过一个几何库模板,所有的坐标点,我们全部用整型(longlong)来存储。所有涉及方向判定、点在线的哪一侧、内外关系等核心的几何判断,全部用基于向量的叉积和点积来计算。这样,我们就可以在整个建图过程中,从根本上避免任何浮点数的比较,保证所有拓扑关系的正确。”
“那距离呢?”数学队友追问,“最后一步判断‘最远点’和圆心的距离,必须要开方,一定会产生浮点数。”
“对,”程明笃点头,“但那已经是我们唯一需要动用浮点数的、最后一步了,但是我们不需要真的开方,用平方来进行比较,将精度误差的风险降低。”
题目上的沟壑,
如今他们用数学来一一填平。
程明笃负责在白板上,用他那强大的空间想象力,处理最复杂的逻辑和边界情况。
数学队友负责将程明笃的思路,转化为一行行严谨的数学推导,供编码的队友参考。
时间,来到最后一分钟。
“提交。”程明笃的声音此时已经掀不起一丝波澜。
对于真正能参加这场决赛的人来说,一道题得以巧妙解决,在出结果的瞬间就一直差不多知晓了。
队友按下提交键。全世界的目光,都聚焦在了他们队伍的屏幕上。
↑返回顶部↑
他拿起白板擦,擦掉了刚才画的一个辅助圆,然后看着两位队友,用一种异常冷静的语气说道:
“我知道。所以,我们不用double。”
队友愣住了:“不用double?那怎么计算交点和距离?”
“用我之前封装过一个几何库模板,所有的坐标点,我们全部用整型(longlong)来存储。所有涉及方向判定、点在线的哪一侧、内外关系等核心的几何判断,全部用基于向量的叉积和点积来计算。这样,我们就可以在整个建图过程中,从根本上避免任何浮点数的比较,保证所有拓扑关系的正确。”
“那距离呢?”数学队友追问,“最后一步判断‘最远点’和圆心的距离,必须要开方,一定会产生浮点数。”
“对,”程明笃点头,“但那已经是我们唯一需要动用浮点数的、最后一步了,但是我们不需要真的开方,用平方来进行比较,将精度误差的风险降低。”
题目上的沟壑,
如今他们用数学来一一填平。
程明笃负责在白板上,用他那强大的空间想象力,处理最复杂的逻辑和边界情况。
数学队友负责将程明笃的思路,转化为一行行严谨的数学推导,供编码的队友参考。
时间,来到最后一分钟。
“提交。”程明笃的声音此时已经掀不起一丝波澜。
对于真正能参加这场决赛的人来说,一道题得以巧妙解决,在出结果的瞬间就一直差不多知晓了。
队友按下提交键。全世界的目光,都聚焦在了他们队伍的屏幕上。
↑返回顶部↑