Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

双曲图案讨论 #28

Open
neozhaoliang opened this issue Oct 23, 2020 · 116 comments
Open

双曲图案讨论 #28

neozhaoliang opened this issue Oct 23, 2020 · 116 comments

Comments

@neozhaoliang
Copy link
Owner

No description provided.

@OuyangPeichang
Copy link

新的旅途开始 ^_^

贴一张图纪念

Uploading WildGoose.jpg…

@neozhaoliang
Copy link
Owner Author

@OuyangPeichang 我新写了一个 Escher 风格的拟周期广义彭罗斯铺砖,你可以在这里查看:
https://www.shadertoy.com/view/wsKBW1

@OuyangPeichang
Copy link

你说的东西非常吸引人,非常遗憾我打不开网页?手机也不行,有其他方式分享与我吗?

@neozhaoliang
Copy link
Owner Author

不至于吧?我在华为手机上用自带的浏览器就可以正常播放。chrome 应该也是可以的。这个网站没有被墙。

@OuyangPeichang
Copy link

是最近做的吗?我之前在某个地方见过一个类似版本。但动态的效果图片更有意思。

可以抽空写一个关于高维投影构造非周期tiling的扫盲性帖子吗(对,就是你网页的背景图)?目前国内还没有这方面的科普性文字,这个话题挺有意思的。

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Dec 14, 2020

你现在能访问 shadertoy 了吗?不排除你的浏览器禁止了执行 js 代码。

@OuyangPeichang
Copy link

很奇怪,我这边试过的几个ip地址都不能,我是借朋友手机浏览的,很多手机也无法访问。

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Dec 14, 2020

你试试这个:https://www.shadertoy.com/view/WdGBz3

我用华为荣耀手机自带的浏览器是可以的。有可能是手机上的 glsl 版本过低,无法编译 shadertoy 的代码。

@OuyangPeichang
Copy link

No way
以前这种网址打得开,现在不行了。

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Dec 14, 2020

好吧,我觉得不能访问 shadertoy 的话你错过了好多好东西。建议安装翻墙工具试试?

还有就是建议试试 chrome 和 firefox 浏览器。我在家使用联通网,不开代理,使用 firefox 是可以正常访问的。

@OuyangPeichang
Copy link

感谢建议,在找翻墙软件(现在不容易了),firefox也打不开。

没见过中文的投影构造方法,英文的对于非数学人士也有困难。

期待你的科普力作。

@neozhaoliang
Copy link
Owner Author

我找到了一个办法,可以将 shader 放在一个 svg 图像里面,可以在本地用浏览器打开。github 不允许直接传 svg,你可以下载以后解压得到 svg 。

marden.zip

@OuyangPeichang
Copy link

OuyangPeichang commented Jun 24, 2021 via email

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Jun 24, 2021

所以现在不在井冈山大学了是吗?

marden.svg 那个动画介绍的是平面几何中的 Marden 定理与静电场、复分析的联系,非常有趣的小结论,见
https://pywonderland.com/Marden-theorem/
这是个 SVG 文件,但是里面嵌入的是 glsl 代码,在显卡里面实时运行然后渲染,所以它其实不是个图片,是一个可执行的 xml 文件。它的大小只有 9.5KB。对双曲图案,如果是一笔一画地在 SVG 里面画 path 的话那得到的文件就太大了。

Mobius 那个代码你可以自由修改和使用。我在博客上和 github 中公开的所有代码都是如此。

de Bruijn 构造拟周期密铺的方法我在考虑写,应该下个月能完成。这方面英文资料其实也不多,最好的可能还是 de Bruijn 的原论文。

还有我没有看到有附件啊?

@OuyangPeichang
Copy link

OuyangPeichang commented Jun 25, 2021 via email

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Jun 25, 2021

Marden 本人做过 N 个电荷,包括负电荷的推广,正电荷对应有理函数的根,负电荷对应有理函数的极点,也有一个内切于多边形的高阶曲线以根为焦点,不过这个曲线不容易确定。

Mobius 项目代码在这里 https://github.com/neozhaoliang/pywonderland/tree/master/src/mobius
shadertoy 版本 https://www.shadertoy.com/view/4scfR2
附件是那个博客文章里面的代码,你应该是不能直接运行的。它使用了 glslCanvas 。不过互相之间代码差别不大。

mobius.zip

de Bruijn 构造拟周期密铺的方法分为高维投影和对偶网格法两种,这两种是等价的,网格法更容易编程实现,其可以绘制的图案更灵活。

