Nombre: Carolina Navarrete
Applet Java
Un applet Java es un componente de una aplicación que se ejecuta en el lenguaje de programación Java. Los applets corren en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun, 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.
Una de sus características podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles, a menos que se de los permisos necesarios en el sistema; la desventaja es que la entrega de permisos es demorosa para el usuario común, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fácil de ejecutar aplicaciones desde el navegador web.
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, un applet se puede cargar y ejecutar desde cualquier explorador que soporte JAVA (Netscape, Internet Explorer de Windows, Mozilla Firefox...etc).
CICLO DE VIDA
Para seguir el ciclo de vida de un applet, supondremos que estamos ejecutando en un navegador el applet básico, a través de la página HTML que lo carga y corre.
Lo primero que aparece son "initializing... starting...", como resultado de la carga del applet en el navegador. Una vez cargado, lo que sucede es:
1. Se crea una instancia de la clase que controla al applet
2. El applet se inicializa a si mismo
3. Comienza la ejecución del applet
4. Cuando se abandona la página, por ejemplo, para ir a la siguiente, el applet detiene la ejecución. Cuando se regresa a la página que contiene el applet, se reanuda la ejecución.
El applet libera todos los recursos que hubiese acaparado, detiene su ejecución y ejecuta su finalizador para realizar un proceso de limpieza final de sus trazas. Después de esto, el applet se descarga de la memoria y vuelve a cargarse volviendo a comenzar su inicialización.
Finalmente, cuando se concluye la ejecución del navegador, o de la aplicación que está visualizando el applet, se detiene la ejecución del applet y se libera toda la memoria y recursos ocupados por el applet antes de salir del navegador.
Bibliografia: http://es.wikipedia.org/wiki/Applet
http://es.wikipedia.org/wiki/Applet_Java
http://www.cica.es/formacion/JavaTut/Cap2/vida.html
martes, 24 de noviembre de 2009
domingo, 22 de noviembre de 2009
MOVIMIENTO RECTILINEO UNIFORMEMENTE VARIADO
Nombre: Carolina Navarrete
CLASE MATRIZ
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){
}
//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
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 VECTOR3D
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 Matriz 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 Matriz 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 Matriz productoVectorEscalar(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 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+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
CLASE MOVIMIENTO RECTILINEO UNIFORMEMENTE VARIADO
public class MRUV extends Vector3D{
Matriz posicion;
Matriz velocidad inicial;
Matriz aceleracion;
Matriz desplazamiento;
Matriz velocidad final;
public MRUV(){
}
public MRUV (Vector3D pos, Vector3D vel0, Vector3D ace, Vector3D des){
posicion = pos;
velocidad inicial = vel0;
aceleracion = ace;
desplazamiento = des;
}
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)));
}
public void calcularVelocidad(Vector3D vel0, double t, Vector3D ace){
velocidad final = vel0.suma(ace.productoEscalarVector(t));
}
public void calcularDesplazamiento(Vector3D vel0, double t, Vector3D ace){
desplazamiento = (vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t, 2))).productoEscalarVector(1/2));
}
public static void main(String args[]){
MRUV m = new MRUV();
Vector3D r0 = new Vector3D (1,0,-1);
Vector3D vel0 = new Vector3D (0,8,0);
Vector3D ace = new Vector3D (-2,0,6);
double t = 4;
System.out.println("posicion a t = 4s rO = i-k v0 = 8j a = -2i+6k es: \n" +m.calcularPosicion(r0, vel0, ace, t));
System.out.println("velocidad a t = 4s v0 = 8j a = -2i+6k ES: \n" +m.calcularVelocidad(vel0, t, ace));
System.out.println("desplazamiento a t = 4s v0 = 8j a = -2i+6k es: \n" +m.calcularDesplazamiento(vel0, t, ace));
}
}
CLASE MATRIZ
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){
}
//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
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 VECTOR3D
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 Matriz 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 Matriz 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 Matriz productoVectorEscalar(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 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+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
CLASE MOVIMIENTO RECTILINEO UNIFORMEMENTE VARIADO
public class MRUV extends Vector3D{
Matriz posicion;
Matriz velocidad inicial;
Matriz aceleracion;
Matriz desplazamiento;
Matriz velocidad final;
public MRUV(){
}
public MRUV (Vector3D pos, Vector3D vel0, Vector3D ace, Vector3D des){
posicion = pos;
velocidad inicial = vel0;
aceleracion = ace;
desplazamiento = des;
}
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)));
}
public void calcularVelocidad(Vector3D vel0, double t, Vector3D ace){
velocidad final = vel0.suma(ace.productoEscalarVector(t));
}
public void calcularDesplazamiento(Vector3D vel0, double t, Vector3D ace){
desplazamiento = (vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t, 2))).productoEscalarVector(1/2));
}
public static void main(String args[]){
MRUV m = new MRUV();
Vector3D r0 = new Vector3D (1,0,-1);
Vector3D vel0 = new Vector3D (0,8,0);
Vector3D ace = new Vector3D (-2,0,6);
double t = 4;
System.out.println("posicion a t = 4s rO = i-k v0 = 8j a = -2i+6k es: \n" +m.calcularPosicion(r0, vel0, ace, t));
System.out.println("velocidad a t = 4s v0 = 8j a = -2i+6k ES: \n" +m.calcularVelocidad(vel0, t, ace));
System.out.println("desplazamiento a t = 4s v0 = 8j a = -2i+6k es: \n" +m.calcularDesplazamiento(vel0, t, ace));
}
}
MOVIMIENTO RECTILINEO UNIFORME
Nombre: Carolina Navarrete
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 VECTOR3D
public class Vector3D extends Matriz {
private static Object v;
double coorX;
double coorY;
double coorZ;
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;
coorX = x;
coorY = y;
coorZ = z;
}
public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}
public double magnitud1(){
double resultado;
resultado = this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
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.magnitud();
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 double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;
return resultado;
}
public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();
productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}
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+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
CLASE MOVIMIENTO RECTILINERO UNIFORME
public class MovRecUni {
Matriz posicion;
Matriz velocidad;
Matriz aceleracion;
public MovRecUni(){
}
public MovRecUni(Vector3D pos, Vector3D velo, Vector3D ace){
posicion = pos;
velocidad = velo;
aceleracion = ace;
}
public void calculaPosición(Vector3D r0, Vector3D vel,double t){
posicion = r0.suma(vel.productoVectorEscalar(t));
}
public void calculaVelocidad(Vector3D vel, double t){
velocidad = vel;
}
public void calculaAceleracion(double t){
Vector3D a = new Vector3D();
aceleracion = a;
}
public static void main(String args[]){
MovRecUni m = new MovRecUni();
Vector3D r0 = new Vector3D(1,0,-1);
Vector3D v = new Vector3D(0,5,0);
double t = 4;
m.calculaPosición(r0, v, t);
m.calculaVelocidad(v, t);
m.calculaAceleracion(t);
System.out.println("Posicion a los 2s para r0 = [i-k] y v0 =[5j] )\n
" +m.posicion+"\nvelocidad a t = 2s\n"+m.velocidad+"\n
aceleracion\n"+m.aceleracion );
}
}
RESULTADOS:
Posicion a los 4s para r0 = [i-k] y v0 =[5j] )
[1.0 10.0 -1.0 ]
velocidad a t = 2s
[0.0 5.0 0.0 ]
aceleracion
[0.0 0.0 0.0]
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 VECTOR3D
public class Vector3D extends Matriz {
private static Object v;
double coorX;
double coorY;
double coorZ;
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;
coorX = x;
coorY = y;
coorZ = z;
}
public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}
public double magnitud1(){
double resultado;
resultado = this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
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.magnitud();
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 double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;
return resultado;
}
public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();
productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}
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+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
CLASE MOVIMIENTO RECTILINERO UNIFORME
public class MovRecUni {
Matriz posicion;
Matriz velocidad;
Matriz aceleracion;
public MovRecUni(){
}
public MovRecUni(Vector3D pos, Vector3D velo, Vector3D ace){
posicion = pos;
velocidad = velo;
aceleracion = ace;
}
public void calculaPosición(Vector3D r0, Vector3D vel,double t){
posicion = r0.suma(vel.productoVectorEscalar(t));
}
public void calculaVelocidad(Vector3D vel, double t){
velocidad = vel;
}
public void calculaAceleracion(double t){
Vector3D a = new Vector3D();
aceleracion = a;
}
public static void main(String args[]){
MovRecUni m = new MovRecUni();
Vector3D r0 = new Vector3D(1,0,-1);
Vector3D v = new Vector3D(0,5,0);
double t = 4;
m.calculaPosición(r0, v, t);
m.calculaVelocidad(v, t);
m.calculaAceleracion(t);
System.out.println("Posicion a los 2s para r0 = [i-k] y v0 =[5j] )\n
" +m.posicion+"\nvelocidad a t = 2s\n"+m.velocidad+"\n
aceleracion\n"+m.aceleracion );
}
}
RESULTADOS:
Posicion a los 4s para r0 = [i-k] y v0 =[5j] )
[1.0 10.0 -1.0 ]
velocidad a t = 2s
[0.0 5.0 0.0 ]
aceleracion
[0.0 0.0 0.0]
sábado, 14 de noviembre de 2009
Vector unitario, Producto escalar, Producto cruz
Nombre: Carolina Navarrete
Vector unitario, Producto Escalar,Producto
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;
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
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 {
private static Object v;
double coorX;
double coorY;
double coorZ;
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;
coorX = x;
coorY = y;
coorZ = z;
}
public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}
public double magnitud1(){
double resultado;
resultado =this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
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.magnitud();
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 double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;
return resultado;
}
public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();
productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}
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+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
Resultados :
Vector 1: [-1.0 1.0 -1.0 ]
Vector 2: [0.0 2.0 0.0 ]
suma
[-1.0 3.0 -1.0 ]
Coordenada x -1.0
1.7320508075688772
1.7320508075688772
Vector Unitario [-0.5773502691896258 0.5773502691896258 -0.5773502691896258 ]
Magnitud 1.0
Producto escalar 2.0
Producto cruz
[2.0 0.0 -2.0 ]
Vector unitario, Producto Escalar,Producto
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;
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
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 {
private static Object v;
double coorX;
double coorY;
double coorZ;
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;
coorX = x;
coorY = y;
coorZ = z;
}
public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}
public double magnitud1(){
double resultado;
resultado =this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
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.magnitud();
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 double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;
return resultado;
}
public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();
productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}
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+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
Resultados :
Vector 1: [-1.0 1.0 -1.0 ]
Vector 2: [0.0 2.0 0.0 ]
suma
[-1.0 3.0 -1.0 ]
Coordenada x -1.0
1.7320508075688772
1.7320508075688772
Vector Unitario [-0.5773502691896258 0.5773502691896258 -0.5773502691896258 ]
Magnitud 1.0
Producto escalar 2.0
Producto cruz
[2.0 0.0 -2.0 ]
Suscribirse a:
Entradas (Atom)