闵氏空间与常曲率空间的几何

闵可夫斯基空间中的“双曲旋转”变换,图片来自维基百科

今天我们来看看一种基于闵可夫斯基空间构造的一系列世界,并介绍一些微分几何学的相关概念。许多奇特世界与其都有一定的联系。本文更多涉及到这些空间的几何性质,后续我们再讨论这些世界里的天文学、居民生活等是什么样的。提前剧透:闵可夫斯基世界对我们来说既陌生又熟悉。

特色内容

  • 双曲函数与双曲角
  • 闵氏空间中的物理学
  • 德西特与反德西特时空几何
  • 内蕴几何与内禀曲率
  • 黎曼曲率张量的几何意义

    Read More

四维世界(八):四维星球导航

// 提示:本文涉及到基于Hopf极坐标的四维星球方向定位,请先阅读四维世界(一):行星的昼夜季节这篇文章了解四维星球上最基本的方向术语。

之前在《四维世界(七):电磁学》中提到过如何利用四维星球的地磁场进行导航,但没有具体分析怎样设计并使用指南针。这篇文章将补充这些内容,给出一份通过磁场、地转偏向力与星空的探险家在四维星球上的正确方向辨别指南。
一种半平行半垂直方向同时磁化的三维导航罗盘(东西南北阴阳字母分别为EW SN GM)

Read More

代数拓扑简介(下):同调论

/// 注:本文仅提供对同调相关概念的直观理解,不包含严谨的推导内容,文中若有错误欢迎指正。

上篇文章说了同伦群(Homotopy Group),这次我们来看看同调群(Homology Group)。同调要稍微抽象一些,但其实某种程度上要比同伦简单。回到最初通过路径判断孔的思路中来,同伦研究的是圆圈连续收缩的过程,虽然直接但难以计算。仔细观察不难发现,那些可缩成一点的图形的内部都是一块封闭的区域。如果假设只要一个封闭路径是图形中某块区域的边界,则认为它没有套住或跨越任何孔洞,我们把这样的圈叫做是“零调”的。注意这里零调的路径虽然跟同伦里的可缩路径很像,但零调的路径可能不一定真的可缩,后面我们将看到同调的条件要弱于同伦。比如下图左图青色区域的边界包含孔的边界和红色圈,单独的红色圈不是任何图形的边界,因此可知它包住了孔,而右图中的红色圈是蓝色区域的边界,因此它不包含任何孔,是“零调”的。左图中的包住了孔红色圈与右图可缩(“零调”)的红色圈(是蓝色区域的边界)

Read More

参观无限大养猪场

(** 注:本文为一篇好几年前的旧文,是作者对于对偶空间这一数学概念的形象化的想象,因下一篇文章涉及对偶空间概念,故在此发出(然而与其它文章并无因果联系,本文也毫无逻辑可言,看一乐就行,仅在文末给出了一些概念之间的对应关系) **)

(藤瑟先生被邀请来参观无限大养猪场。工作人员负责向他介绍这里的管理模式。)

工作人员:欢迎您前来参观无限大养猪场。这是个无限大的养猪场,我们养了无数头猪,有无数个饲养员,我们的管理模式很特别。每个饲养员都对猪编号,方便识别它们,但每个饲养员都很有个性,他们对猪的编号系统都完全不一样。

藤瑟先生:你们不统一编号不会导致管理混乱吗?

工作人员:不会的,无限大养猪场中的饲养员的个性丰富程度也是无穷的,我们必须要充分尊重饲养员们的个性,这自有解决方法。

Read More

玩Tesserxel(零):全新四维引擎上线

由于4DViewer代码混乱且计算截面在CPU端性能低下,今年7月底我决定尝试使用新技术WebGPU API重新实现四维渲染引擎,因为WebGPU的计算着色器可以让截面计算也放在GPU中,彻底解决性能问题,于是新项目——Tesserxel诞生了。Tesserxel取的是单词Tesseract(四维立方体的拉丁词根tessera“四”)和Pixel(像素)。

Tesserxel自带的示例库截图