@OuyangPeichang
Copy link

OuyangPeichang commented Jun 26, 2021 via email

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Jun 26, 2021 via email

@neozhaoliang
Copy link
Owner Author

我把 Mobius 变换那篇文章的代码更新了,你可以直接在动画上右键单击,选择此框架 --> 新建标签页打开框架,然后右键查看网页源代码即可下载代码。

@OuyangPeichang
Copy link

OuyangPeichang commented Jun 28, 2021 via email

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Jul 1, 2021

抱歉我发现更新的 Mobius 场景中软阴影部分的渲染代码有个错误,1e-4 写成了 1e4,导致阴影效果没有出来。你可以重新下载修正后的代码。

此外我更新了欧式蜂巢渲染的代码,效果比之前漂亮许多,可以渲染的场景也更多,你可以去看看。

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Aug 16, 2021

Hi, 作品好久没更新了,这次做了比较大的改动,我把以前的双曲蜂巢删掉了,重新制作了新的图片,我觉得比之前的要好。见我的博客置顶文章。里面有源代码链接。

@OuyangPeichang
Copy link

这些交织离散群、代数、几何等的内容国内精通的恐怕不多,难得的是简明易懂的介绍(非数学的恐怕还看不懂)。

双曲蜂巢非常震撼,视觉冲击力极大,科幻异星感十足,欧氏蜂巢也非常棒。若能开发成VR,随身携带展示就非常好,兼具美学与科普。你对科研论文有兴趣吗?或者我可以整理后发到Fractals杂志。

我们在你螺旋框架上做了一些埃舍尔渲染,效果没到预期,还在继续改进,见http://fractals92.5v.pl/fractals/spirals.mp4中的案例。

感谢分享。

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Aug 17, 2021

那个 spirals.mp4 里面的效果很不错!如果能按照螺线的轨迹走起来就更好了,进一步如果还能做到在双曲圆盘里面动起来就更更漂亮了。不过那样的话,翅膀的抖动就要按照双曲几何下的测地线移动,不太确定是否好做。

蜂巢结构做成 VR 是个不错的主意,将来一定会实现。

科研论文的话,这个建议很好,如果您乐意帮助整理发表,那非常感激!目前这个蜂巢项目还在进行中,还有许多需要改进的地方,大约需要几个星期时间,到时完成后我们可以具体讨论下。

@OuyangPeichang
Copy link

我们已经完成了沿螺旋线轨迹运动的效果,还在进一步整理中。

双曲圆盘的螺旋更复杂,我们下一步有这个计划:双曲及球面螺旋埃舍尔艺术图案制作,目前卡在一些算法细节。

万花筒(我们最近做了很多,见随附案例)类型的VR是一个很酷的东西,有专利潜力,一直想做,但没有接触过这个技术领域,还没找到下手途径。

非常期待你的蜂巢改进版,待完成后,你来执笔理论及算法部分,我来完成综述与总结,这会是一个非常引人的结果,Fractals是个不错的选择。
17
10
15
CFP

@neozhaoliang
Copy link
Owner Author

你们设计的图案很棒!我比较喜欢第三个和第四个。如果能把中国风的元素,比如生肖、悟空、剪纸等融合进去效果会不错。我觉得做一个剪纸贴画,过年的时候推向市场应该值得试一下。

@OuyangPeichang
Copy link

才发现前几天邮箱回复的留言没有成功。

你的嗅觉很灵敏。我们一直想展开中国风的艺术设计,但国内几乎找不到Escher设计师,国外的合作者不擅长中国元素,有限的几款设计也是一直要求下才得到的结果。

我们计划做一批仿真工艺品用来装饰工作室,特别特别喜欢你做的球面多胞体与双曲蜂巢艺术效果,目前没看到更好的作品,你擅长3D建模吗?若能把它们制成3D打印格式就太美了!

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Aug 23, 2021

  1. 我对 3D 建模没有经验。3D 打印的蜂巢有人做过,做成首饰之类的是可以的。
  2. “装饰工作室”,这是个人创业项目吗?
  3. 蜂巢这个项目我还在写,我对现在的图像质量不满意,正在重新做一批。

@OuyangPeichang
Copy link

新入职的学校给了一个办公室,我想装修一下,方便展示和介绍研究成果,摆放一些工艺品看着也舒服。你若喜欢其中一些风格的话,我多订制一些寄给你。

挖掘艺术图案经济潜力的想法一直有,在找好的形式和切入点。

