miércoles, 20 de mayo de 2009

Applet trabajo en clase

Sintesis
La Anatomía de un Applet
Un applet Java es un programa que se adhiere a una serie de convenciones que le permiten ejecutarse en un navegador compatible con Java.

Ejemplo: applet "Hello World":
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}

Importar Clases y Paquetes
En el lenguaje Java, los paquetes se usan para agrupar clases, importar Clases y Paquetes nos ofrece más información sobre los paquetes y la sentencia import.

Definir una Subclase de Applet
Todo applet debe definir una subclase de la clase Applet. En el Applet "Hello World", esta subclase se llama HelloWorld. Los applets heredan gran parte de su funcionalidad de la clase Applet.

Implementar Métodos del Applet
Todo applet debe implementar al menos uno de los siguientes métodos: init, start, o paint. Al contrario que las aplicaciones Java, los applets no necesitan implementar un método main.

Ejecutar un Applet
Los applets están pensados para incluirse en páginas HTML. Usando la etiqueta "APPLET", especificamos (como mínimo) la localización de la subclase Applet y las dimensiones de la ventana del applet. Cuando una navegador que soporta Java encuentra una etiqueta Applet.
Para insertar el applet en una página web, se usa la siguiente estructura:



Ciclo de vida applet
Cuando un applet se carga en el appletviewer, comienza su ciclo de vida, que pasaría por las siguientes fases:

* Se crea una instancia de la clase que controla el applet.
* El applet se incializa.
* El applet comienza a ejecutarse.
* El applet empieza a recibir llamadas. Primero recibe una llamada init (inicializar), seguida de un mensaje start (empezar) y paint (pintar). Estas llamadas pueden ser recibidas asíncronamente.

lunes, 18 de mayo de 2009

Prueba MRU MRUV


public class Tabajo_clase extends javax.swing.JApplet {

/** Initializes the applet Tabajo_clase */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Matriz Vo = new Matriz(1,3);
double aux = Double.parseDouble(jTextField8.getText());
Vo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField1.getText());
Vo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField10.getText());
Vo.matriz[0][2]= aux;

double t = Double.parseDouble(jTextField2.getText());

Matriz Xo = new Matriz(1,3);
aux = Double.parseDouble(jTextField9.getText());
Xo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField3.getText());
Xo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField11.getText());
Xo.matriz[0][2]= aux;

jTextArea1.setText(Xo.suma(Vo.multiplicaEscalar(t)).imprimir());
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Matriz Vo = new Matriz(1,3);
double aux = Double.parseDouble(jTextField4.getText());
Vo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField12.getText());
Vo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField13.getText());
Vo.matriz[0][2]= aux;

double t = Double.parseDouble(jTextField5.getText());

Matriz a = new Matriz(1,3);
aux = Double.parseDouble(jTextField7.getText());
a.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField16.getText());
a.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField17.getText());
a.matriz[0][2]= aux;

Matriz Xo = new Matriz(1,3);
aux = Double.parseDouble(jTextField6.getText());
Xo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField14.getText());
Xo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField15.getText());
Xo.matriz[0][2]= aux;

jTextArea3.setText(Xo.suma(Vo.multiplicaEscalar(t)).suma(a.multiplicaEscalar(t*t).multiplicaEscalar(0.5)).imprimir());
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Matriz Vo = new Matriz(1,3);
double aux = Double.parseDouble(jTextField4.getText());
Vo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField12.getText());
Vo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField13.getText());
Vo.matriz[0][2]= aux;

double t = Double.parseDouble(jTextField5.getText());

Matriz a = new Matriz(1,3);
aux = Double.parseDouble(jTextField7.getText());
a.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField16.getText());
a.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField17.getText());
a.matriz[0][2]= aux;

Matriz Xo = new Matriz(1,3);
aux = Double.parseDouble(jTextField6.getText());
Xo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField14.getText());
Xo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField15.getText());
Xo.matriz[0][2]= aux;

jTextArea2.setText(Vo.suma(a.multiplicaEscalar(t)).imprimir());
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Matriz Vo = new Matriz(1,3);
double aux = Double.parseDouble(jTextField8.getText());
Vo.matriz[0][0]= aux;
aux= Double.parseDouble(jTextField1.getText());
Vo.matriz[0][1]= aux;
aux= Double.parseDouble(jTextField10.getText());
Vo.matriz[0][2]= aux;

