Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

4/11/09

Clase Numero Complejo - Suma, Resta, Producto

JAN29


El término número complejo describe la suma de un número real y un número imaginario (que es un múltiplo real de la unidad imaginaria, que se indica con la letra i).

En matemáticas, los números constituyen un cuerpo y, en general, se consideran como puntos del plano: el plano complejo. La propiedad más importante que caracteriza a los números complejos es el teorema fundamental del álgebra, que afirma que cualquier ecuación algebraica de grado n tiene exactamente n soluciones complejas.

Un número complejo se representa en forma binomial como:
    z = a + bi
donde:
  • "a" es la parte real
  • "b" es la parte imaginaria

Suma.

La suma z + w de los números complejos z = a + b i, w = c + d i, es el número complejo

z + w = (a + b i) + (c + d i) = (a + c) + (b + d) i
ejemplo:
(4 + 3 i) + (5 + 9 i) = (4 + 5) + (3 + 9) i = 9 + 12 i

Resta.

La resta  z – w de los números complejos z = a + b i, w = c + d i, es la suma de z y del inverso aditivo de w

z - w = z + (-w) = (a + b i) + (-c - d i) = (a - c) + (b - d) i
ejemplo:
(9 - 5i) - (4 + 7i) = (9 - 4) + (+5 - 7)i = 5 - 2i.

Producto.
(a + bi ) (c + di ) = (ac - bd) + (ad + bc)i

ejemplo
                                   (2 + 3i)(4 + 7i)= 2*4 + 2*7i + 4*3i + 3*7*i2
                                                        = 8 + 14i + 12i + 21*(-1)
                                                        = (8 - 21) + (14 + 12)i
                                                        = -13 + 26i.

Recordando las reglas para operar con numeros complejos, diseñaremos nuestra clase "Numero Complejo".


public class Complejo { 
    private int real; 
    private int img; 
 
    public Complejo (){ 
        real=0; 
        img=0; 
    } 
     
    public Complejo(double r, double i){ 
        real =(int) r; 
        img = (int)i; 
    } 
     
    public Complejo(int r, int i){ 
        real = r; 
        img = i; 
    } 
     
    public Complejo sumar(Complejo c){ 
/** 
     * Metodo que devuelve la suma de dos complejos 
     * @param  Un numero complejo c 
     * @return La suma de complejos en r 
     */ 
        Complejo r= new Complejo(); 
        r.setReal(real + c.getReal()); 
        r.setImg(img + c.getImg()); 
        return r; 
    } 
    public Complejo restar(Complejo c){ 
/** 
     * Metodo que devuelve la resta de dos complejos 
     * @param  El numero complejo c a restar 
     * @return La resta de complejos en r 
     */         
        Complejo r= new Complejo(); 
        r.setReal(real - c.getReal()); 
        r.setImg(img - c.getImg()); 
        return r; 
    } 
 
    public Complejo multiplicar(Complejo c){ 
/** 
     * Metodo que devuelve la multiplicacion de dos complejos 
     * @param  El numero complejo c a multiplicar 
     * @return La multiplicacion de complejos en r 
     */         
        Complejo r= new Complejo(); 
        r.setReal(real*c.getReal() - img*c.getImg()); 
        r.setImg(real*c.getImg() + img*c.getReal()); 
        return r; 
    } 
 
    public int getReal() { 
        return real; 
    } 
 
    public void setReal(int real) { 
        this.real = real; 
    } 
 
    public int getImg() { 
        return img; 
    } 
 
    public void setImg(int img) { 
        this.img = img; 
    } 
     
    public String getString(){ 
/** 
     * Metodo que devuelve el numero complejo en la forma a+bi   
     * @return Un string del complejo en el formato a+bi 
     */         
        if (this.img>=0) return " "+this.real+" + "+this.img+"i"; 
        else return " "+this.real+" "+this.img+"i"; 
    } 
     
} 



Explicacion:
Disponemos de dos variables "real" e "img"


de 3 constructores "complejo", uno sin atributos, un segundo que espera reales y que concertira a entero y finalmente un tercero que acepta valores enteros.


Las funciones SUMAR, RESTAR Y MULTIPLICAR.



Funciones para devolver y colocar variables en los objetos.


Una funcion "getstring" que nos sirve para devolver el resultado segun el formato de los numeros complejos (a+bi).

2 comentarios:

Madlander dijo...

Muy limpio su codigo ;) , un saludo!!

Anónimo dijo...

me marca un erro en if(this.img =>0) dice "cannot implicitly convert int to bool" , me podrias ayudar.? gracias

Post recomendado