Está en la página 1de 8

Segunda Ley De Newton(Dinámica)

Plano Horizontal

Camilo Andres Piza Hernandez

Nicolas Alberto Camargo Aguirre

Mateo Romero Vanegas

Manuel Felipe Avendaño Molina

Física I

2017-2
Introducción

Mediante este proyecto buscamos una mayor comprensión y una forma más didáctica para
familiarizarse con el curso de física I y uno de los temas que más se verá en este curso a
continuación expondremos la teoría.

Dinámica: el objetivo de esta es describir los factores capaces de producir alteraciones de


un sistema físico, cuantificarlos y plantear ecuaciones de movimiento o ecuaciones de
evolución para dicho sistema de operación.
Segunda Ley De Newton (Dinámica): Cuando una fuerza externa actúa sobre un cuerpo,
este se acelera, es decir obtiene una aceleración, esto permite ver que la dirección de la
aceleración será la misma que la de la fuerza neta que actúa sobre ese cuerpo y el vector
fuerza o la resultante de todas las fuerzas que están actuando en ese momento sobre el
cuerpo va a ser igual a la masa del cuerpo multiplicada por su aceleración; En pocas
palabras se podría decir que la segunda ley de newton dice que la sumatoria de todas las
fuerzas que están influyendo sobre ese cuerpo va a ser igual a la masa por la aceleración
donde la fuerza es un vector y la aceleración es otro vector, tato la aceleración y la fuerza
son magnitudes vectoriales, además tiene un valor, dirección y un sentido.
∑ 𝐹 = 𝑚.a
∑ 𝐹
a=
𝑚

Descripción Programa:

El Algoritmo consiste en aplicar las leyes de newton para poder resolver el problema, dividimos en
diferentes métodos cada uno de los cálculos para facilitar la lectura de código. Aplicamos las
siguientes fórmulas:

𝑚2∗𝑔−𝐶𝑟𝑜𝑧∗𝑚1∗𝑔
Aceleración : 𝑎= 𝑚1+𝑚2

Tensión 1 : T1=𝑚1 ∗ 𝑎 − 𝐶𝑟𝑜𝑧 ∗ 𝑚1 ∗ 𝑔

Tension 2: T2= 𝑚2 ∗ 𝑔 − 𝑚1 ∗ 𝑎
Interfaz Gráfica

Código implementado:

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.util.Duration;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Polygon;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.animation.TranslateTransition;

