我想知道是否有人知道用多邊形鑲嵌雙曲面的好曲庫(我的主要興趣在於{8,3}曲面細分)。我在這裏和那裏發現了一些小程序,但是從視圖中分離出來的邏輯在所有這些小程序中都是可怕的。如果有一個庫根本不處理圖形(因爲我不打算使用Swing或創建自己的小程序),它會是完美的,只需要參數:{p,q}和圖層數,然後返回線或點(或多邊形對象)的數組。如果最壞的情況出現了,我將不得不實施我自己的庫,所以如果有人知道一些詳細描述曲面細分算法的論文,也許會有所幫助。雙曲鑲嵌Java庫
編輯
順便說一句,我應該提到,我發現了一個看起來很酷的唐哈奇hyperbolic tessellations applet起初很興奮。然後我看着他自稱是source code。在JAR內部,我發現擴展名爲.prejava
的文件,並且完全不知道我在看什麼 - 它似乎是Java和C代碼的混合。經過仔細檢查,我立即得到了頭痛。顯然他試圖優化Java編譯器......或者至少這是我通過查看javacpp
的內容所得到的結果。不用說,爲了用C編譯器生成Java源文件,我非常猶豫要花時間按照他的指示,哇...
首先,感謝這個問題 - 我有類似的需求。另外,我知道這篇文章已經過時了,但我想向未來的讀者指出,讓Don Hatch的源代碼編譯並不困難。 `javacpp`只是一個perl腳本,它在.prejava文件上運行C預處理器來生成正常的.java文件。他所做的只是啓用C#定義,#ifdefs等,這些都是很好的功能。 (與優化無關)如果你有`make`,`perl`和`cpp`,你只需運行`make`,它就可以無縫編譯。 – LarsH 2012-03-29 08:16:34
但是我會補充一點,邏輯和視圖之間的分隔可能不符合你的需要。 Hatch根據線段來做所有事情,這些線段是平鋪多邊形的半邊。這些線段不會分組爲多邊形,甚至不分爲整個多邊形邊。因此,如果您需要按照多邊形來做事情,或者複製「主題」(例如埃舍爾的魚),您可能很難從Hatch的代碼中獲得所需的內容。但是他的代碼似乎是最有效的。 – LarsH 2012-03-29 10:14:45