2011-01-30 10 views
6

多角形で双曲線平面をテッセレーションするための良いライブラリを知っている人がいますか(私の主な関心は{8,3}テッセレーションにあります)。私はここでいくつかのアプレットを見つけましたが、論理から見て分かれているのは、それらのすべてでは恐ろしいものです。私はSwingの使用や独自のアプレットの作成を計画していないので、グラフィックを扱っていないライブラリがあれば完璧です。{p、q}とレイヤ数を返します。線または点(またはポリゴンオブジェクト)の配列。最悪の場合は最悪の場合、私は自分自身のライブラリを実装する必要があるので、テッセレーションのアルゴリズムを詳細に記述した論文を誰かが知っていると助けになるかもしれません。ところで双曲線テッセレーションJavaライブラリ

EDIT

、私はドン・ハッチによってかっこいいhyperbolic tessellations appletを発見し、最初に興奮したことを述べてきたはずです。それから私は彼がsource codeと主張しているものを見ました。 JARの内部では、拡張子が.prejavaのファイルを発見しましたが、私は何を見ているのか全く分かりませんでした。これはJavaとCコードの混雑しているようです。より精密な検査を試みると、私はすぐに頭痛に恵まれました。どうやら、彼はJavaコンパイラを最適化しようとしていたのですが...少なくともjavacppの内容を見て集めたものです。言うまでもなく、Cコンパイラを使用してJavaソースファイルを生成するために彼の指示に従うことに私の時間を費やすことは非常に躊躇しています...

+1

まず、この質問に感謝します。私は同様の必要性を持っています。また、私はこの投稿が古くなっていることを知っていますが、将来の読者に、Don Hatchのソースコードをコンパイルするのはそれほど難しくないと指摘したいと思います。 'javacpp'は.prejavaファイルでCプリプロセッサを実行して通常の.javaファイルを生成するperlスクリプトです。彼がやっているのは、C#defines、#ifdefsなどの使用を可能にすることです。これは素晴らしい機能です。 (何も最適化とは関係ありません。) 'make'、' perl'、 'cpp'があれば、' make'を実行するだけでシームレスにコンパイルできます。 – LarsH

+0

しかし、ロジックとビューの分離が必要なものと一致しない可能性があることをご説明します。ハッチングは、タイル化されたポリゴンのハーフエッジである線分の点ですべてを行います。これらの線分はポリゴンにグループ化されず、ポリゴンのエッジ全体にもグループ化されません。したがって、ポリゴンや複製されたモチーフ(エッシャーの魚など)を使って作業する必要がある場合は、ハッチのコードから必要なものを得るのが難しいかもしれません。しかし、彼のコードは最も効率的だと思われる。 – LarsH

答えて

2

これは少し話題になるかもしれませんが、私はまた、双曲線のテッセレーションのクリーンで疎結合された実装を探しています。 hyperart http://sourceforge.net/projects/hyperart/しかし、それは無いとコンパイルexeファイルだ: は、私はまた http://www.d.umn.edu/cs/thesis/ajit_datar_ms.pdf

は、彼らが利用可能なソースコードの話をいくつかの擬似コードを持って、この論文を見つけたポアンカレの円板モデルhttp://haishibai.blogspot.com/2010/07/draw-hyperbolic-geometry-poincare-disc.html

のこのストレートな実装を見つけましたソース。

+0

Duuuuude!驚くばかり!私は詳細を取らなければならないが、それは非常に有用であるように見える! – Andrey

+0

なぜあなたはハイパーアートにソースがないのですか?ここにあります:http://hyperart.cvs.sourceforge.net/viewvc/hyperart/ 1つのアーカイブにまとめてみませんか? 「Download GNU tarball」をクリックします。 – LarsH

+0

erf私の悪い、申し訳ありません、リンクと感謝について:) – nicoptere

3

http://aleph0.clarku.edu/~djoyce/poincare/PoincareApplet.htmlにアプレットがあります。おそらくコードを読むことができます。

+1

私はこれを見て、それのための情報源を持っています。しかし、それは図書館ではないし、使用法や文書の例がないため、私は内部の作業に精通していません。私の計画は、より良い選択肢が見つからない場合にのみ、このアプレットのソースを見始めることです。 – Andrey

+0

このアプレットのコードの内部動作はかなり明確です...ハッチよりもはるかに簡単なIMOです。 – LarsH

0

Donと私が書いたTylerアプレットもチェックしてください。 "Hyperbolic"チェックボックスをクリックし、 "Curvature based on"フィールドに "8,8,8"と入力します。また、右側の「8」ラジオボタンを選択して、各クリックがマウスポインタに最も近い八角形を追加するようにします。数字キーをクリックして、その辺の数のポリゴンを挿入することもできます。指示を読んで、想像できるどんな種類のタイルをすばやく作成することができます。これはあなたが必要とするすべてのものかもしれませんが、完全なソースはそのページでも利用でき、前処理のものはありません。