是否有相当于Point类但是对于3D点?

时间:2011-04-22 19:44:47

标签: java android 3d

我想为游戏中的某些对象存储x y和z co-ords,但我找不到像Point这样的内置类。是否有一个很好的标准类我可以添加并使用它来处理从一个对象到另一个对象的点/轴承之间的距离等?

3 个答案:

答案 0 :(得分:4)

最近完成了一些矢量映射(包括z / 3D),并看到了你的Android标签,我建议你自己动手。

原因很多:

  • 您可以自定义以满足特定的精度/内存/性能限制。
  • 如果是多线程的,您可以使您的类不可变且线程安全
  • 即。如果内存受限,则可以将所有三个维度存储在int或long
  • 如果cpu受限,您可以使用普通的单独数字
  • 如果GC / Garbage受限,则可以回收和池实例(可变)

最后,大多数这些原语很容易编写,测试等。你需要编写的主要方法(超出样板构造函数/ get / set / ...)   - 距离   - 点积   - 单位化(使各种数学运算的长度== 1)   - 我过去使用DistanceSquared进行比较功能......这样就可以从大多数距离方法中删除sqrt算子,同时计算相对距离,这对于比较点距离等非常有用。

答案 1 :(得分:3)

也许Point3D是你需要的。

答案 2 :(得分:1)

还有一个符合您要求的JavaFX类Point3D