高维蜂巢的可视化近年进步很快,但感觉仿真效果没能充分呈现它们的数学“美”。你的创意和效果图非常棒,现在的工艺技术每天都在进步,我觉得可以在此基础上做出更好工艺品。

@OuyangPeichang
Copy link

抱歉,网络卡,请看现在附上的图:
sphere_cl1_quad_01

@OuyangPeichang
Copy link

图片请求

@neozhaoliang
Copy link
Owner Author

是个球极投影。
1344885405116600322-Eqn891-UUAAtpWo
1360434306296938496-EuE7siTUcAYfOfY
1378685391566303240-EyITA7GVoAIqP9k
1379638212121948162-EyV1iHaU8AE4IsK
1379704553143037955-EyWx3jHUcAAGQhW
1381443110203355136-EyvfJUOU4AM9a60
1381867849107468289-Ey1hXs8VcAEN6r8
1381867849107468289-Ey1hXs8VoAU-Mcw
1381867849107468289-Ey1hXtAUcAUuMwD
1384373627361976321-EzZIb69VcAU-bYK

@OuyangPeichang
Copy link

哇哇哇~~~~好漂亮!!!
能发几个对比度强烈、分辨率在4k左右的图吗?我想做一个水晶内雕装饰彩灯工艺品。

@neozhaoliang
Copy link
Owner Author

你可以自己修改这里的代码:https://www.shadertoy.com/view/NstSDs
4K 的图片我的电脑渲染不了。

@OuyangPeichang
Copy link

OuyangPeichang commented Jun 22, 2023 via email

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Jun 23, 2023 via email

@OuyangPeichang
Copy link

OuyangPeichang commented Jun 24, 2023 via email

@neozhaoliang
Copy link
Owner Author

代码在这里:https://www.shadertoy.com/view/4scfR2
这个界面里是用户自己编写的 glsl 代码,网站在背后还做了一些编译和传递参数的工作。我这个效果其实一般,你可以看看 shane 的一些作品:
https://www.shadertoy.com/view/NlKXWt
https://www.shadertoy.com/view/Dd2SWh

@OuyangPeichang
Copy link

还记得您分享给我的多面体数据吗(见下面附的案例)?这解决了我的大难题,我们在投稿的论文中向您致谢,感谢帮助。
我们现在有个特殊需求,需要多面体的其中一个顶点刚好包含北极点(即其中一个顶点数据为<0, 0, 1>).
您的程序能算出包含北极点的多面体数据吗?如果可以的话,能再分享给我吗?

spherical_kaleido_3_0_mean__109169125

#declare vertices = array[8]{
<0.5773502691896253, 0.5773502691896256, 0.5773502691896263>,
<-0.5773502691896253, 0.5773502691896256, 0.5773502691896263>,
<0.5773502691896258, -0.5773502691896251, 0.5773502691896263>,
<-0.5773502691896258, -0.5773502691896251, 0.5773502691896263>,
<0.5773502691896258, 0.5773502691896268, -0.5773502691896244>,
<-0.5773502691896258, 0.577350269189627, -0.5773502691896244>,
<0.5773502691896272, -0.5773502691896256, -0.5773502691896244>,
<-0.5773502691896272, -0.5773502691896256, -0.5773502691896244>};

#declare edges = array[1] {
array[12][2] {
{0, 1},
{0, 2},
{1, 3},
{2, 3},
{0, 4},
{1, 5},
{4, 5},
{4, 6},
{2, 6},
{3, 7},
{5, 7},
{6, 7}}};

#declare faces = array[1] {
array[6][4] {
{0, 2, 3, 1},
{0, 4, 5, 1},
{0, 4, 6, 2},
{1, 5, 7, 3},
{2, 6, 7, 3},
{4, 6, 7, 5}}};

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Oct 20, 2023

抱歉前几天在外旅游,没有看到邮件。附件是 18 个阿基米德多面体的数据。
data.zip

@OuyangPeichang
Copy link

OuyangPeichang commented Oct 20, 2023 via email

@neozhaoliang
Copy link
Owner Author

见上面回复的附件。每个多面体的第一个顶点坐标是 (0, 0, 1)

@OuyangPeichang
Copy link

赵先生您好,我们在推导一个模型,需要用到阿基米德体的顶点坐标,满足如下要求(见附图):
(1)其中一个顶点P1=(0,0,1)落在北极;
(2)设P1P2是多面体的一条边,P1P2刚好处于XOZ平面上,即可设P2= (sin eta, 0, cos eta) (eta是由多面体确定的一个参数)。
通过指定上述条件,则多面体的所有顶点唯一确定。您的程序能按上述要求,计算出所有坐标吗?

