Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Plano Horizontal
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.
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
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;
@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);
//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();
//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);
//Botones
//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();
}
}
}
};
//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();
}
Referencia Bibliográficas: