2011-10-18 44 views
1

我想編一個小小的遊戲,處理字體和字母。我想讓它們在2D空間中移動,並且我使用box2dweb作爲物理引擎,實際上做了一件非常棒的工作。目前我所面臨的所有問題都是建立一封信的b2Body問題。 Box2d只能處理原始的,凸起的形狀和構建更復雜的hitbox,我必須將它們中的一些組合起來。在圖片中,我試圖找出我想要達到的是一種算法,它需要一個字母的svg路徑並生成一系列代表hitbox的b2shapes。生成b2Body的一個字母

capital letter A in Black, a series of b2Shapes in blue, with green stroke

所有的一切,我不知道在哪裏可以找到一些這方面的信息,如果是能夠這樣做的圖書館。即使這個庫在JavaScript中不可用,我也可以在Server上完成這項工作。 我知道有paper.js和raphalel,一些聰明的矢量庫,但我還沒有找到任何提示如何解決這個問題。 我很樂意爲您提供任何形式的幫助,鏈接到資源,或從數學角度看問題的正確名稱。

問候和感謝提前... 菲利普

回答

0

我只是想離開這裏調查的結果,也許有人會幫助它。最初的想法基於「耳朵切割」,「耳朵剔除」或「耳朵切割」。演示here將描述這一點。但是演示here中顯示的算法產生較少但box2d合適的多邊形。這個想法是儘可能地合併儘可能多的三角形,只要它們是凸的並且這種情況不超過八個邊。如果可以在三角形中找到兩個點,並在多邊形中找到兩個具有相同x和y座標的形容詞點,則可以將三角形添加到多邊形中。

相關問題