# lec07.py # Lillian Lee (LJL2) # Feb 12, 2013 """Demo for lecture 7, reinforcing frames and associated notation""" lt_speed = 3e8 #speed o' light def v_p_try1(): """Changes lt_speed, supposedly""" lt_speed = 42.0 def v_p_try2(new): """Changes lt_speed to new, supposedly""" lt_speed = new def v_p_try3(lt_speed): """Changes lt_speed to 42.0, supposedly""" lt_speed = 42.0 def boring(new): """Returns new""" return new def rescale(pt): """Shift pt to lie on the unit sphere. Precond: pt is a Point object""" norm = pt.distanceFromOrigin() pt.x = pt.x / norm pt.y = pt.y / norm pt.z = pt.z / norm if __name__ == '__main__': """Show the effect of the various functions we've written""" print "lt_speed starts:", lt_speed v_p_try1() print "lt_speed after v_p_try1():", lt_speed v_p_try2(42.0) print "lt_speed after v_p_try2(42.0):", lt_speed v_p_try3(lt_speed) print "lt_speed after v_p_try3(lt_speed):", lt_speed lt_speed = boring(-3e8) print "lt_speed after lt_speed = boring(-3e8):", lt_speed import point p = point.Point(0,3,4) print '\nP before rescale is called:', p p_new = rescale(p) # don't need to say "lec07.rescale" inside lec07 print 'p after rescale is called:', p print 'p_new is', p_new