我想知道是否有人知道一个好的库,可以用多边形来镶嵌双曲平面(我的主要兴趣是{8,3}镶嵌)。我在各处都发现了一些applet,但逻辑与视图的分离在所有这些applet中都是可怕的。如果有一个完全不处理图形的库(因为我不打算使用Swing或创建我自己的applet),它将是完美的,只需接受参数:{p,q}和层计数,然后返回一个线或点(或多边形对象)数组。如果最坏的情况发生,我将不得不实现我自己的库,所以如果有人知道一些详细描述镶嵌算法的论文,这也可能是有帮助的。
编辑
顺便说一下,我应该提到我发现了Don Hatch设计的一个很酷的hyperbolic tessellations applet,一开始我很兴奋。然后我看了看他声称是source code的东西。在JAR中,我发现了带有.prejava扩展名的文件,完全不知道我在看什么--它似乎是某种糟糕的Java和C代码的混合体。在一次近距离的检查中,我立即感到头疼。显然他是想优化Java编译器...或者至少这是我通过查看javacpp的内容而得到的。不用说,为了使用C编译器生成Java源文件,我非常犹豫是否要花时间遵循他的说明,哇……
发布于 2011-02-08 05:14:55
这可能有点离题,我也在寻找一种干净,松耦合的双曲镶嵌实现。我发现了这个poincarédisk模型http://haishibai.blogspot.com/2010/07/draw-hyperbolic-geometry-poincare-disc.html的简单实现
我还发现这篇论文有一些伪代码http://www.d.umn.edu/cs/thesis/ajit_datar_ms.pdf
他们谈论可用的源代码: hyperart http://sourceforge.net/projects/hyperart/,但它是一个没有源代码的编译可执行文件。
发布于 2011-01-31 03:15:33
在http://aleph0.clarku.edu/~djoyce/poincare/PoincareApplet.html上有一个小程序。也许你能读懂代码。
发布于 2013-07-06 10:56:59
另外,请查看我和唐编写的Tyler小程序。单击“双曲线”复选框,然后在“曲率基于”字段中输入"8,8,8“。您还需要选择右侧的“8”单选按钮,这样每次单击都会在离鼠标指针最近的边缘添加一个八角形。也可以单击数字键以插入具有该边数的多边形。阅读说明,你很快就能构造出你能想象到的任何类型的平铺。这可能是您所需要的全部,但是完整的源代码也可以在该页面上找到,而且没有预处理的东西。
https://stackoverflow.com/questions/4844787
复制相似问题