javascript - 在 Colab 中嵌入 Three.js

标签 javascript python three.js fetch google-colaboratory

以下是 Google Colab 上 python 和 javascript 之间双向通信的一些示例: https://colab.research.google.com/notebooks/snippets/advanced_outputs.ipynb

如何让这个简单的 Three.js 演示在 Colab 中运行? https://threejs.org/examples/webgl_buffergeometry_lines.html

源代码看起来很简单,但我无法在 Colab 中运行它。

我们还可以将更新的 BufferGeometry 数据(高效地以二进制形式)从 python numpy 数组发送到 Three.js 吗?

最佳答案

这是我更改的主要部分

import * as THREE from 'https://unpkg.com/three?module';
//import Stats from './jsm/libs/stats.module.js';

我从 unpkg 导入了三个,并删除了 Stats 部分。

这是一个working notebook .

JS 调用 Python

如果你需要从Python获取三个数据,有两种困难的方法。

  1. invokeFunction:请参阅这些 3 examples 。限制是您只能传递 JSON 数据。

  2. proxyPort API:请参阅 this solution作者:@blois 和我的 simplification 。您需要启动一个网络服务器。您可以通过提供 content-length header 来提供二进制数据,如 discussed here 。在接收端使用fetcharrayBuffer。目前,该解决方案似乎不适用于 Firefox,但适用于 Chrome。

关于javascript - 在 Colab 中嵌入 Three.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60907999/

相关文章:

Python 尝试/捕获 : simply go to next statement when Exception

javascript - 使用 three.js 和 <canvas> 的纹理 3D 模型(不是 WebGL)

javascript - 如果值 >= 15 语句 TypeScript

javascript - 在 npm 上“使用严格”

Javascript将字符串与模式匹配并在匹配的字符串中插入一些文本

javascript - 面向对象的JavaScript

javascript - 三个JS导出Blender模型和动画变形

javascript - 停止移动设备上的 HTML 视频自动播放

python - 如何在虚拟环境中运行 Airflow PythonOperator

python - pandas 数据框中的 if-else 语句