Guia de Ejercicios No 2
LAB121 Laboratorio de INF121
Tema: Programacion Orientada a Objetos
9 de septiembre de 2014
Hola después de mucho tiempo estoy volviendo a publicar algo decente, es la practica que les dieron a los q estan en LAB 121, xD espero q este bien :D ;)
public class Punto { protected int a1; protected int a2; protected int a3; //constructores public Punto() { a1=1; a2=1; a3=1; } public Punto(int a,int b, int z){ this.a1=a; this.a2=b; this.a3=z; } public int getA1() { return a1; } public int getA2() { return a2; } public int getA3() { return a3; } public Punto suma(Punto b){ Punto pun = new Punto(a1+b.a1, a2+b.a2, a3+b.a3); return pun; //retorna este punto } //fin constructores public Punto resta(Punto b) { Punto pun = new Punto(a1-b.a1, a2-b.a2, a3-b.a3); return pun; } public int prod_interno(Punto b) { return (a1*b.a1 + a2*b.a2 + a3*b.a3); } public double norma(){ return (double)Math.sqrt(a1*a1 + a2*a2 + a3*a3); } public double cruz(Punto b){ return (double)Math.abs((a2*b.getA3() - a3*b.getA2()) - (a3*b.getA1() - a1*b.getA3()) + (a1*b.getA2() - a2*b.getA1())); } public void mostrar(){ System.out.println(a1+ " "+a2+" "+a3); } }AlgebraVectorial.java
public class AlgebraVectorial { Punto p; public AlgebraVectorial() { this.p.a1=1; this.p.a2=1; this.p.a3=1; } public AlgebraVectorial(Punto a) { this.p = a; } // a) public void Perpendicular(Punto b) { Punto x = p.suma(b); Punto y = p.resta(b); if (Math.abs(x.getA1()) == Math.abs(y.getA1()) && Math.abs(x.getA2()) == Math.abs(y.getA2()) && Math.abs(x.getA3()) == Math.abs(y.getA3())) { System.out.println("El punto a es ortogonal o perpendicular a b"); } else { System.out.println("El punto a no ortogonal o perpendicular a b"); } } // b) public void Perpendicular(Punto a, Punto b, Punto c, Punto d) { Punto x = a.resta(b); Punto y = b.resta(a); if (Math.abs(x.getA1()) == Math.abs(y.getA1()) && Math.abs(x.getA2()) == Math.abs(y.getA2()) && Math.abs(x.getA3()) == Math.abs(y.getA3())) { System.out.println("El vector a mutuamente ortogonal a b"); } else { System.out.println("El vector a no es mutuamente ortogonal a b"); } } // c) public void Perpendicular(Punto b, int cero) { cero=0; if(p.prod_interno(b) == cero){ System.out.println("Vector es ortogonal a b"); }else{ System.out.println("Vector no es ortogonal a b"); } } // d) public void Perpendicular(Punto a, Punto b) { Punto x=p.suma(a); double nx = x.norma(); if(nx == (double)(a.norma() + b.norma())){ System.out.println("Vector a es ortogonal a b"); }else{ System.out.println("Vector a no es ortogonal a b"); } } // e) public void Paralela(Punto b) { //zzz } // f) public void Paralela(Punto a, Punto b) { if(a.cruz(b) == (double)0.0 ){ System.out.println("AxB vector a es paralela a b "+a.cruz(b)); }else{ System.out.println("AxB vector a no es paralela a b "+ a.cruz(b)); } } // g public void proy_de_a_en_b(Punto b) { System.out.println("Proyeccion es "); double numero = (double)p.prod_interno(b); double nomr=b.norma()*b.norma(); System.out.println(" a1 = "+numero*b.getA1()+"/"+nomr); System.out.println(" a2 = "+numero*b.getA2()+"/"+nomr); System.out.println(" a3 = "+numero*b.getA3()+"/"+nomr); } // h) public void Componente_de_a_en_b(Punto a, Punto b) { System.out.println("Comp de a en direccion b "); System.out.println((double)Math.abs(a.prod_interno(b))+"/"+b.norma()); } }Main.java
public class Main { /** * @author sam starsaminf@gmail.com */ public static void main(String[] args) { Punto a=new Punto(1,-3,-2); Punto b=new Punto(-3,-4,0); AlgebraVectorial alg=new AlgebraVectorial(a); //a alg.Perpendicular(b); //b alg.Perpendicular(a,b,b,a); //c alg.Perpendicular(b, 0); //d alg.Perpendicular(a,b); //e alg.Paralela(b); //f alg.Paralela(a,b); //g alg.proy_de_a_en_b(b); //h alg.Componente_de_a_en_b(a, b); } }
No hay comentarios:
Publicar un comentario