Как отобразить встроенный ввод vpython в Jupyter Notebook?

Я пытаюсь использовать vpython (версия 7) для создания 3D-модели сферы в ноутбуке Jupyter, но не получаю результат. Какую команду я должен добавить, чтобы Jupyter отображал встроенную сферу?

Вот мой код:

from vpython import *
display()
sphere()

person Sneha Ramshanker    schedule 27.08.2018    source источник
comment
Добро пожаловать в СО. Не могли бы вы опубликовать здесь свои команды/код и сообщения об ошибках? В противном случае вам трудно помочь. Спасибо.   -  person CKE    schedule 27.08.2018
comment
@sneha можете ли вы привести свой минимальный пример и скриншот того, что происходит?   -  person kada    schedule 27.08.2018


Ответы (1)


Я вас понял, я до сих пор не знаю почему, но когда вы импортируете vpython, вы уже получаете сцену, в jupyter кажется, что она застревает там, где вы сделали свой импорт. Но есть еще одна проблема.

Если вы попытаетесь создать вторую симуляцию или дважды запустить текущую симуляцию, уже созданные объекты не будут сброшены.

Что вам нужно сделать, так это создать холст в верхней части ячейки, в которой вы хотите, чтобы симуляция отображалась, перед запуском симуляции.

canvas()
s = sphere(pos=vector(0,0,0))

for i in range(100):
    rate(100)
    s.pos = s.pos + vector(i/1000,0,0)

это должно воссоздавать сцену каждый раз, когда вы запускаете ячейку. Я не уверен, как jupyter будет обрабатывать память в этом случае, но в худшем случае лучше перезапускать ядро ​​​​часто, чем для каждого теста.

person Felipe amaral    schedule 04.03.2020