【发布时间】:2021-10-30 06:35:55
【问题描述】:
我将创建一个 GUI 界面,通过将质量 (m) 和刚度 (k) 作为用户的输入值来计算时间段。我曾尝试在 Glowscript 中创建界面,但在绑定函数以计算按钮时,会创建错误说:t is not defined。我没有进一步计算时间段并在屏幕上打印的方法。请帮我解决这个问题。
scene.width = 750
scene.height = 530
scene.range = 1.1
#scene.title = "SpringMass System\n\n"
scene.background = vector(0.9,0.9,0.9)
scene.align = "right"
scene.caption = "<b>Effect of Stiffness on Time Period </b>\n\n\n"
#button(text="Pause", pos=scene.title_anchor,color=color.white,background=vec(0,0,0.6), bind=Run)
Mass=box(pos=vector(0,-1,0),velocity=vector(0,0,0),size=vector(1.27,1,1.2),color=vec(0,0,0.4),mass=1.0)
pivot=vector(0,4,0)
spring=helix(pos=pivot, axis=Mass.pos-pivot, radius=0.4, constant=1, thickness=0.1, coils=15, color=color.red)
wall=box(pos=pivot,size=vector(3,0.2,3),color=color.green)
以下是我遇到错误的部分
# mass input
def m(x):
print (x.number)
m=winput(bind=m,width=130, prompt=" Enter mass(m): ",type="numeric")
wtext(text=" kg")
scene.append_to_caption('\n\n\n')
#Stiffness input
def k(y):
print (y.number)
k=winput(bind=k,width=130,prompt=" Enter Stiffness(k): ",type="numeric")
wtext(text=" N/m")
scene.append_to_caption('\n\n')
#Calculate TimePeriod
def calculate(t):
T=2*3.14/(sqrt(y/x))
return T
scene.append_to_caption('\nTime Period = '+t.number+'\n')
button(bind=calculate ,text ="<b> Calculate </b>",color=color.white,background=color.blue)
【问题讨论】:
标签: python spring function button vpython