martes, 24 de noviembre de 2009

APPLET

un appelet es un componente de una aplicacion que se ejecuta en un programa no puede trabajar de manera independiente y realiza una funcion especifica.
un ejemplo claro es el:
  • java applet que es un código java que no tiene el método main, utilizado principalmente para el trabajo de páginas web, ya que es un pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta.

La ventaja principal de un applet consiste en que son menos dependientes del navegador incluso independientes del sistema operativo del ordenador donde se ejecutable razon por la cual el número de aplicaciones de los applets podrá ser mayor. entre otras podemos nombrar:

  • El mismo applet puede trabajar en todas las versiones de Java

la mayor desventaja que tienen es que con los applets de Java no podremos hacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc. Otras como:

  • No puede iniciar la ejecución hasta que la JVM esté en funcionamiento, y esto puede tomar tiempo la primera vez que se ejecuta un applet.
  • Un Applet podría exigir una versión específica del JRE

Cuando un applet se inicia, se llaman en este orden a los siguientes métodos:

  • init: son instrucciones para inicializar el applet.
  • start: llamado cuando se inicualiza un applet igual que el init pero tambien cuando se vuelve a ocupar un applet
  • paint: Se encarga de mostrar el contenido del applet. .

Para terminar la ejecución o pausarse se llama a los siguientes métodos:

  • stop: Suspende la ejecución del programa.
  • destroy: Cuando no se va a necesitar más el applet. Se usa para liberar recursos.

BIBLIOGRAFIA

  1. http://es.wikipedia.org/wiki/Applet
  2. http://www.desarrolloweb.com/articulos/731.php
  3. http://es.wikipedia.org/wiki/Applet_Java

domingo, 22 de noviembre de 2009

movimiento rectilineo uniformemente variado

CLASE MATRIZ
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

//crea una matriz sin dimensiones
public Matriz(){
}

//constructor con parametros
//nF es el numero de filas
//nc es el numero de columnas
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;
}


//metodo de suma de matrices
//b es el primer sumando
//retorna una matriz resultado de suma
public Matriz suma(Matriz b){
Matriz resultado;
//primero revisamos que las filas y las columnas sean iguales
//this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}

//metodo de multiplicacion de matrices
//retorna una matriz resultado resta
public Matriz multiplicacion(Matriz b){
Matriz resultado;
//primero revisamos que las filas de a sean iguales a las columnas de b
//this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroColumnas; k++)
resultado.matriz[i][j]+=this.matriz[i][k]*b.matriz[k][j];
}
}
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}



//devuelve el objeto matriz en texto para poderlo imprimir
public String toString(){
String aux="\n[\n";
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux += matriz[i][j]+" ";
}
aux+="\n";
}
aux+= "]";
return aux;
}


}