public class PAF extends Application{

public double ma1=1;


public double ma2=0;
public double cro=0;
public double croze=0;

@Override
public void start(Stage primaryStage) throws Exception {

//Fondo
Image a= new Image("Fondo.jpg");
Canvas canvas= new Canvas(800,600);
Group root = new Group();
root.getChildren().add(canvas);
GraphicsContext gc= canvas.getGraphicsContext2D();
gc.drawImage(a, 0, 0);

//Caja 1
Rectangle box1 = new Rectangle(100,100);
box1.setFill(Color.NAVAJOWHITE);
box1.setY(200);
box1.setX(100);
box1.setStroke(Color.BLACK);

//Caja 2
Rectangle box2 = new Rectangle(100,100);
box2.setX(610);
box2.setY(400);
box2.setFill(Color.NAVAJOWHITE);
box2.setStroke(Color.BLACK);

//Mesa
Rectangle mesa = new Rectangle(600,300);
mesa.setY(300);
mesa.setFill(Color.MAROON);
mesa.setStroke(Color.BLACK);

//Piso
Rectangle piso = new Rectangle(800,5);
piso.setY(595);
piso.setFill(Color.BLACK);
piso.setStroke(Color.BLACK);

//Sistema de Poleas
Rectangle cuerda1 = new Rectangle(280,1);
cuerda1.setX(350);
cuerda1.setY(250);

Rectangle cuerda2 = new Rectangle(1,150);


cuerda2.setX(660);
cuerda2.setY(250);

Circle polea = new Circle(25);


polea.setCenterX(645);
polea.setCenterY(255);

Polygon triangle = new Polygon();


triangle.getPoints().addAll(new Double[]{
645.0, 255.0,
580.0,300.0,
600.0,320.0});
triangle.setFill(Color.NAVAJOWHITE);

Rectangle cuerda3 = new Rectangle(150,1);


cuerda3.setX(200);
cuerda3.setY(250);

Rectangle cuerda4 = new Rectangle(1,150);


cuerda4.setX(660);
cuerda4.setY(250);

Rectangle vacioMesa = new Rectangle(500,250);


vacioMesa.setX(50);
vacioMesa.setY(350);
vacioMesa.setFill(Color.WHITE);
vacioMesa.setStroke(Color.BLACK);

Label m1 = new Label("M1");


m1.setLayoutX(140);
m1.setLayoutY(240);

Label m2 = new Label("M2");


m2.setLayoutX(650);
m2.setLayoutY(440);

//Movimiento de las cajas.

//Movimiento Caja 1
TranslateTransition t = new TranslateTransition();
t.setDuration(Duration.seconds(2));
t.setAutoReverse(false);
t.setCycleCount(100);
t.setNode(box1);
t.setToX(95);
if(ma2>ma1&&croze<=(ma1*9.8*cro))t.play();

//Movimiento Caja 2
TranslateTransition t3 = new TranslateTransition();
t3.setDuration(Duration.seconds(2));
t3.setAutoReverse(false);
t3.setCycleCount(100);
t3.setNode(box2);
t3.setToY(95);
if(ma2>ma1&&croze<=(ma1*9.8*cro))t3.play();

TranslateTransition t2 = new TranslateTransition();


t2.setDuration(Duration.seconds(2));
t2.setAutoReverse(false);
t2.setCycleCount(100);
t2.setNode(cuerda3);
t2.setToX(95);
if(ma2>ma1&&croze<=(ma1*9.8*cro))t2.play();

TranslateTransition t4 = new TranslateTransition();


t4.setDuration(Duration.seconds(2));
t4.setAutoReverse(false);
t4.setCycleCount(100);
t4.setNode(cuerda4);
t4.setToY(95);
if(ma2>ma1&&croze<=(ma1*9.8*cro))t4.play();

TranslateTransition tm1 = new TranslateTransition();


tm1.setDuration(Duration.seconds(2));
tm1.setAutoReverse(false);
tm1.setCycleCount(100);
tm1.setNode(m1);
tm1.setToX(95);
if(ma2>ma1&&croze<=(ma1*9.8*cro))tm1.play();
TranslateTransition tm2 = new TranslateTransition();
tm2.setDuration(Duration.seconds(2));
tm2.setAutoReverse(false);
tm2.setCycleCount(100);
tm2.setNode(m2);
tm2.setToY(95);
if(ma2>ma1&&croze<=(ma1*9.8*cro))tm2.play();

//Título
Label titulo = new Label("PROYECTO AULA FÍSICA");
titulo.setLayoutX(250);
titulo.setLayoutY(10);
titulo.setFont(new Font("Tahoma", 21));
titulo.resize(150,150);

//Textos
Label masa = new Label("Masa 1:");
masa.setFont(Font.font("ARIAL",FontWeight.BOLD,14));
masa.setLayoutY(50);

Label masa2 = new Label("Masa 2:");


masa2.setLayoutY(85);
masa2.setFont(Font.font("ARIAL",FontWeight.BOLD,14));

Label rozamiento = new Label("Rozam: ");


rozamiento.setLayoutY(120);
rozamiento.setFont(Font.font("ARIAL",FontWeight.BOLD,14));

Label rozamiento2 = new Label("RozamEsta: ");


rozamiento2.setLayoutY(155);
rozamiento2.setFont(Font.font("ARIAL",FontWeight.BOLD,14));

//Campos para llenar y hacer los cálculos


TextField tfmasa = new TextField();
tfmasa.setLayoutX(90);
tfmasa.setLayoutY(50);

TextField tfmasa2 = new TextField();


tfmasa2.setLayoutX(90);
tfmasa2.setLayoutY(85);

TextField tfroza = new TextField();


tfroza.setLayoutX(90);
tfroza.setLayoutY(120);

TextField tfroza2 = new TextField();


tfroza2.setLayoutX(90);
tfroza2.setLayoutY(155);

//Botones

Button Probar = new Button("Calcular");


Probar.setLayoutX(410);
Probar.setLayoutY(160);

Button Clean = new Button("Limpiar");


Clean.setLayoutX(340);
Clean.setLayoutY(160);

//Acción de Botones
EventHandler<ActionEvent> handler = new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {

if(Clean.getText().equals("Limpiar")){
ma1=1;
ma2=0;
cro=0;
croze=0;
try {
start(primaryStage);
} catch (Exception e) {
e.printStackTrace();
}
}
if(Probar.getText().equals("Calcular")){
ma1 = Double.parseDouble(tfmasa.getText());
ma2 = Double.parseDouble(tfmasa2.getText());
cro = Double.parseDouble(tfroza.getText());
croze = Double.parseDouble(tfroza2.getText());
try {
start(primaryStage);
} catch (Exception e) {
e.printStackTrace();
}
}

}
};

//Cálculos de los datos ingresados


Label acel = new Label("Aceleración: "+acel(ma1, ma2, cro));
acel.setLayoutX(340);
acel.setLayoutY(120);
acel.setFont(Font.font("ARIAL",FontWeight.BOLD,14));
Label Tmasa1 = new Label("Tensión Masa 1: "+Tmasa1(ma1, ma2, cro));
Tmasa1.setLayoutX(340);
Tmasa1.setLayoutY(50);
Tmasa1.setFont(Font.font("ARIAL",FontWeight.BOLD,14));
Label Tmasa2 = new Label("Tensión Masa 2: "+Tmasa2(ma1, ma2, cro));
Tmasa2.setLayoutX(340);
Tmasa2.setLayoutY(85);
Tmasa2.setFont(Font.font("ARIAL",FontWeight.BOLD,14));

//Firma Estudiantes
Label integrantes=new Label("Integrantes: Camilo Piza | Felipe Avendaño | Mateo Romero | Nicolas
Camargo");
integrantes.setLayoutX(0);
integrantes.setLayoutY(590);
integrantes.setTextFill(Color.WHITE);
integrantes.resize(50, 5);

//Acción Botones
Clean.setOnAction(handler);
Probar.setOnAction(handler);

//Vantana
Pane pane = new Pane(root, box1, m1, box2, m2, mesa, vacioMesa, piso, titulo, cuerda1,
cuerda2, polea,triangle, cuerda3,
cuerda4,masa, tfmasa2,tfmasa,
masa2, rozamiento, rozamiento2, tfroza, tfroza2, Probar, Clean,
acel, Tmasa1, Tmasa2, integrantes);
Scene scene = new Scene(pane,800,600);
primaryStage.setScene(scene);
primaryStage.setTitle("Proyecto De Aula Fisica 2017-2");
primaryStage.show();
}

//Métodos para encontrar la solución a los problemas


public static double acel (double masa1, double masa2, double croz){
return (masa2*9.8-croz*masa1*9.8)/(masa1+masa2);
}
public static double Tmasa1 (double masa1, double masa2, double croz){
return (masa1*acel(masa1,masa2,croz)-croz*masa1*9.8);
}
public static double Tmasa2 (double masa1, double masa2, double croz){
return (masa2*9.8-masa2*acel(masa1,masa2,croz));
}
public static void main(String[] args) {
launch(args);
}

Referencia Bibliográficas:

● Solis Javier ,Sistemas fisicos en movimiento(Dianamica), Disponible en:


https://es.slideshare.net/javiersolisp/dinmica-segunda-ley-de-newton-65510679
● Martín Teresa y Serrano Ana ,Leyes de Newton, disponible en:
http://acer.forestales.upm.es/basicas/udfisica/asignaturas/fisica/dinam1p/dinam1p_1.html

También podría gustarte