/usr/lib64/python2.7/Demo/turtle
NameSizeModeActions
about_turtle.txt35250644editdlrm
about_turtledemo.txt3020644editdlrm
demohelp.txt30340644editdlrm
tdemo_bytedesign.py42180755editdlrm
tdemo_bytedesign.pyc53130644editdlrm
tdemo_bytedesign.pyo53130644editdlrm
tdemo_chaos.py9510644editdlrm
tdemo_chaos.pyc22960644editdlrm
tdemo_chaos.pyo22960644editdlrm
tdemo_clock.py32190755editdlrm
tdemo_clock.pyc45350644editdlrm
tdemo_clock.pyo45350644editdlrm
tdemo_colormixer.py13380644editdlrm
tdemo_colormixer.pyc23650644editdlrm
tdemo_colormixer.pyo23650644editdlrm
tdemo_fractalcurves.py34090755editdlrm
tdemo_fractalcurves.pyc35240644editdlrm
tdemo_fractalcurves.pyo35240644editdlrm
tdemo_I_dontlike_tiltdemo.py10730755editdlrm
tdemo_I_dontlike_tiltdemo.pyc16600644editdlrm
tdemo_I_dontlike_tiltdemo.pyo16600644editdlrm
tdemo_lindenmayer_indian.py24320755editdlrm
tdemo_lindenmayer_indian.pyc36020644editdlrm
tdemo_lindenmayer_indian.pyo36020644editdlrm
tdemo_minimal_hanoi.py20490755editdlrm
tdemo_minimal_hanoi.pyc36230644editdlrm
tdemo_minimal_hanoi.pyo36230644editdlrm
tdemo_nim.py65140644editdlrm
tdemo_nim.pyc93840644editdlrm
tdemo_nim.pyo93840644editdlrm
tdemo_paint.py12890755editdlrm
tdemo_paint.pyc19010644editdlrm
tdemo_paint.pyo19010644editdlrm
tdemo_peace.py10650755editdlrm
tdemo_peace.pyc13880644editdlrm
tdemo_peace.pyo13880644editdlrm
tdemo_penrose.py35350755editdlrm
tdemo_penrose.pyc60050644editdlrm
tdemo_penrose.pyo60050644editdlrm
tdemo_planet_and_moon.py28230755editdlrm
tdemo_planet_and_moon.pyc45350644editdlrm
tdemo_planet_and_moon.pyo45350644editdlrm
tdemo_tree.py14100755editdlrm
tdemo_tree.pyc21230644editdlrm
tdemo_tree.pyo21230644editdlrm
tdemo_two_canvases.py11200644editdlrm
tdemo_two_canvases.pyc16350644editdlrm
tdemo_two_canvases.pyo16350644editdlrm
tdemo_wikipedia.py13470644editdlrm
tdemo_wikipedia.pyc19550644editdlrm
tdemo_wikipedia.pyo19550644editdlrm
tdemo_yinyang.py8070755editdlrm
tdemo_yinyang.pyc13200644editdlrm
tdemo_yinyang.pyo13200644editdlrm
turtle.cfg1600644editdlrm
turtleDemo.py100910755editdlrm
turtleDemo.pyc109480644editdlrm
turtleDemo.pyo109480644editdlrm
Edit: /usr/lib64/python2.7/Demo/turtle/tdemo_planet_and_moon.py (2823B)
#! /usr/bin/python2.7 """ turtle-example-suite: tdemo_planets_and_moon.py Gravitational system simulation using the approximation method from Feynman-lectures, p.9-8, using turtlegraphics. Example: heavy central body, light planet, very light moon! Planet has a circular orbit, moon a stable orbit around the planet. You can hold the movement temporarily by pressing the left mouse button with the mouse over the scrollbar of the canvas. """ from turtle import Shape, Turtle, mainloop, Vec2D as Vec from time import sleep G = 8 class GravSys(object): def __init__(self): self.planets = [] self.t = 0 self.dt = 0.01 def init(self): for p in self.planets: p.init() def start(self): for i in range(10000): self.t += self.dt for p in self.planets: p.step() class Star(Turtle): def __init__(self, m, x, v, gravSys, shape): Turtle.__init__(self, shape=shape) self.penup() self.m = m self.setpos(x) self.v = v gravSys.planets.append(self) self.gravSys = gravSys self.resizemode("user") self.pendown() def init(self): dt = self.gravSys.dt self.a = self.acc() self.v = self.v + 0.5*dt*self.a def acc(self): a = Vec(0,0) for planet in self.gravSys.planets: if planet != self: v = planet.pos()-self.pos() a += (G*planet.m/abs(v)**3)*v return a def step(self): dt = self.gravSys.dt self.setpos(self.pos() + dt*self.v) if self.gravSys.planets.index(self) != 0: self.setheading(self.towards(self.gravSys.planets[0])) self.a = self.acc() self.v = self.v + dt*self.a ## create compound yellow/blue turtleshape for planets def main(): s = Turtle() s.reset() s.tracer(0,0) s.ht() s.pu() s.fd(6) s.lt(90) s.begin_poly() s.circle(6, 180) s.end_poly() m1 = s.get_poly() s.begin_poly() s.circle(6,180) s.end_poly() m2 = s.get_poly() planetshape = Shape("compound") planetshape.addcomponent(m1,"orange") planetshape.addcomponent(m2,"blue") s.getscreen().register_shape("planet", planetshape) s.tracer(1,0) ## setup gravitational system gs = GravSys() sun = Star(1000000, Vec(0,0), Vec(0,-2.5), gs, "circle") sun.color("yellow") sun.shapesize(1.8) sun.pu() earth = Star(12500, Vec(210,0), Vec(0,195), gs, "planet") earth.pencolor("green") earth.shapesize(0.8) moon = Star(1, Vec(220,0), Vec(0,295), gs, "planet") moon.pencolor("blue") moon.shapesize(0.5) gs.init() gs.start() return "Done!" if __name__ == '__main__': main() mainloop()