gpt4 book ai didi

c# - 最准确的定位数据类型

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:28 24 4
gpt4 key购买 nike

这是一件非常烦人的事情。在 XNA/Monogame 中,SpriteBatch.Draw 使用 Vector2 作为位置,或者使用 Rectangle 作为位置。 Vector2 接受浮点值,而 Rectangles 只接受整数。

我需要使用 float / double ,因为它们支持图像在屏幕上的平滑移动。但是,在执行需要余弦和正弦、截断或任何数学转换函数的操作时,我注意到了特定的数学错误。

以这个公式为例:

for(int i = 0; i < 8; i++)
{

creategraphic(320+64*cos(360/8*i),240*+64*sin(360/8*i));

}

这应该创建 8 个纹理,在一个半径为 64 的圆上,并且均匀分布。然而,结果远非如此。我得到的值具有从相同角度或更糟糕的角度生成的对象。

那么对于定位,在处理复杂的数学计算时最好的处理方法是什么,同时仍能保持准确性?

最佳答案

正如 Alexei 所说,三角函数使用弧度而不是度数。 XNA 有一个辅助类可以完成您需要的转换:

https://msdn.microsoft.com/en-us/library/microsoft.xna.framework.mathhelper.toradians.aspx

关于c# - 最准确的定位数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com