2010-06-13 94 views
1

我即将生气。我不能为我的生活找出纹理坐标。我有一个由以下8个三角形定义的八面体。我想在地图上绘制地球的纹理。看到这里的纹理:http://img37.imageshack.us/f/earthmap1k.jpg/如何将纹理贴图到八面体上?

我想北极在顶点和南极在相反点与赤道缠绕中心点。有人可以向我展示每个点的UV以映射纹理吗?

0, 0, 1 
1, -1, 0 
1, 1, 0 

-1, 1, 0 
0, 0, 1 
1, 1, 0 

0, 0, 1 
-1, 1, 0 
-1, -1, 0 

1, -1, 0 
0, 0, 1 
-1, -1, 0 

1, -1, 0 
0, 0, -1 
1, 1, 0 

0, 0, -1 
-1, 1, 0 
1, 1, 0 

0, 0, -1 
-1, -1, 0 
-1, 1, 0 

0, 0, -1 
1, -1, 0 
-1, -1, 0 

回答

0

我不知道你是什么意思的紫外线,但八面体的每个面将对应于地图的矩形区域。这将涉及拉伸和压缩,但不切割,没有失踪的地方。

首先将地图划分为两个长方形,分别是北部和南部。现在从北到南进行三次切割,将地图切割成8个相等的矩形。左上角的矩形包含北美西半部,北太平洋的东半部和夏威夷。让我们将其映射到您描述的第一个三角形上。

如果我们把矩形的坐标框架,(在赤道太平洋中部)从(0,0)运行(1,0)(附近某处厄瓜多尔)和高达(0,1)(1,1)(包括北极),那么我们可以把它映射到八面体如下:

(s,t) -> (1-t, (1-t)(2t-1), t) 

应该清楚如何对其他面相同。

+0

当然,八面体刻面必须对应于*三角形*地图区域 - 不是矩形。 (三角形表示这些区域被3个测地线圈定,而不是4个) – 2010-06-13 11:10:44

+0

@Ofek Shilon:我描述的地图区域在这个意义上是*三角形。请注意,地图的整个上边缘'(x,100)'对应于地球上北极的*一点*。 – Beta 2010-06-13 15:58:21

0

一个简单的方法来思考它解开,像这样的八面体:

/\  /\  /\  /\ 
/\ /\ /\ /\ 
/ \/ \/ \/ \ 
X------X------X------X------X 
\ /\ /\ /\ /
    \/ \/ \/ \/ 
    \/  \/  \/  \/ 

然后,你可以在飞机上映射点的纹理坐标

+0

可惜欧洲,但嘿,他们已经在大量的地图上。 – Beta 2010-06-13 07:36:49

+0

@Beta:True。这太简单了,但为了以一种合理的方式正确覆盖整个纹理,需要改变几何体(四边形)或改变纹理(将已用地图位压缩到已渲染区域)。 – cobbal 2010-06-13 07:41:09