我正在尝试用Java实现游戏的基本2D矢量数学函数.它们将被游戏密集使用,所以我希望它们尽可能快.
我开始用整数作为矢量坐标,因为游戏对坐标不需要更精确,但是对于所有计算,我仍然需要改变为双向量以获得清晰的结果(例如,两条线之间的交点).
使用双打,有舍入错误.我可以简单地忽略它们并使用类似的东西
d1 - d2 <= 0.0001
Run Code Online (Sandbox Code Playgroud)
比较值,但我假设进一步的计算误差可以总结,直到它变得重要.所以我认为我可以在每次可能不精确的操作之后绕过它们,但结果却产生了更糟糕的结果,因为该程序还会舍入不正确的值(例如0.33333333...- > 0.3333300...).
使用BigDecimal会太慢.
解决这个问题的最佳方法是什么?
我正在尝试了解 Ruby 多线程,但它似乎很混乱。这是我尝试过的几个例子:
Thread.new do
puts "thread"
end
puts "main"
Run Code Online (Sandbox Code Playgroud)
thread = Thread.new do
puts "thread"
end
sleep while thread.alive?
puts "main"
Run Code Online (Sandbox Code Playgroud)
thread = Thread.new do
puts "thread"
end
puts thread.status while thread.alive?
puts "main"
Run Code Online (Sandbox Code Playgroud)
以马茨的名义在这里发生了什么?!