CLASE VECTOR
public class Vector3D extends Matriz {
double coordenadaX;
double coordenadaY;
double coordenadaZ;

public Vector3D(){
super(1,3);
}

public Vector3D(double x, double y, double z){
super(1,3);
this.matriz[0][0] = x;
this.matriz[0][1] = y;
this.matriz[0][2] = z;
coordenadaX = x;
coordenadaY = y;
coordenadaZ = z;
}

public double magnitud(){
double resultado = 0;
for(int i=0; i < 3; i++){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}

//segunda forma de hacer la magnitud
public double magnitud1(){
double resultado;
resultado = this.coordenadaX*this.coordenadaX+this.coordenadaY*this.coordenadaY+this.coordenadaZ*this.coordenadaZ;
resultado = Math.sqrt(resultado);
return resultado;
}

//tercera forma de hacer la magnitud
public double magnitud2(){
double resultado;
resultado = Math.pow(this.coordenadaX, 2)+Math.pow(this.coordenadaY, 2)+Math.pow(this.coordenadaZ, 2);
resultado = Math.sqrt(resultado);
return resultado;
}

public Vector3D unitario(){
Vector3D unitario = new Vector3D();
for(int i=0; i < 3; i++)
unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud2();
return unitario;
}

public double productoEscalar(Vector3D v){
double resultado = 0;
for(int i=0; i < 3; i++)
resultado += this.matriz[0][i]*v.matriz[0][i];
return resultado;
}

public Vector3D productoEscalarVector(double a){
Vector3D resultado = new Vector3D();
for(int i=0; i < 3; i++)
resultado.matriz[0][i] = this.matriz[0][i]*a;
return resultado;
}

public Vector3D productoCruz(Vector3D v){
Vector3D resultado;
resultado = new Vector3D();
resultado.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
resultado.matriz[0][1] = this.matriz[0][2]*v.matriz[0][0]-this.matriz[0][0]*v.matriz[0][2];
resultado.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return resultado;
}

public static void main(String args[]){
Vector3D v1 = new Vector3D(-1,1,-1);
Vector3D v2 = new Vector3D(0,2,0);
System.out.println(v1+"\n"+v2);
System.out.println("LA COORDENADA EN X ES: "+v1.coordenadaX);
System.out.println("\nLA SUMA DE LOS VECTORES ES: "+(v1.suma(v2)));
System.out.println("\nLA MAGNITUD DEL VECTOR ES: "+v1.magnitud());
System.out.println("\nLA MAGNITUD DEL VECTOR ES: "+v1.magnitud1());
System.out.println("\nLA MAGNITUD DEL VECTOR ES: "+v1.magnitud2());
System.out.println("\nEL VECTOR UNITARIO ES: "+v1.unitario());
System.out.println("\nEL PRODUCTO ESCALAR ENTRE LOS DOS VECTORES ES: "+v1.productoEscalar(v2));
System.out.println("\nEL PRODUCTO CRUZ ENTRE LOS DOS VECTORES ES: "+v1.productoCruz(v2));
}
}


CLASE MRUV
public class MRUV extends Vector3D{
Matriz posicion;
Matriz velocidad;
Matriz aceleracion;
Matriz desplazamiento;
Matriz velocidad2;

public MRUV(){
}

public MRUV (Vector3D pos, Vector3D vel0, Vector3D ace, Vector3D des){
posicion = pos;
velocidad = vel0;
aceleracion = ace;
desplazamiento = des;
}

//la formula es r = r0 + vo.t + 1/2a.t^2
public void calcularPosicion(Vector3D ro, Vector3D vel0, Vector3D ace, double t){
posicion = ro.suma((vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t,2))).productoEscalarVector(1/2)));
}

//la formula es v = v0 + a.t
public void calcularVelocidad(Vector3D vel0, double t, Vector3D ace){
velocidad = vel0.suma(ace.productoEscalarVector(t));
}

//la formula es d = v0.t + 1/2a.t^2
public void calcularDesplazamiento(Vector3D vel0, double t, Vector3D ace){
desplazamiento = (vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t, 2))).productoEscalarVector(1/2));
}

/*public void calcularVelocidad2(Vector3D vel0, Vector3D ace, Vector3D des){
velocidad2 = (Math.pow(vel0, 2)).suma((ace.productoCruz(desplazamiento)).productoEscalarVectorial(2));
}*/

public static void main(String args[]){
MRUV m = new MRUV();
Vector3D r0 = new Vector3D (1,0,-1);
Vector3D vel0 = new Vector3D (0,5,0);
Vector3D ace = new Vector3D (-4,0,9);
double t = 2;
System.out.println("LA POSICION A t = 2s rO = i-k v0 = 5j a = -4i+9k ES: \n" +m.calcularPosicion(r0, vel0, ace, t));
System.out.println("LA VELOCIDAD A t = 2s v0 = 5j a = -4i+9k ES: \n" +m.calcularVelocidad(vel0, t, ace));
System.out.println("EL DESPLAZAMIENTO A t = 2s v0 = 5j a = -4i+9k ES: \n" +m.calcularDesplazamiento(vel0, t, ace));
}

}

sábado, 14 de noviembre de 2009

EJERCICIO CON VECTORES 3D

CLASE MATRIZ

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

//crea una matriz sin dimensiones
public Matriz(){
}

//constructor con parametros
//nF es el numero de filas
//nc es el numero de columnas
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;
}


