Jupyter笔记本的vpython
vpython的Python项目详细描述
vpython
此软件包允许用户使用glowscript在浏览器中运行vpython vpython api,在https://www.glowscript.org的帮助中记录。如果代码是 在jupyter笔记本的一个单元中,3d场景出现在jupyter笔记本中。 如果代码是在笔记本外部(例如从命令行)启动的,则 浏览器窗口将打开,显示场景。
vpython使得创建可导航的实时三维动画变得异常简单。 单行程序“sphere()”生成具有适当照明的三维球体 相机的位置使场景充满视图。它也 激活鼠标交互以缩放和旋转相机视图。这个 2014年5月,john coady开始实施vpython。露丝·夏贝, 马特·克雷格和布鲁斯·舍伍德正在协助其进一步发展。
安装
有关如何安装vpython的详细说明,请参见https://vpython.org,在这里您还可以找到指向vpython论坛的链接,该论坛是报告问题和请求帮助的好地方。
简要说明:
- 如果使用anaconda python distribution,请按如下方式安装:
conda install -c vpython vpython
- 如果使用任何其他python发行版,请按如下方式安装:
pip install vpython
示例程序
下面是一个简单的示例:
fromvpythonimport*sphere()
这将创建一个包含三维球体的画布,使用鼠标和触摸 可用于缩放和旋转相机的控件:
Right button drag or Ctrl-drag to rotate "camera" to view scene.
To zoom, drag with middle button or Alt/Option depressed, or use scroll wheel.
On a two-button mouse, middle is left + right.
Shift-drag to pan left/right and up/down.
Touch screen: pinch/extend to zoom, swipe or two-finger rotate.
当前,要在jupyter笔记本中重新运行vpython程序,您需要单击圆形箭头图标以“重新启动内核”,然后单击红色突出显示的按钮,然后单击第一个单元格,然后单击运行图标。或者,如果在程序开始时插入“scene=canvas()”,则可以在不重新启动内核的情况下重新运行程序。
vpython构建状态(用于vpython开发人员)
使用源代码
下面是软件体系结构的概述:
https://vpython.org/contents/VPythonArchitecture.pdf
vpython模块使用glowscript库(vpython/vpython_libraries/glow.min.js)。glowscript存储库在这里:
https://github.com/vpython/glowscript
在glowscript存储库的docs文件夹中,glowscriptoverview.txt提供了有关glowscript体系结构的更多详细信息。
以下是有关如何在本地运行glowscript vpython的信息,这使对glowscript库的测试更改成为可能:
https://www.glowscript.org/docs/GlowScriptDocs/local.html
如果执行build_original_no_overload.py,并将语句“if true:”更改为“if false”,则会在forinstalledpython文件夹中生成一个未缩小的glow.min.js,可以将其复制到site packages/vpython/vpython_库中,并通过在(例如)idle或spyder中运行测试进行测试。(在jupyter笔记本或jupyterlab中运行需要额外的摆弄。)
请注意,在site packages/vpython/vpython_库中,glowcomm.html由idle或spyder等启动程序使用;glowcomm.js与jupyter notebook一起使用(jupyterlab中使用了修改版本)。
在glowscript代码或glowcomm.html的javascript部分中放置console.log(…..)语句在调试中很有用。您可能还需要将调试语句放入site packages/vpython/vpython.py中。