@OuyangPeichang
Copy link

requirement

@neozhaoliang
Copy link
Owner Author

data.zip

你试试上面这个文件?里面多面体的第一条边都位于 xz 平面内。

@OuyangPeichang
Copy link

这个对我非常有帮助,感谢感谢!!

@OuyangPeichang
Copy link

赵先生,我们这两天测试了您上面给的数据,数据对正多面体(即3.3.3, 4.4.4, 5.5.5, 3.3.3., 3.3.3.3.3)、 3.4.5.4和3.4.4.4都是正确的,但剩余的11个半正多面体有误,您能核对一下算法,再给一份数据给我试试吗?

另外,请教下图中的香蕉状曲面是如何变换出来的呢(或者曲面方程是什么)?我记得您之前有一个网页,介绍了共轭意义下莫比乌斯变换的分类,现在找不到了,您能把原文或链接发给我吗?
banana

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Nov 18, 2023 via email

@OuyangPeichang
Copy link

扭棱有点偏移,我们重整后数据可以用,感谢您的大力帮助,您的计算方法非常赞!

莫比乌斯程序渲染效果很惊艳,令人爱不释手。我们在此基础上,做了纹理嵌入,请看下面的3张结果。

我的理解是,这些效果都是借助不同的变换(比较明显地有, 1/z, (az+zb)/(cz+d), exp(a*z)),把欧氏平面上的矩形网格,映射到不同的曲面(我只看到球极投影),这个理解对吗?

私下里很想把这件作品整理成论文,您能把这些变换和曲面空间确认一下,私发给我吗([email protected])?您有时间执笔,扼要概括一下背后的数学原理吗?我觉得这是一个深入浅出的良好科普素材。
3

2
1

@neozhaoliang
Copy link
Owner Author

你的效果很棒啊!非常非常不错。期待能在网页上体验。

我的理解是,这些效果都是借助不同的变换(比较明显地有, 1/z, (az+zb)/(cz+d), exp(a*z)),把欧氏平面上的矩形网格,映射到不同的曲面(我只看到球极投影),这个理解对吗?

实际上是把极坐标网格(同心圆和过原点的直线)映射到曲面上。

私下里很想把这件作品整理成论文,您能把这些变换和曲面空间确认一下,私发给我吗([email protected])?您有时间执笔,扼要概括一下背后的数学原理吗?我觉得这是一个深入浅出的良好科普素材。

之前的博客我在做一些整理,所以撤掉了一些文章。我整理好以后会再放上去。写科普的话很好呀,我下个月大概可以开始做这件事。

@neozhaoliang
Copy link
Owner Author

但剩余的11个半正多面体有误

不知道你说的有误是什么意思,我看了下计算的结果,似乎它们是正确的?第二个顶点的 y 坐标都是 0

图片

@OuyangPeichang
Copy link

OuyangPeichang commented Nov 18, 2023 via email

@OuyangPeichang
Copy link

赵先生,您现在得空写Mobius项目的科普介绍吗?我非常喜欢这个创意(以保形映射为工具,展示Riemann几何的美妙),Dupin cyclide映射的引入非常漂亮。

如果有时间的话,您可以先梳理一下相关数学工具及历史背景,并详细介绍其中用到的保形映射(最好附一些参考文献,这部分能容会嵌入到论文中,论文的其他细节我可以包圆)。
Uploading frame_2023_11_18_22_38_59_047.png…

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Dec 13, 2023 via email

@OuyangPeichang
Copy link

OuyangPeichang commented Dec 13, 2023 via email

@neozhaoliang
Copy link
Owner Author

我想问一下文章有文档格式的限制吗?我个人习惯用 LaTeX 或者 markdown,word 我不太会用。

@OuyangPeichang
Copy link

OuyangPeichang commented Dec 16, 2023 via email

@neozhaoliang
Copy link
Owner Author

neozhaoliang commented Jan 1, 2024

欧阳老师,新年好!我写了一个文章草稿放在 overleaf 上,可以告知我您的邮箱不?我把您加入协作者中。这样后续我们也可以通过邮箱讨论,避免在 github 上公开。

@OuyangPeichang
Copy link

赵先生新年好!非常高兴看到您的进度,我的邮箱是[email protected],近期刚好有时间,希望能把这篇文章在春节前做完。非常感谢您的协助和支持。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants