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);
}
}
Suscribirse a:
Enviar comentarios (Atom)
chever ta u programa, se ve muy bien l codigo, y la logica ta buena
ResponderEliminartienes el deber muy bien estructurado.. podemos aplicar en algunos deberes
ResponderEliminarEncuentro 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
ResponderEliminarque buen trabajo me sirvio de gran ayuda exelente y una buena explicacion y utlizacion de los caracteres
ResponderEliminarbuen trabajo s una buena aplicacion del conocimiento y la logica
ResponderEliminarEsta perfecta tu aplicacion, utilizas correctamente los conceptos de JAVA
ResponderEliminar