前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >全网最火爆的 "量子纠缠" 网页版

全网最火爆的 "量子纠缠" 网页版

作者头像
Tinywan
发布2023-11-28 15:26:33
发布2023-11-28 15:26:33
1.3K00
代码可运行
举报
文章被收录于专栏:开源技术小栈开源技术小栈
运行总次数:0
代码可运行

纯前端实现的量子纠缠效果视频在网络上迅速传播开来。视频中,作者在两个窗口中打开了相同的网页,然后在两个窗口中同时移动鼠标。

作者

简化版

作者目前在Github开源项目是使用 three.js 和 localStorage 实现的在同一源上设置跨窗口的 3D 场景的简化版。完整源码地址:https://github.com/bgstaal/multipleWindow3dScene

本地部署

把源码克隆到本地,配置Nginx亲自体验一番

代码语言:javascript
代码运行次数:0
运行
复制
git clone git@github.com:bgstaal/multipleWindow3dScene.git

目录结构

Nginx配置

代码语言:javascript
代码运行次数:0
运行
复制
server {
    listen 80;
    server_name 3d.tinywan.com;

    location / {
        root   /var/www/multipleWindow3dScene; 
        index  index.html index.htm;
    }
}

配置本地server主机 打开本地C:\Windows\System32\drivers\etc\hosts添加以下

代码语言:javascript
代码运行次数:0
运行
复制
127.0.0.1       3d.tinywan.com

表示本地将域名3d.tinywan.com指向自己想要解析的IP 127.0.0.1 这时候就可以通过域名访问项目啦!配置完成后重启nginx。

访问

浏览器打开访问:http://3d.tinywan.com/index.html

录制一个Gif图片看看效果

虽然没有原视频那么炫酷,但基本原理应该差不多。作者只是公布了前端相关代码,通过three.js绘制图形,通过本地存储通信,这些都是很基础的知识。

真正难得的是创意,而真正复杂的是算法。给想自己实现的同学一些方向,前提需要一些图形学的知识。主要算法大都需要在shader中实现。以点的形式绘制一个球体,顶点数量多一些。

顶点位置用噪波进行一个分布,也就是有的地方粒子密度大,有的地方小。对每个顶点做扰动,以球体当前顶点的切线方向运动,以实现流动效果。两个球体的通信管道可以用圆柱体实现,一头的顶点做一些扩张。这只是一个思路,具体的实现细节还是非常复杂的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者
  • 简化版
    • 本地部署
    • 目录结构
    • Nginx配置
    • 访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档