2016-05-17 10 views
0

Ich bin neu zu vPython und Python im Allgemeinen und habe diesen Fehler, wenn ich versuchte, ein Katenoid erstellen. Ich konnte ein Kurvenobjekt früher im Code aufrufen, das funktioniert, aber als ich es ein zweites Mal mit genau der gleichen Syntax versuchte, erhalte ich den oben genannten Fehler. Ich kann mir vorstellen, dass es ein ziemlich einfacher Fehler ist, aber ich würde es wirklich schätzen, wenn mir jemand helfen könnte. Der Fehler tritt auf der Leitung 11.Curve-Objekt ist nicht aufrufbar Fehler vPython

from visual import * 
import math 
curve=curve(color=color.green) 
thStep=math.pi/1000 
c=10 
theta=0 
z=4 
a=.5 
t=-z 
tStep=0.1 
cur=curve(color=color.blue) 
while theta<=(2*math.pi): 
x=c*(math.cosh(z/c))*math.cos(theta) 
y=c*(math.cosh(z/c))*math.sin(theta) 
curve.append(pos=(x,y,z)) 
while t<=z: 
    cur.append(pos=(t,a*math.cosh(t/a),0)) 
    t +=tStep 
theta += thStep 
+3

Sie überschreiben die Methode 'curve' mit einer Variablen mit demselben Namen. Verwenden Sie einen anderen Namen für diese Variable. – usr2564301

Antwort

0

Ihr Problem mit dieser Linie ist:

curve=curve(color=color.green) 

Du curve auf etwas anderes und so ist es nicht mehr auf die Funktion zuweisen. Wenn Sie erneut curve verwenden, verweisen Sie auf den Wert, den Sie ihm zugewiesen haben. Dies ist keine Funktion und daher auch nicht aufrufbar.

Um dieses Problem zu beheben, sollten Sie einen separaten Namen für die Variable verwenden.

+0

Ok. Also machte mein Fehler ein Kurvenobjekt namens Kurve. – Haukka

Verwandte Themen