double x=1;
jTextArea4.setText(Vo.multiplicaEscalar(x).imprimir());
}
}

domingo, 17 de mayo de 2009

APPLET

Un applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por applets.

A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. El término fue introducido en AppleScript en 1993.

**** Ejemplos comunes de applets son las Java applets y las animaciones Flash. Otro ejemplo es el Windows Media Player utilizado para desplegar archivos de video incrustados en los navegadores como el Internet Explorer. Otros plugins permiten mostrar modelos 3D que funcionan con una applet.

Para crear un applet necesitamos escribir una clave de la clase Applet del paquete java.applet.*;

import java.applet.*;
public class MiApplet extends Applet
{
//Cuerpo del ''applet''.
}

Una vez creada la clase que compone el applet, escribimos el resto del código y después lo compilamos, obteniendo el fichero MiApplet.class. Para poder crear el applet se necesita compilar el código Java en un intérprete.

public class MiApplet extends Applet implements Runnable
{
private Thread hilo = null;
private Font fuente;
private String horaActual = "00:00:00";

public void init()
{
fuente = new Font("Verdana", Font.BOLD, 24);
}
public void start()
{
if (hilo == null)
{
hilo = new Thread(this, "Reloj");
hilo.start();
}
}
public void run()
{
Thread hiloActual = Thread.currentThread();
while (hilo == hiloActual)
{
//obtener la hora actual
Calendar cal = Calendar.getInstance();
Date hora = cal.getTime();
DateFormat df = DateFormat.getTimeInstance();
horaActual = df.format(hora);
repaint();
try
{
Thread.sleep(1000);
}
catch (InterruptedException e){}
}
}
public void paint(Graphics g)
{
//Dibujar un rectangulo alrededor del contenedor
g.draw3DRect(1, 1, getSize().width-3, getSize().height-3, false);
//Establecer la Fuente
g.setFont(fuente);
//mostrar la Hora
g.drawString(horaActual,14,40);
}
public void stop()
{
hilo = null;
}
}

martes, 12 de mayo de 2009

Librería Swing, Awt y operaciones con vectores

SWING
Swing es una biblioteca gráfica para Java. Incluye widgets para interfaz gráfica de usuario tales como cajas de texto, botones, desplegables y tablas.

Ventajas
* El diseño en Java puro posee menos limitaciones de plataforma.
* El desarrollo de componentes Swing es más activo.
* Los componentes de Swing soportan más características.

Arquitectura
Es una plataforma independiente, Model-View-Controller Gui framework para Java. Sigue un simple modelo de programación por hilos, y posee las siguientes características principales:

* Independencia de plataforma.
* Extensibilidad: es una arquitectura altamente particionada: los usuarios pueden proveer sus propias implementaciones modificadas para sobrescribir las implementaciones por defecto. Se puede extender clases existentes proveyendo alternativas de implementación para elementos esenciales.
* Customizable: dado el modelo de representación programático del framework de swing, el control permite representar diferentes 'look and feel' (desde MacOS look and feel hasta Windows XP look and feel). Más allá, los usuarios pueden proveer su propia implementación look and feel, que permitirá cambios uniformes en el look and feel existente en las aplicaciones Swing sin efectuar ningún cambio al código de aplicación.

AWT
AWT significa Abstract Window Toolkit. Permite hacer interfaces gráficas mediante artefactos de interacción con el usuario, como botones, menús, texto, botones para selección, barras de deslizamiento, ventanas de diálogo, selectores de archivos, etc. Y por supuesto despliegue gráfico general.

Caracteristicas
*Un widget es un elemento gráfico con el que el usuario puede interactuar.
*Ocupa una porción rectangular en una ventana.
*Existen diversos tipos: botones, áreas de texto, etiquetas, etc.
*El kit AWT implementa los widgets más usuales. Para usarlos es necesario importar las clases del paquete java.awt:

Construcción de una ventana de interacción
* Construcción del Frame:
Frame frame= new Frame("Titulo de la ventana");
* Construcción de widgets básicos de interacción:
Botón: Button boton= new Button("nombre del boton");
Etiqueta: Label etiq= new Label("nombre", Label.CENTER);
Area de texto: TextArea area= new TextArea(5, 20);
Campo de texto: TextField texto= new TextField(15);
Botón on/off: Checkbox check= new Checkbox("nombre");


