lunes, 8 de junio de 2009

Dinamica




import java.applet.Applet;
import java.awt.*;
import javax.swing.JApplet;
import javax.swing.JOptionPane;

public class Calculo extends Applet {
public void init(){
}
public void paint(Graphics g){
String aux=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA BASE","BASE",JOptionPane.DEFAULT_OPTION);
double base=Double.parseDouble(aux);
String aux2=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA ALTURA","ALTURA",JOptionPane.DEFAULT_OPTION);
double altura=Double.parseDouble(aux2);
double angulo;

g.drawLine(30,150,(int) base+30,150 );
g.drawLine((int)base+30, 150,(int)base+30,150-(int)altura);
g.drawLine(30, 150, (int)base+30, 150-(int)altura);
g.setColor(Color.BLUE);
g.drawString("la base:"+base, 35,20);
g.drawString("Altura:"+altura,35,30);
double tan=altura/base;
angulo=Math.atan(tan);
angulo=Math.toDegrees(angulo);
g.drawString("el angulo es: "+angulo, 35,40 );

String aux8=JOptionPane.showInputDialog(null,"INGRESE LA DISTANCIA a DE LA MASA","INGRESE DISTANCIA a",JOptionPane.DEFAULT_OPTION);
double ab=Double.parseDouble(aux8);
double c=ab*Math.cos(angulo*Math.PI/180);
double xo=30+c;
double l=ab*Math.sin(angulo*Math.PI/180);
double yo=150-l;
double d=20*Math.cos(angulo*Math.PI/180);
double xo1=xo+d;
double m=(c+d)*Math.tan(angulo*Math.PI/180);
double yo1=150-m;
g.setColor(Color.RED);
g.drawLine((int)xo,(int)yo,(int)xo1,(int)yo1);
double dx=10*Math.sin(angulo*Math.PI/180);
double dy=10*Math.cos(angulo*Math.PI/180);
double xo2=xo1-dx;
double yo2=yo1-dy;
g.drawLine((int)xo1,(int)yo1,(int)xo2,(int)yo2);
g.drawLine((int)xo2,(int)yo2,(int)(xo-dx),(int)(yo-dy));
g.drawLine((int)(xo-dx),(int)(yo-dy),(int)xo,(int)yo);

String aux3=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA FUERZA","FUERZA EN NEWTONS",JOptionPane.DEFAULT_OPTION);
double fuerza=Double.parseDouble(aux3);
//g.drawLine(10,100,(int)fuerza+10, 150-(int)fuerza);
String aux4=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA MASA","MASA EN KILOGRAMOS",JOptionPane.DEFAULT_OPTION);
double masa=Double.parseDouble(aux4);
//g.setColor(Color.orange);
//g.drawLine(10,100,(int)masa+30 ,150-(int)masa);
String aux5=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DEL COEFICIENTE DE ROZAMIENTO","COEFICIENTE DE ROZAMIENTO",JOptionPane.DEFAULT_OPTION);
double miu=Double.parseDouble(aux5);

String aux6=JOptionPane.showInputDialog(null,"INGRESE EL TIEMPO","TIEMPO EN SEGUNDOS",JOptionPane.DEFAULT_OPTION);
double tiempo=Double.parseDouble(aux6);

double gravedad=9.8;
double aceleracion;
aceleracion=(fuerza/masa)-(gravedad*((miu*Math.cos(angulo*Math.PI/180))+Math.sin(angulo*Math.PI/180)));
double desplazamiento= aceleracion*0.5*tiempo*tiempo;
double xn=desplazamiento*Math.cos(angulo*Math.PI/180);
double yn=desplazamiento*Math.sin(angulo*Math.PI/180);
g.setColor(Color.MAGENTA);
g.drawLine((int)(xo+xn),(int)(yo-yn), (int)(xo1+xn), (int)(yo1-yn));
g.drawLine((int)(xo1+xn),(int)(yo1-yn),(int)(xo2+xn),(int)(yo2-yn) );
g.drawLine((int)(xo2+xn),(int)(yo2-yn),(int)(xo+xn-dx),(int)(yo-yn-dy) );
g.drawLine((int)(xo+xn-dx),(int)(yo-yn-dy),(int)(xo+xn),(int)(yo-yn) );

g.setColor(Color.BLACK);
g.drawLine(150, 25, 350, 25);
g.drawLine(150, 25,150,160);
g.drawLine(150, 160, 350, 160);

//g.drawLine(320, 30, 320, 150);
g.setColor(Color.magenta);
g.drawString("FUERZA", 160,44);
g.drawString(""+fuerza, 300,44);
g.drawString("MASA", 160,59);
g.drawString(""+(int)masa, 300,59);
g.drawString("TIEMPO", 160,74);
g.drawString(""+tiempo, 300,74);
g.drawString("MIU", 160,89);
g.drawString(""+miu, 300,89);
g.drawString("ACELERACION", 160,104);
g.drawString(""+(short)aceleracion, 300,104);
g.drawString("DESPLAZAMIENTO", 160,119);
g.drawString(""+(short)desplazamiento, 300,119);
g.drawString("FUERZA NORMAL", 160,134);
g.drawString(""+(short)(miu*masa*gravedad*Math.cos(angulo*Math.PI/180)), 300,134);
g.drawString("ANGULO PLANO", 160,149);
g.drawString(""+(short)angulo, 300,149);
}
}

6 comentarios:

  1. chever ta u programa, se ve muy bien l codigo, y la logica ta buena

    ResponderEliminar
  2. tienes el deber muy bien estructurado.. podemos aplicar en algunos deberes

    ResponderEliminar
  3. Encuentro muy completo tu programa, me parece que podrías añadirle las lineas de Fuerza, friccion peso y normal... la tabla esta muy entendible, buen trabajo

    ResponderEliminar
  4. que buen trabajo me sirvio de gran ayuda exelente y una buena explicacion y utlizacion de los caracteres

    ResponderEliminar
  5. buen trabajo s una buena aplicacion del conocimiento y la logica

    ResponderEliminar
  6. Esta perfecta tu aplicacion, utilizas correctamente los conceptos de JAVA

    ResponderEliminar