jupyter 노트북에서 일부 vpython 스크립트를 다시 작성하려고합니다. 지금까지 많은 문제에 봉착하지는 않았지만 마지막으로 재 작성하려고 시도한 작업은 상당히 느려졌습니다. VIDLE에서는 매우 빠르게 실행됩니다. 나는 sierraOS를 Python 3.5.0과 Jupyter 4.1.0과 함께 사용하고있다.VPython이 Jupyter에서 상당히 느립니다.
코드는 일부 개체를 만든 다음 while 루프에서 위치를 변경합니다. 처음에 루프의 비트 수는 visual.rate(5000)
이었지만 50으로 줄이려고 시도했지만 아무런 도움이되지 않았습니다. 또한 객체 수를 2 개로 줄이려고 시도했지만 여전히 매우 천천히 노력하고 있습니다.
from vpython import scene, sphere, color, curve, arrow, mag, vector, rate,canvas
scene = canvas(width=800, height=600)
obj0 = sphere(pos=vector(0,0,0), radius=5e11)
obj1 = sphere(pos=vector(5e12,0,0), radius=5e11)
trail1= curve()
#some initial value
G = 6.7E-11
obj0.mass = 2.0E30
obj0.momentum = vector(0,0,0)
obj1.mass = 1.0E26
obj1.momentum = vector(0,0,0)
dt=200000.
CrashFlag=0
while(CrashFlag==0):
rate(1000)
obj1.force= -G*(obj0.mass*obj1.mass*obj1.pos)/(mag(obj1.pos)**3)
obj1.momentum = obj1.momentum+ dt*(obj1.force)
obj1.pos = obj1.pos + dt*obj1.momentum/obj1.mass
trail1.append(pos=obj1.pos)
if (mag(obj1.pos)<2.e11) :
CrashFlag=1
당신이이 Jupyter 노트북에 특히 느린, 또는 주변에 어떤 방법을 제안 원인이 무엇이든을 식별 할 수 있습니다 여기에 코드를 내 간단한 버전입니까? 그렇지 않으면 Jupyter 노트북에서 인라인 대신 VIDLE로 시뮬레이션 결과를 출력 할 수 있습니까? (코드는 여전히 Jupyter 노트북에서 실행됩니다)