Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Colab中嵌入three.js_Javascript_Python_Three.js_Fetch_Google Colaboratory - Fatal编程技术网

Javascript 在Colab中嵌入three.js

Javascript 在Colab中嵌入three.js,javascript,python,three.js,fetch,google-colaboratory,Javascript,Python,Three.js,Fetch,Google Colaboratory,以下是Google Colab上python和javascript之间双向通信的一些示例: 如何让这个简单的three.js演示在Colab中工作? 源代码看起来非常简单,但我无法在Colab中使用它 我们还可以将更新后的BufferGeometry数据(有效地,以二进制形式)从python numpy数组发送到three.js吗?以下是我要更改的主要部分 import * as THREE from 'https://unpkg.com/three?module'; //import St

以下是Google Colab上python和javascript之间双向通信的一些示例:

如何让这个简单的three.js演示在Colab中工作?

源代码看起来非常简单,但我无法在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部分

这是一个例子

JS调用Python 如果需要从Python中获取三种格式的数据,有两种困难的方法

  • invokeFunction:查看这些。限制是您只能传递JSON数据

  • proxyPort API:请参见@blois和my。您需要启动一个web服务器。您可以通过提供
    内容长度
    标题来提供二进制数据,如下所示。在接收端使用
    fetch
    arrayBuffer
    。目前,该解决方案似乎不适用于Firefox,但适用于Chrome


  • 谢谢。看起来很不错!两个问题:第一,我们为什么使用unpkg.com?其次,我们如何调用python并获得一个numpy数组供three.js使用?Unpkg支持从url“模块导入”。您可以与其他CDN一起尝试,或者直接从colab下载并提供服务。要从JS调用Python,需要使用
    invokeFunction
    。这里有一些例子,我们如何获得有效的二进制numpy传输而不是Json?我没有看到任何关于invokeFunction的文档来解释这一点。谢谢。我已经编辑了答案。感谢您寻求解决方案。我一直想知道如何在Colab做困难的事情。我们的最终解决方案扩大了边界。谢谢以下是@blois答案的简化版本。使用请求的路径加载任何numpy变量。