//metodo de suma de matrices
//b es el primer sumando
//retorna una matriz resultado de suma
public Matriz suma(Matriz b){
Matriz resultado;
//primero revisamos que las filas y las columnas sean iguales
//this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}

//metodo de multiplicacion de matrices
//retorna una matriz resultado resta
public Matriz multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas){
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroFilas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("error en dimensiones de las matrices");
resultado = null;
return resultado;
}
//devuelve el objeto matriz en texto para poderlo imprimir
public String toString(){
String aux="\n[\n";
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux += matriz[i][j]+" ";
}
aux+="\n";
}
aux+= "]";
return aux;
}
}

CLASE VECTOR
public class Vector3D extends Matriz{
double coordenadaX;
double coordenadaY;
double coordenadaZ;

public Vector3D(){
super(1,3);
}

public Vector3D(double x, double y, double z){
super(1,3);
this.matriz[0][0] = x;
this.matriz[0][1] = y;
this.matriz[0][2] = z;
coordenadaX = x;
coordenadaY = y;
coordenadaZ = z;
}

public double magnitud(){
double resultado = 0;
for(int i=0; i < 3; i++){
resultado + = this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}

//segunda forma de hacer la magnitud
public double magnitud1(){
double resultado;
resultado = this.coordenadaX*this.coordenadaX+this.coordenadaY*this.coordenadaY+this.coordenadaZ*this.coordenadaZ;
resultado = Math.sqrt(resultado);
return resultado;
}

//tercera forma de hacer la magnitud
public double magnitud2(){
double resultado;
resultado = Math.pow(this.coordenadaX, 2)+Math.pow(this.coordenadaY, 2)+Math.pow(this.coordenadaZ, 2);
resultado = Math.sqrt(resultado);
return resultado;
}

public Vector3D unitario(){
Vector3D unitario = new Vector3D();
for(int i=0; i < 3; i++)
unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud2();
return unitario;
}

public double productoEscalar(Vector3D v){
double resultado = 0;
for(int i=0; i < 3; i++)
resultado += this.matriz[0][i]*v.matriz[0][i];
return resultado;
}

public Vector3D productoCruz(Vector3D v){
Vector3D resultado;
resultado = new Vector3D();
resultado.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
resultado.matriz[0][1] = this.matriz[0][2]*v.matriz[0][0]-this.matriz[0][0]*v.matriz[0][2];
resultado.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return resultado;
}

public static void main(String args[]){
Vector3D v1 = new Vector3D(-1,1,-1);
Vector3D v2 = new Vector3D(0,2,0);
System.out.println(v1+"\n"+v2);
System.out.println("LA COORDENADA EN X ES: "+v1.coordenadaX);
System.out.println("\nLA SUMA DE LOS VECTORES ES: "+(v1.suma(v2)));
System.out.println("\nLA MAGNITUD DEL VECTOR ES: "+v1.magnitud());
System.out.println("\nLA MAGNITUD DEL VECTOR ES: "+v1.magnitud1());
System.out.println("\nLA MAGNITUD DEL VECTOR ES: "+v1.magnitud2());
System.out.println("\nEL VECTOR UNITARIO ES: "+v1.unitario());
System.out.println("\nEL PRODUCTO ESCALAR ENTRE LOS DOS VECTORES ES: "+v1.productoEscalar(v2));
System.out.println("\nEL PRODUCTO CRUZ ENTRE LOS DOS VECTORES ES: "+v1.productoCruz(v2));
}
}

RESULTADOS OBTENIDOS
[
-1.0 1.0 -1.0
]

[
0.0 2.0 0.0
]
LA COORDENADA EN X ES: -1.0

LA SUMA DE LOS VECTORES ES:
[
-1.0 3.0 -1.0
]

LA MAGNITUD DEL VECTOR ES: 1.7320508075688772

LA MAGNITUD DEL VECTOR ES: 1.7320508075688772

LA MAGNITUD DEL VECTOR ES: 1.7320508075688772

EL VECTOR UNITARIO ES:
[
-0.5773502691896258 0.5773502691896258 -0.5773502691896258
]

EL PRODUCTO ESCALAR ENTRE LOS DOS VECTORES ES: 2.0

EL PRODUCTO CRUZ ENTRE LOS DOS VECTORES ES:
[
2.0 0.0 -2.0
]