目前Tesserxel实现了以下功能:

  1. 包含四维向量、二向量、四元数表示的旋量与图形学需要的矩阵运算的数学库。
  2. 基于四面体的光栅化渲染器,该渲染器仅底层封装,需用户自己创建着色器管线、GPU缓存资源等。
  3. 子模块Four能够帮用户隐藏底层渲染逻辑,类似于3D渲染中的ThreeJs库那样通过声明几何体、相机、材质、灯光来快速构建渲染四维场景。
  4. 四维刚体物理引擎。
  5. 用户键鼠交互系统封装。

下面就让我们进入Tesserxel构建的四维世界。这里是示例场景库链接(注意要启用WebGPU才打得开)

https://wxyhly.github.io/tesserxel/examples/

请参考玩Tesserxel后续系列文章中的教程深入了解Tesserxel的玩法哦~

注意:现在电脑端直接更新至谷歌浏览器最新版(版本号113及以上)即可打开,以下内容已经过时。

启用WebGPU方法: WebGPU是一个实验性的API,是WebGL的未来“接班人”,它的标准还处于W3C的草稿阶段,未正式发布。目前据说仅Windows下Chrome提供较好支持,而且想开启这项功能还有点麻烦,首先你需要下载Canary版本的Chrome浏览器(谷歌官网,或自行找下载资源),添加–enable-unsafe-webgpu参数启动浏览器,打开chrome://flags/,将WebGPU Developer Features打开(选Enabled)就可以启用WebGPU。
开启WebGPU的操作步骤

目前的Tesserxel只是一个早期版本,后续会补充Tesserxel说明手册,继续开发更多物理解算、高级材质、离线渲染,以及基于Tesserxel引擎的4D游戏等。(但愿不鸽~)

自己打造的一个电脑钢琴

  怎么用电脑键盘来弹钢琴?其实这种电脑钢琴软件很多,比如我之前接触过EveryOnePiano,比较出名的还有FreePiano。当然我们也可以自己做一个类似的东西,我的在线钢琴没有取名字,Github仓库名称我索性用了EveryOnePiano的缩写EOP。

这里是链接,点开即玩(ie浏览器是不可能支持滴!)

  大致的使用方法可以在点开后的菜单条的“?”查看(不详细,最好还是看本文后面给的例子哦),点击键盘,屏幕上会显示一个虚拟电脑键盘,上面将标出每个键的音名、唱名或功能(按住Ctrl、Shift、Alt后会有对应的功能快捷组合键)。本文也有一部分的使用说明,但侧重记录我对它的想法与实现过程。
  对了,如果你是手机用户,点击键盘可以模拟电脑键盘,再点一次键盘可以模拟钢琴键盘,类似“完美钢琴”那种手机App哦!

电脑键盘如何弹钢琴

Read More

代数拓扑简介(上):同伦论

注:这篇文章不需要读者有专业的拓扑学基础,可能一听到“代数”就给人一种抽象难以理解的感觉,因此本文更多希望从直觉上让大家感受一下代数拓扑中的同伦、同调是什么,具体正式定义和技术细节可以在任意一本代数拓扑的书上找到哦。

目录

Read More

四维空间(十二):解开球面结

# 本文是《四维空间(十):扭结与环扣》的续集,本内容对空间想象力要求较高,可能有些地方难以理解,但全文没有任何公式,只涉及几何,不涉及代数,适合挑战空间想象力哦。
# 我发现不仅是我,网上“扭结”与“纽结”全都在混用,那我也懒得改了。

在本系列的上上篇文章中我们知道了四维空间中的二维曲面打结现象与各式各样的孔、环扣等,上次对二维曲面结的介绍其实也不算太详细,只给出了一些非平凡的管状结作为例子,今天我们要从另一个角度来分析扭结。本文的主要内容来自于这个Youtube视频这篇论文,它介绍了通过旋转三叶结的方式来构造同胚于球面的结(即允许自相交的话能把这个结恢复成球面),并且证明了有些是真正无法解开的结,另一些是能够通过一些步骤解开成球面,下面我们也来试试解一解高维空间当中的结!

旋转球面结交线展开图

本文目录:

Read More