programacion oo: cinematicaprogramacion oo: cinematica prof: j. solano 2012-i universidad nacional...

13
Fisica Computacional - CC063 Programacion OO: Programacion OO: Cinematica Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063

Upload: others

Post on 01-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063

Programacion OO:Programacion OO:CinematicaCinematica

Prof: J. Solano2012-I

Universidad Nacional de IngenieríaFacultad de Ciencias

Física ComputacionalCC063

Page 2: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063

Problema: Movimiento de un proyectilProblema: Movimiento de un proyectil

2

Movimiento de un proyectil:

Movimiento uniforme 1D

Movimiento uniforme 2D

Movimiento acelerado 2D

La isotropia del espacio implica que el movimiento en una direccion es independiente del movimiento en otras direcciones.

El problema es usar el computador para describir el movimiento tal que las velocidades y aceleraciones en cada direccion son tratadas como entidades separadas independiente del movimiento en otras direcciones.

Page 3: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063

Fundamentos de POOFundamentos de POO

3

Los fundamentos de la POO:

Encapsulacion

Abstraccion

Herencia

Polimorfismo

Page 4: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063

Leyes de Newton, Ecs. de movimientoLeyes de Newton, Ecs. de movimiento

4

2da ley de Newton relaciona el vector fuerza F, actuando en la masa m, a la acelaracion a.

En coordenadas cartesianas

Si la fuerza en x es cero: Fx = 0

Esta ec. Es la base de un objeto padre. Si la fuerza en y tambien es cero, entonces el movimiento tambien sera uniforme en y:

En este proyecto el movimiento uniforme en x es el padre, mientras que en y es el hijo.

Si hay una fuerza constante en direccion x causa una celeracion ax:

Si en la direccion y tenemos la fuerza de la gravedad (ay = -g = -9.8 m/s2)

F = m a

F i = md 2 xid t2

(i=1,2, 3)

x = x0 + v0x t

y = y0 + v0y t

x = x0 + v0x t +12ax t

2

y = y0 + v0y t −12g t 2

Page 5: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063

Metodo POO: Metodo POO:

5

Estructura de clases:

Clase padre Um1D: movimiento uniforme 1D para condiciones iniciales dadas

Clase hijo Um2D: movimiento uniforme 2D para condiciones iniciales dadas

Clase hijo Accm2D: movimiento acelerado 2D para condiciones iniciales dadas

Page 6: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 6

Page 7: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 7

Page 8: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 8

Page 9: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 9

Page 10: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 10

Page 11: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 11

Page 12: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063 12

Page 13: Programacion OO: CinematicaProgramacion OO: Cinematica Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063. Fisica Computacional

Fisica Computacional - CC063

Ejercicio: movimiento armonico simpleEjercicio: movimiento armonico simple

13

La superposicion de movimientos armonicos simples independientes en 2D puede estudiarse via POO

Crear una clase ShmX para

Definir otra clase ShmY para:

Emplear el concepto de herencia multiple para definir una clase hijo ShmXY de las dos clases padres ShmX y ShmY.

Debe tener una funcion miembro para escribir un archivo con las posiciones x e y a diferentes tiempos (figuras de Lissajous)

Para obtener herencia multiple usar:

class ShmXY : public ShmX, public ShmY

Para el constructor:

ShmXY::ShmXY(): ShmX(Ax,delx,tx,dtx), ShmY(Ay,dely,ty,dty)

x = Ax sin(w x t + ∂x)

y = A ysin (w y t + ∂ y)