If you need to plot many math pictures, try SciPy http://www.scipy.org/ I have galanced VPython's website and tutorial. It seems it handles 3D-Plotting even better. Juan Aztech Guy wrote: Hey, that's pretty good. Tried it out. VPython is cool too. --- "Jacob S." <[EMAIL PROTECTED]> wrote:I was wondering were can I find some Vpythongraphics program codes that are readily available. I have 2 that I am proud of. A simple function grapher Usage:0.125*x**2Graphs y = 1/8*x**2y = 1/xGraphs y = 1/xclearClears display windowr = t**2Graphs polar function r = t**2remove linesRemoves all axes, including polar axes, should a polar function be graphed afterreturn linesReturns all lines, so that they appear when appropriate.x = sin(x**2)+log(x**2)Graphs the function...------------------------------------------------------from __future__ import division from visual import * import os from math import * ja = 0 def start(): for objects in scene.objects: objects.visible = 0 scene.title = "Function Grapher by Jacob, Inc." tem = raw_input('Are you on a desktop, or a notebook? ') if tem == 'desktop': scene.x = 365 if tem == 'notebook': scene.x = 574 scene.visible=1 scene.exit=0 scene.userspin = 0 scene.range=(10,10,1) scene.background="" global xaxis global yaxis xaxis = curve(color=color.black) xaxis.append(pos=(100,0,0)) xaxis.append(pos=(-100,0,0)) yaxis = curve(color=color.black) yaxis.append(pos=(0,100,0)) yaxis.append(pos=(0,-100,0)) global radiusaxis global radiusaxis2 radiusaxis = curve(pos=[(-100,-100),(100,100)],color=color.black) radiusaxis2 = curve(pos=[(-100,100),(100,-100)],color=color.black) radiusaxis.visible = 0 radiusaxis2.visible = 0 start() y = 3 m = 0 t = 0 d = 1 print """\ List of Commands: clear quit remove lines return lines Function Syntax: var = funct a,b where var = what and funct = f(what) and a,b = range """ print 'Please type in functions in below. ' while y != "": lists=[] y = raw_input('>') if y == 'clear': scene.visible=0 start() print "-"*36 continue elif y == 'quit': scene.visible = 0 del scene break elif y == 'remove lines': a = [radiusaxis,radiusaxis2,xaxis,yaxis] for x in a: x.visible = 0 d = 0 continue elif y == 'return lines': a = [radiusaxis,radiusaxis2,xaxis,yaxis] for x in a: x.visible = 1 d = 1 continue if y.count('=') == 1: y = y.split(' = ') type = y[0].lower() y = y[1] y = y.replace("y","x") if type == 'r': y = y.replace('x','t') if d == 1: radiusaxis.visible = 1 radiusaxis2.visible = 1 else: type = 'y' y = y.split(" ") if len(y) > 1: pass else: if type == 'r': y.append('0,5*pi') else: y.append('-10,10') range = y[1] y = y[0] range = range.split(",") min = float(eval(range[0])) max = float(eval(range[1])) lists.append(curve(color=(1,0,1))) x = min if type == 'y' or type == 'x': radiusaxis.visible = 0 radiusaxis2.visible = 0 while x >= min and x <= max: x = x+0.005 try: if eval(y) <= 15 and eval(y) >= -15: if type == 'y': lists[-1].append(pos=(x,eval(y),0)) elif type == 'x': lists[-1].append(pos=(eval(y),x,0)) else: lists.append(curve(color=(1,0,1))) except: pass elif type == 'r': m = 'eval(y)*cos(t)' n = 'eval(y)*sin(t)' t = min while t >= min and t <= max: try: lists[-1].append(pos=(eval(m),eval(n),0)) except: lists.append(curve(color=(1,0,1))) t = t+0.005 _______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor__________________________________ Do you Yahoo!? Send holiday email and support a worthy cause. Do good. http://celebrity.mail.yahoo.com _______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor |
_______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor