jueves, 16 de febrero de 2012

ALGORITNO DE BRESENHAN 11/02/2012

Como insertar una imagen en HTML

En esta lección aprenderemos a insertar o colocar imágenes con código HTML, y también veremos como hacer que esa imagen tenga un enlace.
Llego el momento de insertar nuestra primera imágen con HTML, la etiqueta que sirve para agregar imagenes es <img> pero al igual que la etiqueta para crear enlaces, necesitamos agregar un atributo para especificar la ubicación, en este caso, de la imágen.
Para insertar una imágen lo haremos así:
<img src="ubicación" alt="descripción" />


"alt" sirve para agregar una descripción a la imágen, que aparecerá cuando pasemos el mouse por encima de ella.

Si cambiamos a la pestaña "Vista preliminar" veremos el resultado final:
Ahí vemos como queda en nuestra pagina de ejemplo que venimos creando a lo largo de todas las lecciones anteriores. Pero ¿que pasa si queremos crear un enlace en la imagen para que cuando hagamos clic en ella nos abra otra dirección? eso es lo que voy a explicar ahora :)
Crear enlace en imágen
Para crear un enlace en la imágen para que al hacer clic en ella nos abra otra pagina, solo debemos poner la etiqueta <img> dentro de <a> y </a>, de esta forma:
<a href="direccion" title="descripcion"><img src="ubicacion-de-la-imagen" alt="descripcion" /></a>


Bastante simple ¿no? ahora comenzaremos a ver estilos CSS, una tecnología que te ahorrara mucho trabajo, ya verás :)

 QUE ES ALGORITNO DE BRESENHAN

El algoritmo de Bresenham es un ALGORITMO creado para dibujar rectas en los dispositivos de gráficos RASTRERIZADO, como por ejemplo UN MONITOR  DE ORDENADOR, que determina qué PIXEL se rellenarán, en función de la inclinación del ángulo de la recta a dibujar.


ODGETIVO:
Generar la rasterizacion de linesas para dibujar graficos, que puedan generar rastreo de curvas circunferencias que muetran pociones de rastreo vertical y horizontal 

DESCRIPCION

Es un algoritmo preciso para la generación de lineas de ratreo que convierte mediante rastreo las líneas al utilizar solo cálculos incrementales con enteros que se pueden adaptar para desplegar circunferencias y curvas. Los ejes verticales muestran las posiciones de rastreo y los ejes horizontales identifican columnas de pixel.

Algoritmo


Si 0<|m|<1
  *Se capturan los extremos de la línea y se almacena el extremo izquierdo en (x0,y0).
  *Se carga (x0,y0) en el bufer de estructura (se traza el primer punto)
  *Se calculan las constantes Δx,Δy, 2Δy y 2Δy-Δx y se obtiene el valor inicial para el 
    parametro de decisión p0=2Δy-Δx.
  Para j=0 mientras j<Δx
  *En cada xk a lo largo de la línea, que inicia en k=0 se efectúa la prueba siguiente:
      Si pk<0
          *Trazamos (xk+1,yk). 
          *Asignamos pk+1= pk+2Δy.
      Sino
          *Trazamos (xk+1,yk+1). 
          *Asignamos pk+1= pk+2Δy-2Δx.
  Fin Para
Si |m|>1
   *Recorremos la dirección en pasos unitarios y calculamos los valores sucesivos    
     de x que se aproximen más a la trayectoria de la línea.


PARA VER MAS


MANUAL DE  OPENGL 
  • Introducción
Este tutorial contiene algunas explicaciones que dan respuestas a preguntas como ¿Que es OpenGL? ¿Para que se puede utilizar? ¿Que estructura tiene? ¿Donde puedo bajarme las librerías?. Y tambien contiene un poco de historia de como apareció esta magnífica librería. Más que tutorial podríamos clasificarlo como FAQ sobre OpenGL.






  • Un poco de historia
OpenGL es un estandar sobre gráficos por computadora. Hoy día es uno de los estandares gráficos más conocido del mundo. En 1982 nació en la Universidad de Standford el concepto de "graphics machine" y este fué utilizado por Silicon Graphics Corporation en su propia estación Silicon IRIS para crear un renderizador. Así nacio la librería IRIS GL. A raiz de esto, allá por 1992 muchas empresas del hardware y software se pusieron deacuerdo para desarrollar conjuntamente una librería gráfica libre: OpenGL. Entre estas empresas destacaban Silicon Graphics Inc., Microsoft, IBM Corporation, Sun Microsystems, Digital Equipment Corporation (DEC), Hewlett-Packard Corporation, Intel e Intergraph Corporation. Así nacio OpenGL (Open).
¿Que es opengl ?
Desde el punto de vista del programador OpenGL es una API para interactuar con dispositivos gráficos y aceleradoras 3D. Contiene cerca de 150 comandos que nos ayudan a definir objetos, aplicar transformaciones a esos objetos, cambiar sus propiedades (color, textura, luz...), posición de la cámara... entre otros. Tambien hay que tener claro que OpenGL es una librería gráfica, no posee funciones para el control de Audio, Red o Control de Entrada.
 gráfica,