OPERACIONES
package aplicacion;
public class Mivisual extends javax.swing.JFrame {
String aux ="";

public Mivisual() {
initComponents();
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt){
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
aux += (v1.suma(v2)).imprimir();
jTextArea1.setText(aux);
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
aux += (v1.resta(v2)).imprimir();
jTextArea1.setText(aux);
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
for(int i=0;i<1;i++){
for(int j=0;j<1;j++){
result.matriz[0][0]=result.matriz[0][0]+(v1.matriz[i][j]*v1.matriz[i][j]);
}
}
escalar1.matriz=result.matriz;
result.matriz[0][0]=0;
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
result.matriz[0][0]=result.matriz[0][0]+(v2.matriz[i][j]*v2.matriz[i][j]);
}
}
aux=(escalar1.suma(result)).imprimir();
jTextArea1.setText(aux);
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
aux += ((v1.multiplica(v2)).imprimir());
jTextArea1.setText(aux);
}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
Matriz result=new Matriz(1,1);
Matriz escalar1=new Matriz(1,3);
Matriz escalar2=new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1]= y1; v1.matriz[0][2]=z1;
v2.matriz[0][0] = x2; v2.matriz[0][1]= y2; v2.matriz[0][2]=z2;
aux += "Unitario del vector 1 es: \n";
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
result.matriz[0][0]=result.matriz[0][0]+(v1.matriz[i][j]*v1.matriz[i][j]);
}
}
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
escalar1.matriz[i][j]=(v1.matriz[i][j])/(result.matriz[0][0]);
}
}
aux+=(escalar1.imprimir()+"\n");
aux += "Unitario del vector 2 es: \n";
result.matriz[0][0]=0;
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
result.matriz[0][0]=result.matriz[0][0]+(v1.matriz[i][j]*v1.matriz[i][j]);
}
}
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
escalar2.matriz[i][j]=(v2.matriz[i][j])/(result.matriz[0][0]);
}
}
aux+=(escalar2.imprimir()+"\n");
aux+="El total de los unitarios es \n";
aux+=(escalar1.suma(escalar2)).imprimir()+"\n";
jTextArea1.setText(aux);
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Mivisual().setVisible(true);
}
});
}

domingo, 10 de mayo de 2009

Herencia Vectorial

package herencia;
public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;

public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz= new double[numeroFilas][numeroColumnas];

for(int i=0; i< numeroFilas; i++)
for(int j=0; j< numeroColumnas; j++)
matriz[i][j]=0;
}

