three.js项目:高维几何体的可视化
孕期歇斯底里症 2021-2-15原创 软件综合
中文摘要
高维几何图形的理解和诠释一直是一件难事,缺乏有效的工具和方法。此项目试图通过采用投影法实现的可视化来探索高维几何体的特点。
Abstract
The comprehension and interpretation of high-dimensional geometries are always a tough process and lack the effective tools and methods. This project attempts to explore the characteristics of the high-dimensional geometries via employing a visual method implemented via projection.
关键词
高维几何JavaScriptWebthree.js
High-dimensionalJavaScriptWebthree.js

https://sdtelectronics.github.io/Visualization-of-Hyper-Geometries/src/index.html#?Demo2

这是一年多以前楼主作为线性代数课程设计的项目,不过当时没有写创建几何体的界面,全靠在console里手动传参给构造函数然后new出来。结课之后一直觉得这个项目就这样凉掉有点可惜了,这两天抽空写了个更具操作性的UI,发出来展示一下。值得一提的是,写完新的UI的switch、toggle等交互之后,我发现js源码并没有新增一行,这个新UI的导航和切换效果几乎是靠纯粹的HTML+CSS实现的,除了一行内联的事件绑定。后续会更新可视化的方法(高维向平面投影)以及生成高维几何体(目前其实只有任意维超立方体是生成的)的算法。

提示1:本项目大量使用CSS3、H5、ES6特性,请使用一个不太上古的浏览器打开。

提示2:本项目是prove of concept性质的,几乎没有做任何性能优化的考量(实际上由于几乎全部的循环都是用声明式语法写的,所以相对命令式的语法可以说是逆优化了)。实测在楼主8300H的笔记本上,播放5维超立方体旋转动画+拖动视角时平均帧率在20-30FPS,所以不要尝试在移动设备上体验本项目。

5Hycb1.png

在两个平面上旋转的5维超立方体,中心投影

4Hycb1.png

静态的4维超立方体,中心投影

Simp1.png

在一个平面上旋转的4维棱锥,平行投影

Vec1.png

矢量场的可视化,目前暂不支持在UI中自定义创建。

来自:计算机科学 / 软件综合
4
孕期歇斯底里症 作者
11天14时前
1楼

UI介绍:

好像没啥好介绍的,我感觉我写的界面应该还挺符合直觉的(

UI1.png

鼠标移动到…按钮上弹出操作选项,由左至右分别是:

显示/隐藏网格,旋转/固定摄像机,旋转/固定几何体,清屏

UI2.png

点击+按钮创建新几何体,目前总共可以创建三种:任意维超立方体,四维棱锥,二阶张量;以及可以选择8种预设的Demo进行展示。

回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
孕期歇斯底里症作者
11天13时前
2楼

目前实现的UI功能有限,更多接口可以在项目的Wiki里看到(然而Wiki也是一年多以前写的,有很多缺失的地方。以后可能会更新吧,咕咕咕)。之后也许会添加自定义创建高维平面的功能。

https://github.com/SdtElectronics/Visualization-of-Hyper-Geometries

回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
信仰は儚き人間の為に
8天22时前
3楼

这个好玩

回复
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
UICalc
8天13时前
4楼

手机稳定60fps啊

回复
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
孕期歇斯底里症
进士 机友 笔友
文章
10
回复
118
学术分
0
2014/05/11注册,13 小时前活动
暂无简介
%7B%22isDisplay%22%3Atrue%7D

仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
等待中...
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
处理中..
处理失败
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传
空空如也~
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
{{submitted?"":"投诉或举报"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png
插入公式
分享回复:{{shareId}}
加载中...
加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
加入关注取消关注
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
建议修改
编辑
通过审核
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
下载资料
{{fileName}}
大小:{{size}}
下载当前附件将花费 {{costMessage}}
你当前剩余 {{holdMessage}}
{{fileName}}
大小:{{size}}
当前附件免费。
你已购买过此附件,下载当前附件不需要花费积分。
加载中...
{{errorInfo}}
附件已丢失
当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}