LA FUNCION DE POLIGONO UTILZANDO LINEREL

void carro(int x, int y, int size){
  moveto(x-3*size,y-size);
  linerel(size,0);
  linerel(size,-size);
  linerel(2*size,0);
  linerel(size,size);
  linerel(size,0);
  linerel(0,size);
  linerel(-6*size,0);
  linerel(0,-size);
  circle(x-2*size,y+size/2,2*size/3);
  circle(x+2*size,y+size/2,2*size/3);
}



LA FUNCION DE POLIGONO UTILIZANDO  LINETO

void dibujaAnd(int x, int y, int size){
   int x1 = x-2*size;
   int y1 = y-2*size;
   line(x1,y1,x1,y1+4*size);
   line(x1,y1,x1+4*size,y1);
   line(x1,y1+4*size,x1+4*size,y1+4*size);
   line(x+4*size,y,x+5*size,y);
   line(x-2*size,y+size,x-3*size,y+size);
   line(x-2*size,y-size,x-3*size,y-size);
   arc(x+2*size,y,0,90,2*size);
   arc(x+2*size,y,270,360,2*size);
}

GENERAR LINEA DE CODIGO  DE UN 
void CircleSimple(Graphics g, int xc, int yc, int r){
  int x,y;
  double yr;
  x = 0;
  y = r;
  yr = r;
 
PlotPoint(x,y);
/* se
cicla hasta trazar todo un octante */
  while (x < yr){
    x = x + 1;
    yr =
Math.sqrt(r*r-x*x);
    y = (
int)Math.round(yr);
   
PlotPoint(x,y);
  }

GENERAR LINEA DE CODIGO DE  UN CIRCULO VASICO EN C#



Dibuja un círculo
void circle (int x, int y, int r); Dibuja un arco de circulo
Void arc (int x,int y,int stangle,int endangle,int radius ); Dibuja una elipse
void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);
Regresa las coordenadas del último arco dibujado
void getarccoords(struct arccoordstype *arccoords);
Estructura utilizada por getarccoords
struct arccoordstype { int x, y; int xstart, ystart, xend, yend; };

Desde el punto

domingo, 5 de febrero de 2012

QUE SON LAS PRIMITIVAS 04/02/2012

PRIMITIVAS DE SALIDA

QUE SON PRIMITVAS :
 son objetos gráficos que se generan sobre los objetos de salida. Estas compuestos de primitivas de salida. Una clasificación de estas pueden ser las siguientes:
Poli línea.
región rellena.
Texto.
imagen rasterisada
Estas primitivas graficas tienen sus atributos que son las características que afectan sus  apariencia.

Las primitivas gráficas pueden clasificarse en primitivas
– De Salida
– De Entrada
EL PUNTO

El punto es la primitiva básica de salida mas simple se especifica mediante sus coordenadas. Los distintos atributos que puede tener un punto don:
•su color.
• su tamaño.
Ejemplo
Dibuja punto(Glint x, Glint Y)
            Glbeng(GL_point);
            Glvertex2i(x,y);
            Glend();
Poli línea

Es un segmento de recta y se especifica mediante dos puntos:
Inicial.
Final.
Cuando esta compuesta de varias líneas cada una de estas se denomina segmento. Dos segmentos adyacentes se unen en un vértice, las poli líneas se especifican mediante una secuencia de vértices.
Código de una poli línea



•(setq parte1_de_lista (list
            '(0 . "LWPOLYLINE")
            '(100 . "
AcDbEntity"); Marcador de subclase
            '(100 . "
AcDbPolyline"); Marcador de subclase
            '(8 . "EJE")
            (
cons 90 numero_vertices); variable obtenida anteriormente
            '(70 . 0);indica que es abierta
            '(38 . 0);elevación
          )
  )

Un atributo (o parámetro de atributo) es cualquier parámetro
que afecta la forma en que una primitiva es mostrada.


Los atributos básicos de los segmentos de línea son
• Tipo
• Ancho
• Color

ATRIBUTO  ANCHO
Generación de líneas anchas

       
 
        Opciones de lápiz o pincel
                 Patrones de lápiz y pincel
      para mostrar líneas
  
ATRIBUTO TIPO

Genera una pantalla para ejecutar algo generando unas líneas con el siguiente código:
glEnalde(G_LINE_STIPLLE);
//linea con 3 estilos diferentes
Alt=125.0;
Gllinestilpple(1,0x0101);
Dibujar linea(50.0,alt,150.0,alt);
Gllineastipple(1;0x00ff);
Dibujarlinea(150.0,alt,250.0,alt);
Gllineastipple(1,0x1c47);
Dibujarlinea(250.0,alt,350.0,alt);


MAS INFORMACION
http://cs.uns.edu.ar/cg/clasespdf/2-Primitivas.pdf