• Like
Yudy Centeno M
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Published

 

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
513
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Taller de Aplicaciones Móviles Docente: M.Sc. Víctor Pando Beltrán
  • 2. PRESENTACIÓN El presente trabajo del Curso de Taller de Aplicaciones Móviles, cuyo tema es Programación Vpython, lo realizamos con mucho esfuerzo ya que será en beneficio de nuestra formación Profesional, y al mismo tiempo espero que sea de su agrado los aportes, para mis compañeros y Profesores de la Instituto Superior Tecnológico Manuel Núñez Butrón, de esta ciudad de Juliaca, ya que en el futuro nos servirá como material de consulta para el mejor desenvolvimiento de nuestra formación profesional
  • 3. DEDICATORIA
    • El presente trabajo va dedicado a nuestros queridos padres por el apoyo que nos brindan en el transcurso de nuestros estudios profesionales
  • 4. Programación en 3D
    • INTEGRANTES:
    • CENTENO MAMANI, Yudy Marcelina
    • MAMANI YUCRA, Vicky Yovana
  • 5. AGENDA
    • Descripción del proyecto
    • Fundamento teórico
    • Diagrama de flujo
    • Codificación
    • Demostración
    • Conclusiones y Recomendaciones
    • Bibliografía
  • 6. Descripción del Proyecto El programa que presentamos se trata de una aplicación en física pero con características en 3D.
  • 7. Fundamento Teórico PYTHON 3D Es una lengua interpretada. El intérprete es la fuente abierta. Una gama buena de bibliotecas existe. Contenido [puesto] 1 Sobre Python 2 Clases tutoriales y Fuente 2.1 Dependiente de Biblioteca 2.1.1 bibliotecas de programa de juego Genéricas 2.1.2 bibliotecas de 3D 3 Eslabones Externos.
  • 8. SOBRE PYTHON 3D:
    • Pythón se ha hecho un instrumento poderoso para el desarrollo animoso. Esto ha sido usado extensivamente en juegos comerciales, incluyendo la Fuerza de Libertad, la VÍSPERA En línea, la Civilización IV, Toontown En línea, los Piratas del caribeño En línea, el Templo de Mal Elemental, y el Campo de batalla 2 (así como 2142).
  • 9. LA VENTAJA PRIMARIA DEL PYTHON:
    • Consiste en que es muy rápido desarrollarse en. La escritura del código de python típicamente toma una fracción del tiempo que esto toma para escribir el equivalente C el código. Se ha estimado que esto es 5 a 10 veces más rápido para escribir un programa en el Python que C. Esto puede cortar meses o años del tiempo de desarrollo de un proyecto.
    • Hay también un cuerpo significativo de código de biblioteca que maneja la interpretación de 2D y de 3D de gráficos.
  • 10. LA DESVENTAJA PRIMARIA DEL PYTHON:
    • Generalmente bastante rápido para cálculos complejos (como la física de 3D). Los juegos más complejos que usan el python 3D. descargan unas subrutinas a C, sobre un como - la base necesaria, o usan una existencia C la biblioteca (como la ODA para la física). La mayor parte de reveladores que intentan esta mezcla son un entusiasta de ello: el resultado es un juego que puede ser desarrollado en la velocidad de pitón, pero que corre en la velocidad de C en cualquier parte doMezclando
    • el python con C, el impacto sobre la velocidad depende cuánto del tiempo es gastado(pasado) ejecutando la lógica de Python contra cuanto del tiempo es gastado(pasado) en bibliotecas C. La lógica de Python puede ser 10-100 veces más despacio que C. Le recomiendan que el código crítico (cálculos de la matriz, manipulaciones " para cada pixel ", la gráfica de 3D, etc.) estar en bibliotecas C.
  • 11. PYTHON 3D
    • Lo hace fácil al interfaz con C; el Python de Empujón lo hace fácil al interfaz con C ++. Es también posible usar Pyrex, una lengua C/Python híbrida que lo hace en particular fácil para integrarse con bibliotecas C, y también hace posible de escribir el código de C-velocidad en una lengua Parecida a un pitón. Además el TRAGO fácilmente permite a un revelador para abrigarse C/C ++ funciones para el empleo con muchas lenguas scripting incluyendo el Python
  • 12. PYTHON
    • Generalmente es considerado una lengua limpiamente fácil para aprender. usted encontrará sus rasgos familiares: usted sólo tendrá que gastar(pasar) una hora en las clases tutoriales Python.org para ser capaz de usarlo.
    • El juego de rasgo del python incluye la lista poderosa y la manipulación de cuerda, mesas, juegos, y una biblioteca importante de funciones de utilidad como la serialización, XML el análisis, la interconexión, expresiones regulares, etcétera, etcétera. La matriz y la manipulación vector son incluidas con el Python Numérico. Bibliotecas muy de alta calidad de 3D de gráficos están también disponibles. Por lo general, todas estas bibliotecas son escritas en y funcionan en la velocidad de C.
  • 13. UNA VENTAJA CLAVE DE PYTHON 3D
    • Consiste en que es relativamente fácil para no programados para leer. Esto lo hace conveniente como una lengua scripting. Por ejemplo en una RPG usted podría construir la parte principal del juego en C ++, pero escribir escrituras (donde los comerciantes van de noche, lo que el NPCS dice, como el arrastra(canturrea) el paseo hacia adelante y hacia atrás) en el Python.
  • 14. UNA VENTAJA CLAVE DE PYTHON 3D
    • Para concluir esta lengua es muy útil mientras usted no lo pide hacer lo que esto hace lo peor (el cálculo sobre juegos de datos grandes): tales tareas deberían ser descargadas a C.
    • Allí existe un instrumento, Psyco, que estimula a su programa sin necesitar que alguno vuelva a escribir. Todo que usted tiene que hacer es la importación ello al principio de su código. La desventaja principal consiste en que Psyco sólo corre sobre plataformas x86-compatibles en este momento.
  • 15. UNA VENTAJA CLAVE DE PYTHON 3D
    • Si usted planifica el Python de utilización para el desarrollo animoso usted también podría querer pensar mirar el Rubí aunque usted encuentre que el Pythón es más rápido (Todas las Lenguas Comparadas, el Pitón contra el Rubí). Tanto las lenguas tienen su encima de - como inconvenientes, tan escoja sabiamente.
    • [revisión] Clases tutoriales y Fuente
  • 16. UNA VENTAJA CLAVE DE PYTHON 3D
    • Dependiente de Biblioteca (revisión) bibliotecas de programa de juego Genéricas Pygame una envoltura SDL para Pitón y las Utilidades Pygame de más Phil PGU. PGU proporciona una colección de instrumentos y bibliotecas que realzan(mejoran) Pygame. Los instrumentos incluyen a un redactor de azulejo y un redactor de nivel (el azulejo, isométrico, hexagonal). GUI realces(mejoras) incluyen gui completo, la interpretación de HTML, la disposición de documento, y la interpretación de texto. Las bibliotecas incluyen un duendecillo y el motor de azulejo (el azulejo, isométrico, hexagonal), un motor estatal, un temporizador, y un alto sistema de cuenta.
  • 17. UNA VENTAJA CLAVE DE PYTHON 3D
    • Eslabones Externos Python.org la página de pitón Principal, incluida descargan del intérprete y la documentación. Rabbyt una biblioteca de Duendecillo rápida para Pitón con desarrollo animoso en mente. Con Rabbyt Anims, aún viejas tarjetas de gráficos pueden producir las animaciones muy rápidas de 2,400 o más duendecillos que manejan la posición, la rotación, el escalamiento, y colorear simultáneamente. Pyrex Pyrex le deja escribir el código que mezcla el Pitón y datos C escriben cualquier modo que usted quiere, y lo compila en una extensión C para el Pitón. aumente(empuje) el pitón:: un modo conveniente de combinar C ++ y el código de Pitón.
  • 18. UNA VENTAJA CLAVE DE PYTHON 3D
    • Un modo conveniente de combinar C ++ y código de Pitón. El TRAGO Simplificó la Envoltura y el Generador de Interfaz es un instrumento que fácilmente permite a un revelador para abrigarse C/C ++ funciones para el empleo con lenguas scripting. Corrientemente apoya el Pitón, Perl, y Tcl. Jython puesta en práctica Javanesa de pitón. Psyco un módulo que aumenta(empuja) la velocidad de programas de pitón. Planche el Pitón una puesta en práctica alternativa de pitón para .NET
  • 19. UNA VENTAJA CLAVE DE PYTHON 3D
    • Abucheo: Una lengua parecida a un pitón para .NET y Mono. Agradable para el desarrollo animoso porque estáticamente es escrito y controla tan rápido como C * el código. Empleo con el Marco Tao para OpenGL o sea Manejado DirectX. PyOpenGL una encuadernación a OpenGL PyODE una encuadernación al Motor de Dinámica Abierto, una física abierta de la fuente y motor de colisión. Torcido una biblioteca versátil conectada a una red con mucha Colección de Software de 3D de Pitón de rasgos Tranquilo se vincula a vario Pitón el 3D de Pitón de bibliotecas de 3D y relacionado con el juego.
  • 20. Diagrama de Flujo
  • 21. Codificación #En este episodio modelamos el comportamiento de una primavera con #arreglo a la Ley de Hooke y eche un vistazo a arrastrar y soltar objetos #en VPython. from __future__ import division from visual import * print""" Spring Force: Hooke's Law Force = -Spring Constant * Spring Displacement F = -kx The program models the motion of weight attached to a spring after the weight is pulled (stretching the spring) and released. Friction is ignored in this model so once started the system never stops oscillating back and forth. """
  • 22.
    • ##########################################################################################
    • #
    • # INITIALIZE WINDOW & DECLARATIONS
    • #
    • ##########################################################################################
    • scene.range = vector(1,1,1)
    • scene.center = vector(0,0,0)
    • scene.width = 800
    • scene.height = 600
  • 23.
    • ##########################################################################################
    • #
    • # CREATE SPRING, WEIGHT & LABEL OBJECTS
    • #
    • ##########################################################################################
    • relaxedlength = vector(.60,0,0) # length of spring when it isn't stretched or compressed
    • spring = helix(pos=(-.75,0,0),axis=relaxedlength, radius=.1,coils=8,thickness=.01,color=color.green)
    • spring.constant = 2 # k
    • weight = box(pos=(0,0,0),size=(.3,.3,.3),color=color.yellow)
    • weight.mass = 10 # kg
    • weight.velocity = vector(0,0,0)
    • weight.acceleration = vector(0,0,0)
    • weight.force = vector(0,0,0)
    • frictionlessSurface = box(size=(2,.02,.5),pos=(0,-.16,0))
    • wall = box(size=(.04,.5,.3),pos=(-.77,.1,0),color=color.red)
    • mylabel = label(pos=(0,.4,0))
    • mylabel.text = "DRAG WEIGHT TO START"
  • 24.
    • # WAIT FOR USER TO DRAG THE WEIGHT
    • #
    • ##########################################################################################
    • pick = 0
    • weightmoved = False
    • while not weightmoved:
    • if scene.mouse.events:
    • mouse = scene.mouse.getevent() # obtain drag or drop event
    • if mouse.drag and mouse.pick == weight: # if clicked on the weight
    • drag_pos = mouse.pickpos # where on the ball the mouse was
    • pick = mouse.pick # pick is now the weight object (nonzero)
    • scene.cursor.visible = 0 # make cursor invisible
    • elif mouse.drop: # released the mouse button at end of drag
    • pick = None # end dragging (None is False)
    • scene.cursor.visible = 1 # cursor visible again
    • weightmoved = True
  • 25.
    • if pick:
    • new_pos = scene.mouse.project(normal=(0,0,1)) # project onto xy plane
    • if new_pos != drag_pos: # if the mouse has moved since last position
    • pick.pos.x += new_pos.x - drag_pos.x # offset for where the weight was clicked
    • # uncomment next 2 lines to limit range spring can be pulled or compressed
    • #if pick.pos.x < -.35: pick.pos.x = -.35
    • #if pick.pos.x > .35: pick.pos.x = .35
    • spring.displacement = pick.pos
    • spring.axis = relaxedlength + spring.displacement
    • drag_pos = new_pos # update drag position
    • message = &quot;Springs behave according to Hooke's Law only if&quot;
    • message += &quot; they aren't stretched or compressed too far.&quot;
    • message += &quot; Try no more than about 35 centimeters for realistic results.&quot;
    • message += &quot; displacement: %.2f meters&quot; % spring.displacement.x
    • mylabel.text = message
  • 26.
    • ##########################################################################################
    • #
    • # PULL AND RELEASE THE WEIGHT, THEN GO THRU THE LOOP
    • #
    • ##########################################################################################
    • spring.displacement = weight.pos # the weight starts at (0,0,0) and is attached to spring
    • spring.axis = relaxedlength + spring.displacement
    • finished = False # this will always be false so it's an infinite loop
    • dt = .01 # seconds
    • seconds = 0 # total time
    • while not finished:
    • rate(100)
    • seconds += dt
  • 27.
    • # Calculate the spring force using Hooke's Law
    • SpringForce = -spring.constant * spring.displacement
    • # The spring force acts on the weight
    • weight.force = SpringForce
    • # move the weight from the applied force using
    • # Newton's 2nd law and the position equations
    • weight.acceleration = weight.force/weight.mass
    • weight.velocity += weight.acceleration * dt
    • weight.pos += weight.velocity + .5 * weight.acceleration * dt**2
    • # calculate the new spring displacement
    • spring.displacement = weight.pos
    • # update the length of the spring
    • spring.axis = relaxedlength + spring.displacement
    • # message to the user
    • message = &quot;VPython Video Tutorial: Spring Force&quot;
    • message += &quot; displacement: %.1f&quot; % spring.displacement.x
    • message += &quot; velocity: %.3f&quot; % weight.velocity.x
    • message += &quot; acceleration: %.2f&quot; % weight.acceleration.x
    • message += &quot; force: % .1f&quot; % weight.force.x
    • mylabel.text = message
  • 28. Demostración
  • 29. Conclusiones
    • Se puede programar aplicaciones en 3D con la ayuda del lenguaje Python y la extensión VPython
  • 30. Recomendaciones
    • Primero se debe instalar Python 2.5.2 y luego Vpython.
  • 31. Bibliografía
    • MARZAL, Andrés y GRACIA, Isabel (2003). Introducción a la programación con Python. Universidad de Jaume.
    • Portal de Python. http://www.python.org
    • Portal de VPython. http://vpython.org
    • PANDO, Victor. Blog de Victor Pando. http://victorpando.blogspot.com
  • 32. Muchas Gracias