2016-09-19 31 views
0

我想獲取一個頂點的靜態列表,並使用矩陣將它們彎曲成一個圓,如下圖所示。我可以使用基本幾何圖形找到新的頂點,但我不確定如何用矩陣實現它,或者甚至可能。我相信,調用圓的中心'C'並且調用從頂點到C'd'的距離,即x'= Cx + d * cos(θ)和y'= Cy + d * sin(theta)。 (Cx和Cy是C的組成部分)。但是,我不認爲這本身可以轉換爲矩陣。這個變換是否可以使用矩陣?

The Transformation

對於情況下,我正在做一個3D貪吃蛇遊戲。 Snake由段組成,每段應連接到下一段。我對段之間的每個連接都有一個方向和位置,所以我想我可以通過連接每個部分來構建段,如圖所示。但是,計算每個幀上每個段的頂點的效率並不高。如果我可以靜態列出頂點,然後在模型世界矩陣中對其進行轉換,那會更快,並且適合我目前使用的方法。我在下面畫了一張簡單的蛇圖(忽略頭部)。

The Snake

如果這是不可能的,是有可以使用矩陣,同時給予了類似的結果做任何的替代品?

+0

它看起來像你只需要一個矩陣來表示移位和旋轉,這是完全可以使用矩陣:https://en.wikipedia.org/wiki/Rotation_matrix –

回答

0

是的,這是可能的。

骨骼動畫: 實際上,你可以添加一系列的骨頭對象,只是適用於旋轉到骨頭同樣得到一個完美的曲線。這是實現這一點的最簡單方法。但是,不一定是您的案例最快的方式。

只是矩陣&重量: 如果彎曲總是在這個比例,你必須重信息添加到每一個頂點,然後用轉化/旋轉/縮放組合的矩陣乘法。與Skeleton動畫相比,這將使您獲得更好的性能,因爲每個頂點僅使用一個矩陣相乘,並且沒有層次結構。