运行此代码时,出现错误“错误:属性'pos'必须是向量”。我必须在某个地方写另一个向量吗?因为我在写向量
grav_force = vector(0,-object.mass*grav_field,0)
这是我的整个代码
GlowScript 2.7 VPython
from visual import *
display(width = 1300, height = 1000)
projectile = sphere(pos = (-5,0,0),
radius = 0.1,
color = color.red,
make_trail = True)
projectile.speed = 3.2 # Initial speed.
projectile.angle = 75*3.141459/180 # Initial angle, from the +x-axis.
projectile.velocity = vector(projectile.speed*cos(projectile.angle),
projectile.speed*sin(projectile.angle),
0)
projectile.mass = 1.0
grav_field = 1.0
dt = 0.01
time = 0
while (projectile.pos.y >=0):
rate(100)
# Calculate the force.
grav_force = vector(0,-projectile.mass*grav_field,0)
force = grav_force
# Update velocity.
projectile.velocity = projectile.velocity + force/projectile.mass * dt
# Update position.
projectile.pos = projectile.pos + projectile.velocity * dt
# Update time.
time = time + dt
最佳答案
改变
projectile = sphere(pos = (-5,0,0), radius = 0.1,color = color.red, make_trail = True)
至
projectile = sphere(pos = vector(-5,0,0), radius = 0.1, color = color.red, make_trail = True)
请参阅说明文件
http://www.glowscript.org/docs/VPythonDocs/sphere.html
也来自文档
GlowScript VPython和VPython 7与经典VPython 6有何不同
·向量必须表示为vector(x,y,z)或vec(x,y,z),而不是(x,y,z)。
关于python - "Property ' pos ' must be a vector"运行VPython代码时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49390121/