Advertisement
Enrro

Rotacion de una figura alrededor de un circulo 100727

Oct 7th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. '''
  2. Created on 04/10/2014
  3. Rotacion de una figura alrededor de un circulo
  4. @author: A01221672
  5. '''
  6.  
  7. from Tkinter import *
  8. import math
  9.  
  10.  
  11. def animateCircle(cx,cy,r):
  12. ventana = Tk()
  13. lienzo =Canvas(ventana, width= 400, height=300, bg = "#83AF9B")
  14. lienzo.pack()
  15. angle = 0
  16. x = math.cos(angle)
  17. y = math.sin(angle)
  18.  
  19. while True:
  20. lienzo.delete('all') #limpia el circulo anterior
  21. lienzo.create_oval(cx-r,cy+r,
  22. cx+r,cy-r,
  23. fill ="#FC9D9A",
  24. outline ="#FC9D9A")
  25. lienzo.create_oval ((cx+5)+((r+10)*x),(cy+5)+((r+10)*y),
  26. (cx-5)+((r+10)*x),(cy-5)+((r+10)*y),
  27. fill = "#FE4365",
  28. outline ="#FE4365")
  29. lienzo.update()
  30. lienzo.after(80)
  31. angle += .2
  32. x = math.cos(angle)
  33. y = math.sin(angle)
  34.  
  35.  
  36. animateCircle(200,150,50)
  37.  
  38. '''
  39. La parte mas interesante de este ejercicio fue descubrir la formula para la
  40. rotacion. Si tenemos que un ecuacion parametrica para un circulo es igual a
  41. radio * cos(angulo) entonces podemos determinar la trallectoria del ciruculo
  42. exterior. las siguientes son algunas de las bases que me llevaron a inferior
  43. la formula de arriba.
  44. 1)hacer un pequeño circulo (cx+5),(cy+5),(cx-5),(cy-5)
  45. 2) identificar que el circulo va a tener un desplazamiento con respecto a el
  46. circulo interior "+(r*x)" "+(r*y)"
  47. 3)hacer una distancia entre el circulo interior y el exterior "(r+10)*x)"
  48. 4) la razon por la que se mueve al rededor del circulo es porque el cos y sin
  49. en este caso x y se desplazan de manera muy pequeña en movimientos ondulados
  50. al combinar estos movimientos ondulados se crea una circunferencia. pero esa
  51. circunferencia es muy pequeña para ser apreciada. al multiplicar la circunfer
  52. encia por el radio puedes alcanzar el redio total del circulo. pero si no le
  53. sumas nada entonces estas en la orilla del circulo y no en la parte exterior
  54. de este. es por eso que le sumo 10 unidades para que puedas desplazarte por
  55. fuera del circulo.
  56.  
  57. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement