我正在尝试使用Java构建从Quake 3 .map文件中渲染原始数据。.map格式将brush(形状)信息存储为一系列平面,但我想将它们转换为(x,y,z)形式的点。目前所涉及的数学有些超出了我的能力范围,因此是否有人可以给我一些建议,告诉我如何做到这一点?如果需要,我可以使用外部库,但最好使用自己的代码。
以下是一些可供使用的数据:
以下是一些可供使用的数据:
Dimensions: 64*64*64
Position: All sides are equidistant from the origin (0,0,0)
Shape: Cube
( 64 64 64 ) ( 64 -64 64 ) ( -64 64 64 )
( 64 64 64 ) ( -64 64 64 ) ( 64 64 -64 )
( 64 64 64 ) ( 64 64 -64 ) ( 64 -64 64 )
( -64 -64 -64 ) ( 64 -64 -64 ) ( -64 64 -64 )
( -64 -64 -64 ) ( -64 -64 64 ) ( 64 -64 -64 )
( -64 -64 -64 ) ( -64 64 -64 ) ( -64 -64 64 )
编辑:
这些数据展示了一个立方体,它有6个面。每个面都可以存储为一个平面,用三个坐标表示位置和方向。上述数据的每一行显示一个平面,所有6行组成立方体的6个面。
下面的图片有助于说明我的观点:定义平面的三个点
上述数据中我提供的是每行的p1、p2和p3点。
Quake 3引擎需要在编译时确定保留平面的哪些部分,但我目前对此不感兴趣。如果您需要更多信息,请随时询问!