public String imprimir(){
String aux = "";
for(int i=0; i for(int j=0; j aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}

public String imprimir2(){
String aux ="";
aux=aux+"y1="+ matriz[0][0];
aux=aux+"\n";
aux=aux+"y2="+matriz[1][0];
return aux;
}

public Matriz suma(Matriz B){
if ((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j r.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden sumar las matrices");
return r;
}
}

public Matriz resta(Matriz B){
if ((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j r.matriz[i][j]=this.matriz[i][j]-B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden restar las matrices");
return r;
}
}

public Matriz multiplica(Matriz B){
if(this.numeroFilas==B.numeroColumnas){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
int k;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j for(k=0; k r.matriz[i][j]+=this.matriz[i][k]*B.matriz[k][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden multiplicar las matrices");
return r;
}
}

public Matriz clonar(){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j r.matriz[i][j]=this.matriz[i][j];
return r;
}
public Matriz transpueta(){
Matriz r = new Matriz(this.numeroColumnas,this.numeroFilas);
int j;
for (int i = 0; i < this.numeroFilas; i++)
for(j = 0; j < this.numeroColumnas;j++)
r.matriz[j][i] = this.matriz[i][j];
return r;
}

public Matriz inversa(){
Matriz result=new Matriz(this.numeroFilas,this.numeroColumnas);
double tmp;//variable temporal
Matriz I=new Matriz(this.numeroFilas,this.numeroColumnas*2);
for(int i = 0; i for(int j = 0; j I.matriz[i][j]=0.0;

for(int i = 0; i for(int j = 0; j I.matriz[i][j]=this.matriz[i][j];
if (i==j)
I.matriz[i][j+this.numeroFilas]=1.0;
}
}
for(int i=0; i<(this.numeroFilas); i++){
tmp=I.matriz[i][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k if(k!=i){
tmp=I.matriz[k][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i = 0; i < this.numeroFilas; i++)
for(int j = 0; j result.matriz[i][j]=I.matriz[i][j+this.numeroColumnas];
return result;
}
public Matriz multiplicaEscalar(double a){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i = 0; i < this.numeroFilas; i++)
for(int j = 0; j r.matriz[i][j]= this.matriz[i][j]*a;
return r;
}
}

package herencia;
public class Vector extends Matriz{
public Vector(){
}
public Vector(int numElementos){
numeroFilas = 1;
numeroColumnas = numElementos;
matriz = new double[numeroFilas][numeroColumnas];
}

public Vector(int nF, int nC){
super(nF,nC);
}

public double productoEscalar(Vector x){
double resultado =0;
resultado=this.multiplica(x.transpueta()).matriz[0][0];
return resultado;
}

public static void main(String[] args){
Vector v = new Vector(3,3);
v.matriz[0][0]= 1;
v.matriz[0][1]= 0;
v.matriz[0][2]= 1;
System.out.println(v.imprimir());

Vector v1 = new Vector(3,3);
v1.matriz[0][0]= 1;
v1.matriz[0][1]= 2;
v1.matriz[0][2]= 3;
System.out.println(v1.imprimir());
System.out.println((v.suma(v1)).imprimir());
System.out.println("El producto vectorial");
System.out.println((v1.multiplica(v)).imprimir());
}
}

domingo, 19 de abril de 2009

MRU y MRUV vectorial

MRU
public class Particula {
private Matriz posicionInicial;
private Matriz velocidadInicial;
private Matriz aceleracion;

public Particula(){}
public Particula(Matriz Xo, Matriz Vo, Matriz a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public Matriz getPosicionInicial(){
return posicionInicial;
}
public void setPosicionInicial(Matriz Xo){
posicionInicial = Xo;
}
public Matriz getAceleracion(){
return aceleracion;
}
public void setAceleracion(Matriz a){
aceleracion = a;
}
public Matriz getVelocidadInicial(){
return velocidadInicial;
}
public void setVelocidadInicial(Matriz Vo){
velocidadInicial = Vo;
}
}
package encapsulamientoii;
public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;

public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz= new double[numeroFilas][numeroColumnas];

for(int i=0; i< numeroFilas; i++)
for(int j=0; j< numeroColumnas; j++)
matriz[i][j]=0;
}

public String imprimir(){
String aux = "";
for(int i=0; i for(int j=0; j aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}

public String imprimir2(){
String aux ="";
aux=aux+"y1="+ matriz[0][0];
aux=aux+"\n";
aux=aux+"y2="+matriz[1][0];
return aux;
}

public Matriz suma(Matriz B){
if ((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j r.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden sumar las matrices");
return r;
}
}
public Matriz multiplicaEscalar(double a){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i = 0; i < this.numeroFilas; i++)
for(int j = 0; j r.matriz[i][j]= this.matriz[i][j]*a;
return r;
}
}
package encapsulamientoii;
public class MovRecUNi {
public Particula particula;

public MovRecUNi(){}
public MovRecUNi(Matriz x0, Matriz v0, Matriz a){
particula = new Particula();
particula.setPosicionInicial(x0);
particula.setVelocidadInicial(v0);
particula.setAceleracion(a);
}

public Matriz calcularPosicion(double t){
Matriz posicion;
Matriz x0, v0, a;
x0 = this.particula.getPosicionInicial();
posicion = new Matriz(x0.numeroFilas,x0.numeroColumnas);
v0 = this.particula.getVelocidadInicial();
a = this.particula.getAceleracion();
posicion = x0.suma(v0.multiplicaEscalar(t));
return posicion;
}

public Matriz calculoVelocidad(double t){
Matriz velocidad = particula.getVelocidadInicial();
return velocidad;
}

public Matriz calculoAceleracion(double t){
Matriz aceleracion = new Matriz(1,this.particula.getPosicionInicial().numeroColumnas);
for(int i = 0; i < aceleracion.numeroFilas; i++)
for(int j = 0; j < aceleracion.numeroColumnas; j++)
aceleracion.matriz[i][j] = 0;
return aceleracion;
}

public static void main(String args[]){
Matriz x0 = new Matriz(1,3);
x0.matriz[0][0]=5; x0.matriz[0][1]=0; x0.matriz[0][2]=-5;
Matriz v0 = new Matriz(1,3);
v0.matriz[0][0]=2; v0.matriz[0][1]=0; v0.matriz[0][2]=0;
Matriz a = new Matriz(1,3);
a.matriz[0][0]=0; a.matriz[0][1]=0; a.matriz[0][2]=0;
MovRecUNi m = new MovRecUNi(x0,v0,a);

Matriz x;
x = m.calcularPosicion(2);
Matriz v;
v = m.calculoVelocidad(2);
Matriz ac;
ac = m.calculoAceleracion(2);

System.out.println("la posicion inicial\n"+x0.imprimir());
System.out.println("la posicion final\n"+x.imprimir());
System.out.println("la velocidad inicial\n"+v0.imprimir());
System.out.println("la velocidad final\n"+v0.imprimir());
}
}

MRUV
public class Particula {
private Matriz posicionInicial;
private Matriz velocidadInicial;
private Matriz aceleracion;

public Particula(){}
public Particula(Matriz Xo, Matriz Vo, Matriz a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public Matriz getPosicionInicial(){
return posicionInicial;
}
public void setPosicionInicial(Matriz Xo){
posicionInicial = Xo;
}
public Matriz getAceleracion(){
return aceleracion;
}
public void setAceleracion(Matriz a){
aceleracion = a;
}
public Matriz getVelocidadInicial(){
return velocidadInicial;
}
public void setVelocidadInicial(Matriz Vo){
velocidadInicial = Vo;
}
}
package encapsulamientoii;
public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;

public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz= new double[numeroFilas][numeroColumnas];

for(int i=0; i< numeroFilas; i++)
for(int j=0; j< numeroColumnas; j++)
matriz[i][j]=0;
}

public String imprimir(){
String aux = "";
for(int i=0; i for(int j=0; j aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}

public String imprimir2(){
String aux ="";
aux=aux+"y1="+ matriz[0][0];
aux=aux+"\n";
aux=aux+"y2="+matriz[1][0];
return aux;
}

public Matriz suma(Matriz B){
if ((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j r.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden sumar las matrices");
return r;
}
}
public Matriz multiplicaEscalar(double a){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i = 0; i < this.numeroFilas; i++)
for(int j = 0; j r.matriz[i][j]= this.matriz[i][j]*a;
return r;
}
}
package encapsulamientoii;
public class MRUVV {
public Particula particula;

public MRUVV(){}
public MRUVV(Matriz x0, Matriz v0, Matriz a){
particula = new Particula();
particula.setPosicionInicial(x0);
particula.setVelocidadInicial(v0);
particula.setAceleracion(a);
}

public Matriz calcularPosicion(double t){
Matriz posicion;
Matriz x0, v0, a;
x0 = this.particula.getPosicionInicial();
posicion = new Matriz(x0.numeroFilas,x0.numeroColumnas);
v0 = this.particula.getVelocidadInicial();
a = this.particula.getAceleracion();
posicion = x0.suma(v0.multiplicaEscalar(t).suma(a.multiplicaEscalar(t*0.5*t)));
return posicion;
}

public Matriz calculoVelocidad(double t){
Matriz velocidad= particula.getVelocidadInicial();
Matriz x0, v0, a;
v0 = this.particula.getVelocidadInicial();
velocidad = new Matriz(v0.numeroFilas,v0.numeroColumnas);
x0 = this.particula.getPosicionInicial();
a = this.particula.getAceleracion();
velocidad = v0.suma(a.multiplicaEscalar(t));
return velocidad;
}

public Matriz calculoAceleracion(double t){
Matriz aceleracion = new Matriz(1,this.particula.getPosicionInicial().numeroColumnas);
for(int i = 0; i < aceleracion.numeroFilas; i++)
for(int j = 0; j < aceleracion.numeroColumnas; j++)
aceleracion.matriz[i][j] = 0;
return aceleracion;
}

public static void main(String args[]){
Matriz x0 = new Matriz(1,3);
x0.matriz[0][0]=4; x0.matriz[0][1]=0; x0.matriz[0][2]=-3;
Matriz v0 = new Matriz(1,3);
v0.matriz[0][0]=3; v0.matriz[0][1]=2; v0.matriz[0][2]=0;
Matriz a = new Matriz(1,3);
a.matriz[0][0]=3; a.matriz[0][1]=2; a.matriz[0][2]=2;
MRUVV m = new MRUVV(x0,v0,a);

Matriz x;
x = m.calcularPosicion(4);
Matriz v;
v = m.calculoVelocidad(4);
Matriz ac;
ac = m.calculoAceleracion(4);

System.out.println("la posicion inicial\n"+x0.imprimir());
System.out.println("la posicion final\n"+x.imprimir());
System.out.println("la velocidad inicial\n"+v0.imprimir());
System.out.println("la velocidad final\n"+v.imprimir());
System.out.println("la aceleracion inicial\n"+a.imprimir());
System.out.println("la aceleracion final\n"+a.imprimir());
}
}

martes, 14 de abril de 2009

MRU y MRUV

MRU
public class Particula {
private double posicionInicial;
private double velocidadInicial;
private double aceleracion;

public Particula(){}
public Particula(double Xo, double Vo, double a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public double getPosicionInicial(){
return posicionInicial;
}

public void setPosicionInicial(double Xo){
posicionInicial = Xo;
}

public double getAceleracion(){
return aceleracion;
}

public void setAceleracion(double a){
aceleracion = a;
}

public double getVelocidadInicial(){
return velocidadInicial;
}

public void setVelocidadInicial(double Vo){
velocidadInicial = Vo;
}
}
public class MovRecUNi {
public Particula particula;

public MovRecUNi(){}
public MovRecUNi(double Xo, double Vo, double a){
particula.setPosicionInicial(Xo);
particula.setVelocidadInicial(Vo);
particula.setAceleracion(a);
}

public double calcularPosicion(double t){
double posicion;
posicion = particula.getPosicionInicial()+particula.getVelocidadInicial()*t;
return posicion;
}

public double calculoVelocidad(double t){
double velocidad = particula.getVelocidadInicial();
return velocidad;
}

public double calculoAceleracion(double t){
double aceleracion = 0;
return aceleracion;
}
}
public class Prueba {
public static void main(String args[]){
Particula p = new Particula(0.0,0.0,0);
p.setVelocidadInicial(4);
p.setPosicionInicial(2);
p.setAceleracion(0);
System.out.println("Velocidad inicial\n"+p.getVelocidadInicial());
System.out.println("Posicion inicial\n"+p.getPosicionInicial());
System.out.println("Aceleracion\n"+p.getAceleracion());
MovRecUNi m = new MovRecUNi();
m.particula=p;
System.out.println("Posicion a t = 20\n"+m.calcularPosicion(20));
System.out.println("Velocidad a t = 20\n"+m.calculoVelocidad(20));
System.out.println("Aceleracion a t = 20\n"+m.calculoAceleracion(20));
}
}

MRUV


public class Particula2 {
private double posicionInicial;
private double velocidadInicial;
private double aceleracion;

public Particula2(){}
public Particula2(double Xo, double Vo, double a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public double getPosicionInicial(){
return posicionInicial;
}

public void setPosicionInicial(double Xo){
posicionInicial = Xo;
}

public double getAceleracion(){
return aceleracion;
}

public void setAceleracion(double a){
aceleracion = a;
}

public double getVelocidadInicial(){
return velocidadInicial;
}

public void setVelocidadInicial(double Vo){
velocidadInicial = Vo;
}
}
public class MRUV {
public Particula2 particula;

public MRUV(){}
public MRUV(double Xo, double Vo, double a){
particula.setPosicionInicial(Xo);
particula.setVelocidadInicial(Vo);
particula.setAceleracion(a);
}

public double calcularPosicion(double t){
double posicion;
posicion = particula.getPosicionInicial()+particula.getVelocidadInicial()*t+particula.getAceleracion()*(0.5*t*t);
return posicion;
}

public double calculoVelocidad(double t){
double velocidad = particula.getVelocidadInicial();
velocidad = particula.getVelocidadInicial()+particula.getAceleracion()*t;
return velocidad;
}

public double calculoAceleracion(double t){
double aceleracion = particula.getAceleracion();
return aceleracion;
}
}
public class Prueba2 {
public static void main(String args[]){
Particula2 p = new Particula2(0.0,0.0,0);
p.setVelocidadInicial(10);
p.setPosicionInicial(4);
p.setAceleracion(6);
MRUV m = new MRUV();
m.particula=p;
System.out.println("Posicion a t = 4\n"+m.calcularPosicion(4));
System.out.println("Velocidad a t = 4\n"+m.calculoVelocidad(4));
System.out.println("Aceleracion a t = 4\n"+m.calculoAceleracion(4));
}
}