Tic 2

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Tic 2 as PDF for free.

More details

  • Words: 12,149
  • Pages: 31
Programas informáticos 

Software

Los programas informáticos o, simplemente, el software es un término general utilizado para describir una colección de programas de computación, procedimientos y documentación que realizar algunas tareas en un sistema informático. El término incluye: • •

• • •



Software de aplicaciones tales como procesadores de texto que realizan tareas productivas para los usuarios. Firmware que es el software programado residente programable eléctricamente a dispositivos de memoria a bordo de mainboards u otros tipos de hardware integrado transportistas. Middleware que controla y coordina los sistemas distribuidos. Software de sistema, tales como sistemas operativos, que con la interfaz de hardware para prestar los servicios necesarios para la aplicación de software. Pruebas de software es un dominio independiente de desarrollo y la programación. Se compone de diferentes métodos de prueba y declare un producto de software apropiado antes de que pueda ser puesto en marcha, ya sea para su uso por un individuo o un grupo. Muchas pruebas de funcionalidad, rendimiento y apariencia moderna son realizadas por evaluadores con diferentes herramientas como QTP, corredor de carga, etc Negro cuadro de pruebas para editar una lista de verificación de requisitos contra el código desarrollado. ISTQB es una certificación de que está en la demanda de ingenieros que quieren seguir una carrera en la prueba. Testware que es un término o plazo de contenedores de todos los servicios públicos y la aplicación de software que sirven en una combinación de pruebas del paquete de software, pero no necesariamente opcionalmente pueden contribuir al funcionamiento fines. Como tal, testware no es permanente sino que se limita a la configuración de un entorno de trabajo para la aplicación de software o subconjuntos del mismo.

Software incluye sitios web, programas, juegos de vídeo, etc que están codificados por los lenguajes de programación como C, C + +, etc "Software" a veces se utiliza en un contexto más amplio en el sentido de algo que no es de hardware, sino que se utiliza con hardware, tales como películas, cintas y grabaciones.

1

o Tipos de software • • • • • •

Software libre Freeware Software de código abierto Software propietario Software científico Shareware 

Software libre o software libre: es software que puede ser utilizado, estudiado, modificado y sin restricciones, y que puede ser copiado y redistribuido con modificaciones o sin modificaciones, ya sea sin restricciones, o con un mínimo de restricciones sólo para garantizar que los destinatarios puedan seguir también hacer estas cosas y para evitar que los consumidores se enfrentan los fabricantes de hardware de impedir a sus usuarios las modificaciones de hardware. El software libre está disponible gratuitamente (sin cargo) en la mayoría de los casos.

En la práctica, para el software que se distribuye como software libre, el formato legible por humanos del programa (el código fuente) debe ser puesta a disposición del beneficiario junto con una notificación de la concesión de permisos por encima. En dichos avisos o bien es una "licencia de software libre", o un aviso de que el código fuente se libera en el dominio público. El movimiento de software libre fue concebido en 1983 por Richard Stallman para satisfacer la necesidad y de dar el beneficio de "la libertad del software" para los usuarios de computadoras. La Free Software Foundation fue fundada en 1985 para proporcionar la estructura orgánica que prevé correctamente Stallman sería necesario para hacer avanzar sus ideas de Software Libre. Software libre, que puede o no ser distribuidos gratuitamente, es distinto de la "libre" que, por definición, no requiere el pago por uso. Los autores o titulares de derechos de autor de los software suelen retener todos los demás derechos en el software, los usuarios de los software, en general, no puede estudiar, modificar o redistribuirlo. [3] [4] Dado que el software libre puede ser redistribuido libremente, en general, disponible a bajo costo o sin costo alguno. Modelos de negocio de software libre se basan generalmente en el valor añadido, tales como aplicaciones, la asistencia, formación, personalización, integración, o la certificación. Al mismo tiempo, algunos modelos de negocios que trabajan con software propietario no son compatibles con el software libre, como los que dependen de un usuario para el pago de una licencia legal para utilizar un producto de software. 

Freeware: (de "libre" + "software") es equipo de software que está disponible para su uso sin costo o por una cuota opcional. [1] es diferente del Freeware del shareware, el cual obliga al usuario

2









a pagar (por ejemplo, después de algún período de prueba o por funcionalidad adicional). Software de fuente abierta: (OSS) se define como los programas informáticos para el cual el código fuente y otros derechos normalmente reservado para los derechos de autor previstos en los titulares de un software de licencia que cumpla con la definición de código abierto o que está en el dominio público. Esto permite a los usuarios a utilizar, modificar, y mejorar el software, y redistribuirlo en formas modificadas o sin modificar. Es muy a menudo desarrollado en público, colaboración. Software de código abierto es el ejemplo más destacado de código abierto de desarrollo y, a menudo, en comparación con el contenido generado por el usuario. El software propietario: es software que es la propiedad legal de una de las partes. Los términos de uso de otras partes se define por contratos o acuerdos de licencia. Estos términos pueden incluir diversos privilegios para compartir, modificar, disimular, y utilizar el software y su código. Software científico:Un software o programa que se llama científico, si el tema que aborda es científica. Incluso si profundo conocimiento es necesario para la creación de un software, esto solo hace que sea no necesariamente científico. Incluso los gráficos de entretenimiento programas pueden necesitar bastante no trivial geometría algebraica (un objeto de la más abstracta de matemáticas), pero el software de entretenimiento en sí rara vez es científica.

Shareware: El término shareware, popularizado por Bob Wallace [1], se refiere a derechos de autor comerciales de software que es distribuido sin el pago a título de prueba y está limitada por cualquier combinación de funcionalidad, disponibilidad o conveniencia. Shareware menudo se ofrece como una descarga de un Internet sitio web o como un disco compacto incluido en un periódico como un diario o revista. El objetivo del shareware es dar a los compradores la oportunidad de utilizar el programa y juzgar su utilidad antes de comprar una licencia para la versión completa del software.

Shareware suele ofrecerse como una versión de prueba con algunas funciones disponibles únicamente después de la licencia se compra, o como una versión completa, pero por un período de prueba. Una vez que el período de prueba ha pasado el programa no se ejecutará hasta que se compra una licencia. Shareware es a menudo sin el apoyo ofrecido, las actualizaciones, o menús de ayuda, que sólo estén disponibles con la compra de una licencia. Las palabras "prueba gratuita", "versión de prueba" son indicativos de shareware. El término se utiliza de shareware en contraste con, al por menor del software que se refiere a software comercial disponible sólo con la compra de una licencia que no puede ser copiado por los demás, y programas informáticos de dominio público que se refiere a los programas informáticos no protegidos por derechos de autor, y freeware que se refiere a derechos de autor software para que el autor no solicita el pago (aunque se puede solicitar una donación). 3

Descripción Los programas informáticos se consideran a menudo como algo pero de hardware, lo que significa que el "duro" son las partes que son tangibles, mientras que el "suave" es la parte inmaterial de objetos en el interior del ordenador. Software abarca una amplia gama de productos y tecnologías desarrolladas utilizando diferentes técnicas como los lenguajes de programación, lenguajes de scripting o incluso microcódigo o una FPGA estado. Los tipos de software incluyen páginas web desarrollado por tecnologías como HTML, PHP, Perl, JSP, ASP.NET, XML, y aplicaciones de escritorio como Microsoft Word, OpenOffice desarrollado por tecnologías como C, C + +, Java, C #, etc software funciona normalmente subyacente en un software de sistemas operativos tales como el Microsoft Windows o Linux. También incluye software de juegos de vídeo y la lógica de los modernos sistemas de dispositivos de consumo tales como automóviles, televisores, tostadoras, etc

Relación con el equipo Equipo de software se llama así para distinguirla de los equipos informáticos, que abarca la interconexión física y los dispositivos necesarios para almacenar y ejecutar (o ejecutar) el software. En el nivel más bajo, el software se compone de un lenguaje máquina específico para un procesador individual. Un lenguaje de máquina se compone de grupos de valores binarios que significa procesador de instrucciones que cambiar el estado de la computadora de su anterior estado. El software es una secuencia ordenada de instrucciones para cambiar el estado del equipo en una secuencia. Por lo general, es escrito en alto nivel, lenguajes de programación que son más fáciles y más eficaces para los seres humanos a usar (más cerca de lenguaje natural) que en lenguaje de máquina. Idiomas de alto nivel son compilados o interpretados en lenguaje de máquina de código objeto. El software también puede ser escrito en un lenguaje ensamblador, en esencia, una representación de un mnemotécnico lenguaje de máquina en lenguaje natural utilizando un alfabeto. Lenguaje ensamblador debe ser ensamblado en el código objeto a través de un ensamblador. El término "software" fue utilizado por primera vez en este sentido por John W. Tukey en 1958. En ciencias de la computación y la ingeniería de software, programas informáticos es todo los programas de ordenador. La teoría de que es la base para la mayoría de software moderno fue propuesta por primera vez por Alan Turing en su ensayo de 1935 los números computables, con una solicitud a la Entscheidungsproblem.

Tipos de software

4

Una capa que muestra que la estructura del sistema operativo se encuentra en general, utilizan sistemas de software en equipos de sobremesa Práctica sistemas división de sistemas de software en tres grandes categorías: un sistema de software, software de programación y software de aplicación, aunque la distinción es arbitraria y, a menudo borrosa.

o El sistema de software Software de sistema de ayuda a ejecutar el equipo y sistema informático. Incluye: • • • • • •

controladores de dispositivo, sistemas operativos, servidores, servicios públicos, Faraware, sistemas de ventanas,

(estas cosas no tienen por qué ser distintos) El objetivo de los sistemas de software para descargar las aplicaciones de programación de los detalles del complejo equipo utilizado, incluyendo los accesorios, tales como los dispositivos de comunicaciones, impresoras, lectores, monitores, teclados, etc, y también a la partición de los recursos de la computadora como la memoria y el tiempo de procesador en un modo seguro y estable.

Programación de software Software de programación por lo general proporciona herramientas para ayudar a un programador por escrito los programas de ordenador, software y utilizando diferentes lenguajes de programación de un modo más conveniente. Las herramientas incluyen: • •

compiladores, depuradores,

5

• • •

intérpretes, enlaces, editores de texto,

Un entorno de desarrollo integrado (IDE) es una única solicitud que los intentos de gestionar todas estas funciones.

o Aplicación de software Software de aplicación permite a los usuarios finales a realizar uno o más específicos (que no están directamente relacionados con el equipo de desarrollo) tareas. Las aplicaciones típicas incluyen: • • • • • • •

automatización industrial, empresas de software, juegos de ordenador, telecomunicaciones (es decir, el Internet y todo lo que fluye en ella) bases de datos, software educativo, programas informáticos médicos,

Existe para el software de aplicación y ha afectado una gran variedad de temas.

Software de temas Arquitectura Véase también: Arquitectura de software A menudo, los usuarios vean las cosas de manera diferente a los programadores. Las personas que usan modernos ordenadores de propósito general (a diferencia de los sistemas integrados, equipos analógicos, los superordenadores, etc) suele ver tres capas de software de realización de una variedad de tareas: la plataforma, la aplicación y el software del usuario. •



Plataforma de software: Plataforma incluye el firmware, controladores de dispositivos, un sistema operativo, y suele ser una interfaz gráfica de usuario que, en total, permitirá a los usuarios interactuar con el ordenador y sus periféricos (equipos asociados). Plataforma de software a menudo viene incluido con el equipo. En un PC que suelen tener la capacidad de cambiar la plataforma de software. Software de aplicación: La aplicación de software o aplicaciones son las que la mayoría de la gente piensa en cuando piensan de los programas informáticos. Ejemplos típicos son las suites de oficina y videojuegos. Aplicación de software suele ser comprado por separado de hardware. A veces las solicitudes se incluye con el equipo, pero eso no cambia el hecho de que se ejecutan como aplicaciones independientes. Las aplicaciones son casi siempre independientes de los programas del sistema operativo, aunque a menudo son adaptados a plataformas específicas. La mayoría de los usuarios piensan de los 6



compiladores, bases de datos, y otros "del software del sistema" como aplicaciones. Escritos por el usuario de software: el desarrollo de usuario final sastres usuarios de los sistemas para cumplir las necesidades específicas. Software del usuario incluyen plantillas de hoja de cálculo, procesador de textos macros, simulaciones científicas, y guiones para gráficos y animaciones. Incluso filtros de correo electrónico son un tipo de software del usuario. Este software los usuarios crear y pasar por alto a menudo lo importante que es. Dependiendo de cómo el usuario competente escritas software ha sido integrado por defecto en la aplicación de paquetes, muchos usuarios pueden no ser conscientes de la distinción entre los embalajes de origen, y lo que ha sido añadido por los compañeros de trabajo.

o Documentación Artículo principal: Software de documentación La mayoría del software tiene la documentación del software de modo que el usuario final pueda entender el programa, lo que hace y cómo usarlo. Sin una clara documentación de software puede ser difícil de usar y sobre todo si se trata de una muy especializadas y relativamente complejos, como el software de Photoshop, Autocad, etc Documentación también puede existir, ya sea con el código como comentarios y / o como archivos separados, detallando cómo los programas de obras y pueden ser modificados.

o Biblioteca Artículo principal: Biblioteca de Software Un ejecutable es casi siempre no es suficientemente completa para la ejecución directa. Bibliotecas de software incluyen colecciones de funciones y la funcionalidad que puede ser embebido en otras aplicaciones. Sistemas operativos de software estándar incluyen muchas bibliotecas, y aplicaciones a menudo se distribuye con sus propias bibliotecas.

o Norma Artículo principal: software estándar Dado que el software puede ser diseñada utilizando diferentes lenguajes de programación y en diferentes sistemas operativos y entornos operativos, el software estándar es necesario para que pueda entender los diferentes programas informáticos y el intercambio de información entre sí. Por ejemplo, un correo electrónico enviado desde un Microsoft Outlook debe ser leído de Yahoo! Correo y viceversa.

o Ejecución Artículo principal: Ejecución (informática)

7

Programas de ordenador tiene que ser "cargados" en el equipo de almacenamiento (como un [disco duro], la memoria, o RAM). Una vez que ha cargado el software, el ordenador es capaz de ejecutar el software. Esto implica pasar de instalación de la aplicación de software, a través del software de sistema, al equipo que finalmente recibe la instrucción de código de máquina. Cada instrucción hace que el equipo para llevar a cabo una operación - movimiento de datos, la realización de un cálculo, o alterar el control de flujo de instrucciones. Circulación de datos es generalmente de un lugar a otro en la memoria. A veces se trata de mover datos entre memoria y registros que permiten alta velocidad de acceso a datos en la CPU. Traslado de datos, especialmente de grandes cantidades de ella, puede ser costoso. Por lo tanto, se trata de evitar a veces mediante el uso de "punteros" en lugar de datos. Los cálculos incluyen las operaciones simples tales como incrementar el valor de un elemento de dato variable. Los cálculos más complejos puede requerir muchas operaciones y elementos de datos en conjunto.

o Calidad y fiabilidad Artículo principal: Software de calidad, pruebas de software, y la fiabilidad del software Calidad del software es muy importante, especialmente para las comunicaciones y el software del sistema como Microsoft Office, Microsoft Windows, Linux, etc Si el software es defectuoso (errores), puede eliminar a una persona de trabajo, accidente de la computadora y hacer otras cosas inesperadas. Fallas y los errores son llamados "bugs". Muchos errores son descubiertos y eliminados (depurados)) a través de pruebas de software. Sin embargo, el software de prueba rara vez - si acaso - elimina todos los errores, algunos programadores dicen que "cada programa tiene por lo menos un error más" (Lubarsky de la Ley). Todas las grandes empresas de software, como Microsoft, Novell y Sun Microsystems, tienen sus propios departamentos de pruebas de software con el objetivo específico de una prueba. Software puede ser probado a través de la unidad de pruebas, pruebas de regresión y otros métodos, que se realizan manualmente, o más comúnmente, automáticamente, ya que la cantidad de código de la prueba puede ser muy amplio. Por ejemplo, la NASA ha extremadamente rigurosos procedimientos de prueba de software para su transbordador espacial y otros programas de software defectuoso puede porque el programa de choque y hacer que el vehículo no funcional, con grandes gastos.

o Licencia Artículo principal: la licencia de software El software de la licencia le da al usuario el derecho a utilizar el software con licencia en el medio ambiente. Algunos programas de software vienen con la licencia cuando se compran fuera de la plataforma, o una licencia OEM cuando incluidas con el hardware. Otro software viene con una licencia de software libre, la concesión al beneficiario el derecho a modificar y redistribuir el software. El software también puede ser en forma de freeware o shareware,. Véase también la licencia de gestión.

8

o Patentes Artículo principal: sobre las patentes de software y el debate sobre las patentes de software Software puede ser patentado, pero las patentes de software pueden ser objeto de controversia en la industria del software con muchas personas que tienen opiniones diferentes sobre el mismo. La controversia sobre las patentes de software es que un algoritmo o técnica que tiene el software no puede ser duplicado por otros y es considerado uno de propiedad intelectual y la infracción del derecho de autor, dependiendo de la gravedad. Algunas personas creen que las patentes de software dificultan el desarrollo de software, mientras que otros sostienen que las patentes de software proporcionan un incentivo importante para estimular la innovación de software.

o Ética y derechos Artículo principal: la ética de ordenador Hay más de un enfoque a la creación, la concesión de licencias, y la distribución de software. Por ejemplo, el software libre o el de código abierto produce la comunidad en virtud de la concesión de licencias de software que lo hace libre para la inspección de su código, la modificación de su código, y la distribución. Mientras que el software liberado bajo una licencia de código abierto (como la General Public License, o GPL para abreviar) se pueden vender por dinero, la distribución no se puede limitar de la misma manera que el software con derechos de autor y restricciones de patentes (utilizado por las empresas para exigir derechos de licencia). Mientras que algunos defensores del software libre el uso de lemas tales como "la información quiere ser libre", indicando que es fácil de copiar datos digitales y que las licencias (en vigor a través de leyes) no son naturales restricciones, otros creadores y usuarios de software de código abierto lo reconocen a ser un modelo entre muchos para la creación de software, la concesión de licencias y la distribución. Y las leyes son para poner en marcha el aparente propósito de aumentar la producción creativa, al permitir a los creadores a controlar y beneficiarse de manera más eficaz de su propiedad intelectual.

Diseño y aplicación Artículo principal: Desarrollo de software, de programación, y la ingeniería de software Diseño e implementación de un programa varía dependiendo de la complejidad del software. Por ejemplo, el diseño y la creación de Microsoft Word de software se llevará mucho más tiempo que el diseño y desarrollo de Bloc de notas de Microsoft, debido a la diferencia de funciones en cada uno de ellos. El software es diseñado y creado por lo general (código / escrito / programadas) en entornos de desarrollo integrado (IDE) como emacs, xemacs, Microsoft Visual 9

Studio y Eclipse que pueden simplificar el proceso y compilar el programa. Como se señala en otra sección, el software es creado por lo general en la parte superior de un programa existente y la interfaz de programación de aplicaciones (API) que proporciona el software subyacente, como GTK +, JavaBeans, Swing, etc Bibliotecas (API) se clasifican para fines diferentes. Por ejemplo JavaBeans biblioteca se utiliza para el diseño de las aplicaciones de empresa, Windows Forms biblioteca se utiliza para el diseño de interfaz gráfica de usuario (GUI) de aplicaciones como Microsoft Word y Windows Communication Foundation se utiliza para el diseño de servicios web. También hay que subyacen los conceptos de programación de computadoras como quicksort, HashTable, variedad, árbol binario que puede ser útil a la creación de un software. Cuando un programa está diseñado, se basa en la API. Por ejemplo, si un usuario está diseñando una aplicación de escritorio de Microsoft Windows, el que pueda utilizar el. NET biblioteca de Windows Forms para el diseño y la aplicación de escritorio llamada como su API Form1.Close () y Form1.Show () para cerrar o abrir la aplicación y escribir las operaciones a sí mismo que necesita tener. Sin estas API, el programador necesita escribir estas API a sí mismo. Empresas como Sun Microsystems, Novell y Microsoft proporcionan sus propias APIs para que muchas aplicaciones se escriben usando sus librerías de software que suelen tener numerosos APIs en ellos. Software ha económicos especiales características que hacen de su diseño, creación y distribución diferente de la mayoría de los otros bienes económicos. Un título de una persona que crea un software que se llama un programador, ingeniero informático, desarrollador de software y código mono que todos tienen esencialmente el mismo significado.

Industria y las organizaciones Artículo principal: Industria de software Software tiene su propio nicho de la industria que se llama la industria de software compuesto por diferentes entidades y los pueblos que producen el software y, como resultado, hay muchas empresas de software y programadores en el mundo. Dado que el software se utiliza cada vez más en diferentes áreas como en las finanzas, la búsqueda, las matemáticas, la exploración del espacio, los juegos de azar y de la minería y tal, las empresas de software y de las personas por lo general se especializan en determinadas zonas. Por ejemplo, Electronic Arts principalmente crea videojuegos. También la venta de un software puede ser un sector rentable. Por ejemplo, Bill Gates, fundador de Microsoft es el segundo hombre más rico del mundo en 2008 en gran parte por la venta de Microsoft Windows y Microsoft Office programas de software, y el mismo puede decirse de Larry Ellison en gran medida a través de su base de datos de Oracle de software. También hay muchos programas sin fines de lucro, organizaciones como la Fundación para el Software Libre, proyecto GNU, Fundación Mozilla. También hay muchas organizaciones como el software estándar de la W3C, IETF y otros que tratan de llegar a un estándar de software de modo que muchos de software y puede interoperar con el

10

trabajo unos a otros como a través de normas tales como XML, HTML, HTTP, FTP, etc Algunas de las bien conocidas empresas de software incluye Microsoft, Apple, IBM, Oracle, Novell, SAP, HP, etc

 UNA MUESTRA EN UNOS GRAFICOS: A pesar de haber muchos paquetes de modelado y animación 3D.

En el campo de la informática gráfica se pueden encontrar diferentes dispositivos de salida; desde los que permiten obtener representaciones en soporte físico (impresoras, p.e.) hasta sofisticados sistemas de "inmersión" capaces de generar todo un entorno de realidad virtual alrededor del usuario. Por el momento nos concentraremos en los dispositivos de salida a vídeo, por ser los mas comunes y por constituir la base de otros muchos sistemas de visualización. La tecnología en la que aún están basados la mayor parte de los monitores es el tubo de rayos catódicos (CRT); aunque parece estar siendo desplazada por la tecnología de cuarzo líquido (LCD). Un CRT básicamente consiste en un tubo de vacío en cuyo interior un cátodo de metal calentado mediante un filamento por el que circula corriente eléctrica. El calor propicia el desprendimiento de electrones del cátodo; estos electrones, cargados negativamente, atraviesan diferentes dispositivos de enfoque y aceleración, y mediante los adecuados sistemas de control de deflexión son dirigidos a diferentes puntos del otro externo del tubo. En este extremo se encuentra la pantalla, recubierta internamente de fósforo, fósforo que al recibir el impacto de los electrones absorbe su energía, transformándola parcialmente en calor y utilizando el resto para elevar sus propios electrones a niveles superiores de excitación. Poco tiempo después estos electrones "excitados" vuelven a su estado original, desprendiendo el exceso de energía en forma de fotones; que es lo que produce el punto de la imagen visible.

11

Así pues, este punto de luz desaparece en el momento en que el fósforo vuelve a su estado de reposo; el tiempo en que esto tarda en ocurrir define una de las propiedades mas importantes para diferenciar entre dos fósforos: la persistencia, que se define como el tiempo que tarda en disminuir la luz emitida por la pantalla a un décimo de su intensidad inicial. Valores típicos son de 10 a 60 microsegundos. Por lo tanto, si deseamos mantener una imagen visible en el CRT deberemos regenerarla a una velocidad superior a la que tarda en desaparecer de la pantalla. Los fósforos de menor persistencia serán mas adecuados para animación; mientras que para mostrar imágenes estáticas puede ser suficiente un monitor más "lento". Otra propiedad importante de los tubos es su resolución, generalmente definida simplemente como el máximo número de puntos luminosos que se pueden diferenciar. Dado que la luminosidad de un punto decae desde el centro hacia su periferia, se considera que dos puntos son diferentes cuando su separación es mayor del diámetro en el que el punto tiene aproximadamente el 60% de la luminosidad del centro del mismo. Es fácil encontrar monitores que soportan hasta 1280x1024; a partir de esta resolución se suele hablar de sistemas de alta definición. También caracteriza a un tubo su "relación de aspecto", o relación entre la resolución horizontal y la vertical. La mas frecuente es de 4:3, aunque empiezan a aparecer relaciones "panorámicas" o 16:9, más apropiadas p.e. para cine en alta definición.

Monitores de barrido. En el tipo de monitor con CRT más utilizado el haz de electrones recorre la punto por punto en dirección longitudinal y línea por línea en dirección vertical, variando su intensidad en cada punto de acuerdo con la luminosidad correspondiente al punto de la imagen correspondiente que se pretende representar. La intensidad de cada uno de estos puntos de imagen, conocidos como "pixels", debe estar almacenada en la memoria del ordenador (a la memoria encargada de contener esta información se le denomina búfer de pantalla o frame buffer); si p.e. para representar la intensidad de un pixel se utilizan 24 bits, para una pantalla de 1024 x 1024 se necesitan 3 Mb de memoria. La velocidad a que se realiza este barrido (evidentemente, relacionada con la persistencia del fósforo) suele darse como característica del monitor; tanto en la forma de frecuencia de barrido vertical (para toda la imagen), que suele oscilar entre los 50 y los 80 Hz y la frecuencia de barrido horizontal (para cada línea) que suele ser del orden de los 40 KHz. Por lo general, una frecuencia mas alta, por lo general, es conveniente para disminuir la fatiga visual, y necesaria cuando se desea generar imágenes a gran velocidad (p.e. pares de imágenes estereoscópicas en tiempo real a velocidades de refresco tales que el ojo no distinga "parpadeos"). En algunos monitores realiza el barrido vertical en dos fases, en la primera se recorren las líneas impares, y en la segunda las pares. De esta forma se consigue una frecuencia aparente doble de la real (aparente en el sentido de que cada imagen se genera en la mitad de tiempo, aunque, evidentemente la imagen contenga la mitad de la información de la real). Este sistema se utiliza en los televisores domésticos, lo que puede aprovecharse también para conseguir una mayor suavidad en las animaciones generadas por ordenador: Efectivamente, en lugar de generar una imagen cada p.e. 1/60 segundo, se genera la mitad de la imagen cada 1/120 segundo, con lo que el tiempo de cálculo es el mismo y el movimiento más continuo. 12

Monitores de trazado aleatorio o vectoriales En este sistema, actualmente menos utilizado, el haz de electrones en lugar de recorrer la pantalla a base de pixels, traza una serie de segmentos correspondientes a las líneas de la imagen que se pretende representar. Así, la imagen está definida en memoria como una sucesión de instrucciones de trazado y movimiento aleatorio; y esta serie de instrucciones son ejecutadas por el haz de electrones un mínimo de 30 veces por segundo. Los sistemas vectoriales de alta calidad pueden llegar a manejar imágenes con 100.000 líneas; cuando la imagen tiene muy pocas líneas se introduce un retraso entre redibujados, ya que de otra forma se podría llegar a quemar el fósforo.

Monitores CRT en color Los monitores CRT en color utilizan una combinación de fósforos que emiten luz con colores distintos, colores básicos que combinados producen la sensación de los colores del espectro que se deseen. Estos monitores utiliza principalmente la técnica de la "máscara de sombra". Partiendo de un tubo con tres fósforos que emiten, para cada punto, luz roja, verde y azul, y con tres cañones de electrones, los tres haces de electrones se enfocan y se hacen coincidir sobre la máscara, que contiene una serie de orificios alineados con los patrones de punto de fósforo. Cuando los tres haces pasan por un orificio activan el triángulo correspondiente, que se ve como un punto de color. La intensidad de cada haz se controla independientemente, y por lo general se considera que con una resolución de 8 bits para cada uno (24 en total, por lo tanto), es decir, 256 niveles de voltaje por cañón para un total de 256 al cubo (16 Millones) de colores, se obtiene "color real" (haciendo referencia a la incapacidad del ojo humano de distinguir diferencias al aumentar la cantidad de niveles por componente).

Monitores de cuarzo líquido (LCD) Los monitores de cuarzo líquido utilizan dos placas de cristal que contienen cada una un polarizador de luz girado 90 grados una respecto a la otra. Estas placas prensan el cuarzo liquido (con estructura cristalina, pero con moléculas capaces de fluir como en estado líquido). En una de las placas se crean líneas verticales de conductores transparentes, y en la otra, horizontales. La intersección de las líneas define los pixels, de forma que cuando existe voltaje ambos conductores en ambos conductores las moléculas se alinean y la luz que atraviesa el cristal no gira y por lo tanto no atraviesa el segundo cristal. Cuando la luz se genera mediante un transistor en cada pixel, se habla de pantallas LCD de matriz activa, siendo esta la tecnología más utilizada en la actualidad. Aparte de eso, la representación de la información es similar a la de los monitores CRT de barrido: también se utiliza el bufer de pantalla con la imagen formada por pixels.

Software de gráficos. 13

Introducción Según se ha visto, por lo general vamos a necesitar una representación gráfica consistente en un conjunto de pixels a partir de una idea de más alto nivel; como pueda ser la descripción de la gráfica en términos de líneas, arcos, colores etc. o incluso en términos de objetos tridimensionales, puntos de vista e iluminación. El como llegar de estas descripciones de alto nivel al conjunto de pixels final es algo de lo que las diferentes partes del sistema se deberán encargar; por lo general el programador dispone de una serie de librerías de programación gráfica que le permiten escribir aplicaciones sin tener que llegar a conocer en detalle el hardware sobre el que se ejecutará su código, y sin tener que reescribir de cero miles de procedimientos que, además, distan de ser triviales. Ejemplos de estas librerías podrían ser OpenGL de SGI y Direct3D de Microsoft. Por lo general, estas librerías permiten trabajar creando estructuras en un sistema de coordenadas local, integrar estas estructuras en una escena más compleja que utiliza un sistema de coordenadas global o "de mundo". De algún modo, el software transformará estas coordenadas a unas coordenadas de dispositivo normalizado (independiente de las características físicas del dispositivo real) y en un último paso estas se ajustarán al rango de salida del dispositivo final.

Los bloques de construcción básicos que ofrece una librería se conocen como "primitivas" y pueden incluir desde un mínimo de líneas, círculos, caracteres, etc. en dos dimensiones hasta mallas de polígonos tridimensionales, definiciones de luces, etc.

Trazado de líneas En general, para obtener la representación como mapa de pixels a partir de una línea en dos dimensiones es necesario seleccionar las posiciones de la pantalla que pertenecen al trazado de la línea. Dado que estas posiciones se corresponden a pixels localizados en posiciones fijas enteras lo máximo que se podrá conseguir es una aproximación a los valores redondeados de las coordenadas de la línea. Esta aproximación por lo general producirá un efecto de "escalonamiento"; efecto que puede amortiguarse ajustando la intensidad de los pixels a lo largo de la línea, según ser verá.

14

 

Para el caso de una línea recta, por ejemplo, definida mediante

y=mx+b  

donde  

∆y= ( y2 - y1 ) ∆x = ( x2 - x1 ) m = ∆y / ∆x  

b = y1 - m x1

el muestrear el segmento en los valores de x correspondientes a los pixels (aumentos unitarios de x, p.e., para valores de pendiente menor o igual que uno) basta con incrementar y en la pendiente a cada paso. Un problema matemático tan simple se complica toda vez que deseamos evitar las operaciones en coma flotante, computacionalmente mucho mas lentas que las operaciones con enteros. Tanto para segmentos rectilineos como para otras primitivas Bresenham desarrolló un algoritmo que permite determinar las coordenadas de los pixels utilizando sólo cálculos incrementales con enteros. Si partimos de un punto intermedio (xk , yk), la coordenada y siguiente correspondiente a xk+1 podrá corresponder o bien a yk o a yk+1  

Las distancias de ambas opciones a la línea real d1 y d2 vendrán dadas por  

d1 = y - yk = m (xk + 1) + b – yk d2 = yk + 1 - y = yk + 1 – m (xk + 1) – b y

 

d1 - d2 = 2 m (xk + 1) – 2 yk + 2 b – 1

15

sustituyendo m por su valor definiendo pk como:  

pk = ∆x ( d1 - d2 ) = 2 ∆y xk - 2 ∆x yk + 2 ∆y + ∆x ( 2b-1 ) pk = ∆x ( d1 - d2 ) = 2 ∆y xk - 2 ∆x yk + c donde hemos sustituido 2 ∆y + ∆x ( 2b-1 ) por c como constante. Aquí ya se ve que el signo de pk indica si la distancia d1 es mayor o menor que d2, y por tanto, si se habrá de elegir y k+1 o yk. Desarrollando, se llega a la expresión de pk+1 como  

p k+1 = pk + 2 ∆y - 2 ∆x (y k+1 - yk) donde (y k+1 - yk) solo puede valer 0 o 1 dependiendo del signo de pk; con lo que tenemos que el incremento simplemente toma un valor constante u otro (y por lo tanto, se elige un valor de y u otro) en función de la decisión anterior, partiendo de    

p0 = 2 ∆y - ∆x

Antialiasing Para reducir el efecto de escalonamiento se suele recurrir, como ya se ha comentado, a variaciones en la intensidad de los pixels a lo largo de la línea. La forma de determinar esa intensidad, por lo general, se basa en un sobre-muestreo; es decir, se supone cada pixel formado por una malla de subpixels, y la línea, se supone de grosor finito de un pixel (por oposición a la línea ideal sin anchura). De esta forma se puede calcular el grado de "cobertura" de cada pixel por parte de la línea. Este cálculo se puede hacer por simple enumeración de subpixels por los que pasa la línea, o bien dando más peso a los subpixels mas próximos al centro del pixel. La forma de realizar esto último suele consistir en la aplicación de una función de filtro simétrica tipo rectángulo, cono o campana de Gauss.

 

Otras primitivas. Aparte del trazado de líneas, otras primitivas importantes como conceptos pueden ser: 16



• Caracteres



• Transformaciones (giros, escalas, distorsiones)



• Atributos de las primitivas (tipo de línea, color)



• Llenado de áreas, es decir, el considerar un área cerrada de un color sólido. Conviene notar que algo que a primera vista puede parecer sencillo, como el llenar un polígono de determinado color, en la practica resulta también complicado, recurriéndose sobre todo a dos tipos de algoritmos: 1: Recorrido de todas las líneas de pixels de la pantalla buscando intersecciones con los límites del polígono. Esto suele conllevar abundantes cálculos. 2: Procedimientos recursivos a partir de un punto. Se comienza en un punto y se repite a partir de todos sus vecinos a no ser que se encuentre una condición de frontera.



• Algoritmos de recorte de líneas: Por lo general, una vez transformadas las coordenadas de las líneas será necesario determinar que partes de las líneas son visibles dada una ventana de visualización.

Primitivas 3D Veamos algunas primitivas típicas, en este caso de OpenGL, con objeto de tener una idea mas clara del tipo de programación necesaria para trabajar con librerías gráficas. Atributos de primitivas:   Tamaño de puntos ­ void glPointSize(GLfloat size) Anchura de líneas ­ void glLineWidth(GLfloat width) Modo de Polígonos ­  glPolygonMode(GL_FRONT, GL_FILL) glPolygonMode(GL_BACK, GL_LINE) define que los polígonos seran "llenos" vistos por delante  y formados por líneas ("huecos") por detrás.  

Vértices:    

Posición ­ void glVertex3dv( const GLdouble *v ) Normales ­ void glNormal3fv( const GLfloat *v )

Polígonos:  

 

Por lo general se definen mediante secuencias de vértices,  aunque lo mas utilizado con diferencia son simplemente los  triángulos. De hecho por lo general cualquier primitiva 3D  compleja es descompuesta en triángulos de forma  transparente al programador. Ejemplo de polígono:

17

    glBegin (GL_POLYGON);    glNormal3fv(n0);    glVertex3fv(v0);    glNormal3fv(n1);    glVertex3fv(v1);    glNormal3fv(n2);    glVertex3fv(v2);    glNormal3fv(n3);    glVertex3fv(v3); glEnd();    

Aunque como hemos dicho la descomposición puede ser realizada por el sistema, por lo general es mas recomendable, desde el punto de vista de la eficiencia, que sea el programador el que efectúe manualmente dicha descomposición; ya que por lo general llegara a mejores resultados que una descomposición automática. Transformaciones geométricas:

Como es sabido, todas las operaciones de posicionado de primitivas en una escena, modificación de las mismas y proyección sobre el plano se lleva a cabo mediante operaciones con matrices; por lo que todas las librerías gráficas ofrecen facilidades para trabajar con este tipo de datos. Conviene notar que todos los productos de matrices se llevan a cabo internamente en la librería (o en el sistema gráfico, en el caso más general), y por lo tanto los resultados numéricos no tienen por que estar disponibles para el programador. Ejemplos de estas transformaciones son:

 

Matriz de rotación – void glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z  )   Matriz de traslación – void void glTranslatef( GLfloat x, GLfloat y, GLfloat z )   Matriz de escalado – void glScalef( GLfloat x, GLfloat y, GLfloat z )   Matriz de proyección (perspectiva) – void glFrustum( GLdouble left,                      GLdouble right,                      GLdouble bottom,                      GLdouble top,                      GLdouble near,                      GLdouble far )  

Otro tipo de primitivas necesarias son las fuentes de luz:  

void glLightfv(GLenum light, GLenum pname, TYPEparam);

 

18

donde se dispone de las típicas fuentes ambientales (GL_AMBIENT), difusas (GL_DIFFUSE) y especulares (GL_SPECULAR), así como luces tipo "spot" definidas por su cono luminoso y las funciones de atenuación con la distancia.  

Controladores Gráficos y Aceleradoras 3D Conceptos Si se piensa en la cantidad de bits necesarios para describir la imagen de pixels, y que se debe acceder a estos del orden de 60 veces por segundo, se comprende que el uso de memoria convencional no es suficiente en cuanto a velocidad. Por esta razón se utilizan dispositivos especiales con memoria dedicada al sistema de vídeo, y, por lo general, con coprocesadores específicos dedicados a manejar estos datos; descargando en lo posible a la unidad central de todo el proceso gráfico. Por ejemplo, para el caso de OpenGL, la librería puede estar implementada de forma que el propio código de la librería (ejecutado en la CPU) realice todos los cálculos necesarios, o simplemente puede consistir en una capa de enlace con los coprocesadores de OpenGL capaces de interpretar directamente estas instrucciones y realizar las operaciones en los procesadores diseñados a medida a tal fin. Curiosamente, con el incremento de la capacidad de cálculo de CPU de los sistemas de hoy en día; en algunos casos, sobre todo dependiendo del tamaño de los datos a manejar (es decir, para volúmenes pequeños de datos) algunos sistemas sin coprocesadores gráficos específicos puede resultar más rápida que otra que los tenga. Esto es debido a que por lo general la CPU tiene que alimentar de comandos OpenGL (simplificando, la geometría de la escena) al subsistema gráfico a través de una "tubería", si la CPU tiene más capacidad de enviar información que el acelerador de procesarla y así vaciar la tubería, la CPU pasa a modo de espera, lo que causa que el proceso que esta en la CPU tenga que estar continuamente parando y re-arrancando. Veamos algunos conceptos que necesarios para comprender como funcionan estos "coprocesadores" o aceleradores gráficos:

Bufer de pantalla Como se ha mencionado anteriormente la información de cada imagen se almacena en memoria en forma de matriz de pixels RGB. Esto significa que cada pixel tiene asignada en esa matriz una cantidad de bits que en buena medida definirán las capacidades del hardware gráfico.

19

Un sistema básico típico de hoy en día asignará 8 bits para cada componente de color, dando así la impresión de "color real" como ya se ha dicho anteriormente. Ahora bien, en sistemas con un mayor numero de bits por pixels, el sistema dispone de espacio adicional, espacio que es posible utilizar para por ejemplo almacenar una segunda imagen (casos de visión estereoscópica o animación por doble bufer), mapas de profundidad o "Z bufer" o capas auxiliares (para detalles auxiliares, como p.e. cursores)

Z Bufer Es fácil encontrarse, sobre todo en revistas sobre juegos, descripciones del Z Bufer como algo que sigue la pista a cada polígono de la escena y es capaz de realizar comparaciones sobre que polígonos están más próximos al observador, permitiendo que no se dibujen los que están ocultos por otros. Esta descripción es incorrecta, ya que en realidad todo lo que hace el Z Bufer es comparaciones de pixels. Para cada pixel de la pantalla podemos imaginar que trazamos un rayo hacia la escena. Este rayo puede llegar al fondo o bien chocar con algún polígono; en este caso el color del polígono será el que determine lo que se ve en la pantalla. El sistema gráfico convierte cada polígono a medida que es definido a puntos; el punto se compara con el valor correspondiente almacenado en el Z bufer, si resulta estar más próximo su color pasa a ser el elegido, y el valor del Z Bufer se reemplaza con su profundidad. Conviene tener en cuenta que las comparaciones serán más precisas cuantos mas bits se puedan utilizar para codificar los valores de profundidad, por ejemplo, para escenas definidas con precisión de milímetros en las que existen objetos distantes p.e. un kilometro, no es suficiente con un Z Bufer de 16 bits, debiéndose recurrir al menos a 32 bits. Otro uso frecuente del Z Bufer es el cálculo de mapas de profundidad a partir de una fuente luminosa local con objeto de determinar que objetos quedan oscurecidos por la sombra arrojada por objetos más próximos a la fuente luminosa.

Mapeado de texturas Una forma muy común de mejora la apariencia de una imagen sintética consiste en la aplicación de una imagen real (fotográfica) sobre la superficie que se pretende representar. Podemos pensar por ejemplo en la definición de una fachada de un edificio. 20

El modelo real debería incluir millones de polígonos para reflejar no solo la complejidad del la geometría básica (portales, ventanas, etc.) si no todo tipo de imperfecciones, abolladuras, etc.; por no mencionar la descripción precisa de cada uno de los materiales. El reemplazar esto por un simple plano con la foto de un edificio real pegada simplifica enormemente la escena, y los resultados son por lo general muy buenos. La forma de realizar esta aplicación consiste en hacer corresponder a cada punto del polígono un punto de la textura. Hay varios puntos a tener en cuenta: Este mapeado deberá realizarse de forma que se mantenga la continuidad entre polígonos adyacentes. De otra forma se pierde la sensación de realismo. Al aplicar la textura, no basta una simple aplicación lineal, ya que debe tenerse en cuenta la corrección debida a la perspectiva. El tamaño de la textura será un compromiso entre la calidad de imagen deseada y la memoria disponible para almacenarla. Dado que el acceso a los datos de la(s) texturas es continuo, estas deberán estar almacenadas por lo general, en memoria rápida especialmente destinada a tal fin.

Sombreado (Plano, Gouraud, Phong) Como es bien sabido, en aplicaciones de tiempo real la iluminación se calcula en los vértices de cada polígono, debiendo determinarse la iluminación correspondiente a los puntos del interior del mismo mediante técnicas de interpolación más o menos complejas. El caso de la no interpolación (sombreado plano) se corresponde a las hipótesis de que la luz está a distancia infinita, el observador también, y que los polígonos pretenden ser realmente polígonos planos, no una aproximación a superficies mas complejas. Esto por lo general da unos resultados bastante pobres. Gouraud mejora la cuestión utilizando las normales, que deben estar definidas en cada vértice, para determinar la intensidad de la iluminación en cada vértice, y esta se interpola a lo largo de las aristas, y luego a lo largo de cada línea representada del polígono. Ofrece resultados visualmente convincentes, pero no estrictamente correctos. Phong interpola las normales, con lo que los resultados son mucho mejores, pero mucho mas costosos en cuanto a cálculo también. Por otra parte, el uso de texturas disminuye la necesidad de tanta precisión, por lo que no es frecuente que el acelerador lo incluya.

Antialiasing (en 3D) La idea es la misma que la vista para líneas en 2D: evitar que las aristas proyectadas presenten "escalones". El efecto de aliasing es incluso peor en animaciones, dado que mínimos cambios de posición pueden determinar efectos de aliasing totalmente distintos, lo que produce la sensación de que "algo se mueve" en los bordes de los objetos.

21

Un método primitivo consiste en procesar la imagen final ya proyectada y examinar los pixels, suavizando las diferencias entre pixels adyacentes. Es simple y rápido. En un método mucho más costoso se tomarán varias muestras (el concepto de "sub-pixels" otra vez) para calcular el color final del pixel. Y por último otro método que puede resultar más costoso consiste en hacer "vibrar" la imagen (mediante cambios mínimos de posición del punto de vista) y realizar una media entre las imágenes calculadas. Es probablemente el que da mejores resultados, pero también el más costoso.

Interpolación Mipmap de texturas Un problema de las texturas es que, cuando se utiliza una resolución de textura demasiado baja, que resultaría adecuada p.e. para determinada distancia al observador, al ser observada más de cerca, ofrece un aspecto totalmente irreconocible, ya que cada pixel de textura se mapea a mas de un pixel de pantalla. Para solucionar esto, una posible técnica consiste en almacenar la textura a diferentes resoluciones (por lo general, utilizando múltiplos de dos) y en función de la distancia elegir dos de estas resoluciones e interpolar entre ellas. El tipo de interpolación (bilineal, tri-lineal, quad-lineal) define la calidad de la imagen obtenida.

Efectos de profundidad Por lo general en la vida real, los efectos atmosféricos causan que los objetos lejanos se vean de forma diferente. Se puede pensar por ejemplo en una situación con niebla en la que los objetos se van viendo cada vez mas ocultos hasta perderse en un fondo blanco. Por lo general este tipo de efectos se puede conseguir utilizando la información almacenada en el Z Bufer para añadir color en función de la distancia; con lo que se consiguen efectos de gran realismo.

Transparencia Anteriormente se ha hablado de 3 componentes de color (RGB). Se puede considerar una cuarta (Alpha) que determina la transparencia del punto. De esta forma cada vértice representado puede llevar un valor de transparencia asociado, valor que se utiliza de forma que objetos con diferente nivel de transparencia puedan representarse uno delante del otro, permitiendo que ambos sean parcialmente visibles. Por lo general es conveniente que el programador defina los polígonos transparentes de forma que estén ya ordenados en cuanto a profundidad respecto al observador. (Nótese por la descripción del Z Bufer que no resulta posible en general utilizarlo para evitar esta ordenación previa)

 Ejemplos de hardware Veremos a continuación dos ejemplos de hardware gráfico: 22

Onyx2 Infinite Reality

Como vemos, el sistema se compone de tres partes diferenciadas: La "Geometry Engine" (que se correspondería con los coprocesadores gráficos a los que antes nos referíamos) se encarga de realizar transformaciones de vértices, iluminación, recorte, proyección, etc., así como de realizar operaciones sobre pixels como histogramas, convoluciones, escalado, etc., operaciones que se aplican tanto a los pixels normales, como a las texturas o a fuentes de vídeo. El "Raster Manager" recibe todos los datos de triángulos, puntos y líneas ya proyectados por la GE; estos datos deben ser recorridos línea por línea para generar la información de pixels. Por su elevado grado de paralelismo, el RM puede realizar todo tipo de operaciones de antialiasing (mediante sobre muestreo), mapeado de texturas, etc. sin encontrar cuellos de botella. El mapeado de texturas se realiza por medio de la ya comentada técnica de MIPmapping; así mismo esta unidad realiza los cálculos necesarios sobre la transparencia y los efectos de profundidad. El "Display Generator" básicamente contiene los conversores Digital-Analógico, por lo general generando mas de un canal de salida de vídeo; permitiendo el remuestreo de la señal de salida para adaptarlo a todo tipo de dispositivos de vídeo. La Onyx2 IR standard permite manejar 2.62 millones de pixels, para obtener p.e. una resolución de 1920 x 1200 o dos salidas a 1280 x 1024. La cantidad mínima de bits por pixel en el bufer de pantalla es de 256 bits, con lo que se puede llegar a utilizar salidas estereoscópicas en cuádruple bufer (dos por canal) con 12 bits para color y 23 de Z Bufer. Otros efectos que permite conseguir pueden ser: • • • • • •

• • • • • •

Mapas de entorno Texturas volumétricas Antialiasing Luces locales (hasta 8) Sombras utilizando mapas de profundidad Texturas proyectadas (diapositivas) ­ Vídeo como textura

 

Nvidia GeForce2 GTS

23

Esta tarjeta gráfica, adecuada para ordenadores personales, orientada especialmente al mercado de juegos, plantea una aproximación diferente, al englobar toda su funcionalidad en un solo chip. Su nombre significa GigaTexel Shader (GTS), haciendo referencia a la capacidad de procesado de texturas, ya que en cada ciclo de reloj las dos unidades de textura calculan cuatro pixels, lo que nos da 1.6 Gtexels por segundo Sus principales características son: - Geometría (transformación e iluminación): 25 Millones pol./segundo - Pixel shading: Como se ha mencionado, la interpolación de normales resulta muy costosa. Aquí la solución adoptada consiste en la utilización de una textura suministrada por el programador que contiene los valores de la normal para cada punto. Esto produce imágenes muy realistas; y es posible utilizar esto también para aplicar las conocidas técnicas de "bump-mapping", en las que por perturbaciones de la normal se obtiene una apariencia de rugosidad en la superficie. - Antialiasing por Hardware. Se observa caída en las prestaciones a resoluciones superiores a 1024 x 768 debido a la influencia de la limitación de velocidad de acceso a memoria. - Transferencia de texturas y geometría por AGP - Compresión de texturas. Con objeto de aprovechar mejor la memoria destinada a texturas a costa de potencia de cálculo se utiliza un sistema de compresión de las texturas en memoria capaz de reducirlas hasta aproximadamente 1/8 de tamaño. Con los sistemas actuales, el ahorro de memoria y de ancho de banda justifica esta medida. - Bufer de pantalla: Se usan 32 bits para el color y otros 32 para el Z Bufer con una configuración standard, aunque es posible aumentar la cantidad de memoria del bufer de los 32 Mb hasta los 128 Mb - Optimizado para OpenGL y DirectX..

Software educativo Se denomina así al software destinando a la enseñanza y el auto aprendizaje y además permite el desarrollo de ciertas habilidades cognitivas. Así como existen profundas diferencias entre las filosofías pedagógicas, así también existe una amplia gama de enfoques para la creación de software educativo atendiendo a los diferentes tipos de interacción que debería existir entre los actores del proceso de enseñanza-aprendizaje: educador, aprendiz, conocimiento, computadora. Como software educativo tenemos desde programas orientados al aprendizaje hasta sistemas operativos completos destinados a la educación, como por ejemplo las distribuciones GNU/Linux orientadas a la enseñanza.

 Instrucción Asistida por computadora

24

El enfoque de la instrucción asistida por computadora pretende facilitar la tarea del educador, sustituyéndole parcialmente en su labor. El software educacional resultante generalmente presenta una secuencia (a veces establecida con técnicas de inteligencia artificial) de lecciones, o módulos de aprendizaje. También generalmente incluye métodos de evaluación automática, utilizando preguntas cerradas. Las críticas más comunes contra este tipo de software son: • • •

Los aprendices pierden el interés rápidamente, intentan adivinar la respuesta al azar. La computadora es convertida en una simple máquina de memorización costosa. El software desvaloriza, a los ojos del aprendiz, el conocimiento que desea transmitir mediante la inclusión de artificiales premios visuales. (ver enlace Punished by Rewards)

 Software Educativo Abierto El enfoque del software educativo abierto por el contrario enfatiza más el aprendizaje creativo que la enseñanza. El software resultante no presenta una secuencia de contendidos a ser aprendida, sino un ambiente de exploración y construcción virtual, también conocido como micromundo. Con ellos los aprendices, luego de familiarizarse con el software, pueden modificarlo y aumentarlo según su interés personal, o crear proyectos nuevos teniendo como base las reglas del micromundo. Las críticas más comunes contra este tipo de software son: •



En un ambiente donde se use software educacional abierto, no todos los aprendices aprenderán la misma cosa, y por consiguiente los métodos de evaluación tradicionales son poco adecuados. La dirección de tales ambientes de aprendizaje requiere mayor habilidad por parte del educador. Ya que en este caso su papel no será el de enseñar contenidos sino de hacer notar las estrategias de apredizaje que el estudiante encuentra valiosas (al abordar un proyecto concreto) y ayudarle a transferirlas a otros contextos.

.No se deben confundir los conceptos de apertura del código con el que es escrito el software (código abierto), con el concepto de apertura del enfoque educativo con el que el software es creado. Existe software educativo cerrado (tutorial, instruccional, estrictamente pautado) que tiene su código abierto.

 Pensamientos sobre "software educativo" En el pasado mucha gente, profesores incluidos, consideraba que el software educativo eran los juegos llamativos y programas para practicar ejercicios repetitivos que funcionaban en las PC. Mientras que estos programas similares a PC-Tutor pueden ser adecuados para algunos estudiantes hemos encontrado que el papel de la computadora en la sala de clase está cambiando. Hoy en día los estudiantes que tienen suficientes habilidades técnicas usan las PCs de la misma manera los adultos las utilizan en sus lugares de trabajo y en la universidad. Hay cuatro usos principales que hemos identificado:

25

Colaboración - Nuestros estudiantes utilizan las PC para el E-mail, compartiendo archivos para completar los proyectos del grupo, compartir enlaces a sitios web y a artículos de bases de datos en línea. No es infrecuente tener dos o tres estudiantes que trabajan juntos con uno siendo el "secretario" registrando información que luego es archivada y compartida más adelante, electrónicamente, con los otros miembros del grupo. ¿No es está esta la manera que usted trabaja como adulto? Para nuestros estudiantes, su carpeta /home se convierte en un cuaderno virtual donde organizan sus cosas de importancia y la carpeta /public se convierte en un sitio de intercambio. Nuestros estudiantes incorporaron rápidamente un ambiente en computadoras en red en su vida cotidiana en la escuela. La utilizan para realizar su trabajo y han encontrado también muchas adaptaciones sociales ingeniosas. Como herramientas para la colaboración, las PCs en red están cambiando la sala de clase de la misma manera que han cambiado el lugar de trabajo.

Comunicación - Las aplicaciones más utilizadas en nuestras salas de clase no son los programas tutoriales llamativos, y basados en multimedia, que se ven en las secciones educativas de los almacenes del software. Cuando nuestros estudiantes están trabajando utilizan los mismos programas que el resto del mundo utiliza, el procesamiento de textos, el E-mail, las hojas de cálculo y software de presentación. Hay poco lugar para la computadora como instructor en el ocupado salón de clase de hoy en día. Las paquetes de software de presentación como PowerPoint se incorporan fácilmente en salas de clase en red. Los profesores pueden utilizar software de presentación para agregar contenido multimedia a sus lecciones. Los estudiantes utilizan estas herramientas de software como "tablones o carteles virtuales" para sus informes de clase. Algunas cosas simplemente no cambian y mostrar a todos lo que uno sabe sigue siendo una parte importante del proceso de aprendizaje. Crear una presentación sigue siendo la manera para juntar, resumir y conciliar todo lo que se ha aprendido, para muchos estudiantes. El procesos de autoedición es un uso importante de las PC en las escuelas de hoy. Desde volantes de una página hasta periódicos realizados por estudiantes, las PCs lo hacen posible. Esta es un área donde el uso de la computadora ha actuado como equalizador que ahora permite a todos publicar sus ideas.

Análisis - Aquí está un área en donde las computadoras han cambiado la educación (o deberían...). Con las hojas de cálculo y con las herramientas de graficación ahora en cada PC, los estudiantes tienen la capacidad para realizar preguntas del tipo "y qué tal si..." y hacer comparaciones de datos. Cualquier persona que ha utilizado una hoja de cálculo para investigar algo tan simple como el costo de un viaje a Disneyland entenderá cuán útiles son estas herramientas en el salón de clase. Existen ejemplos de buena programación en cosas como el "wizard" para gráficos en Microsoft Excel. Los botones de inspección previa y las ventanas wysiwyg hacen fácil para que los estudiantes interactuar con el software y seleccionar opciones. Ellos pueden utilizar a un "wizard" pero aun así están en el control de lo que sucede.

Creatividad - Algunos de nuestros usuarios más adelantados en su uso de la tecnología son estudiantes de arte y de música. Nuestros profesores de arte rápidamente

26

apreciaron el potencial de las computadoras. Las PC fueron vistas como herramientas creativas por nuestros estudiantes después de tomar las clases de arte de la PC cuando, antes, eran vistas solamente como herramientas de producción. •

Evolución Del Software Educativo

Al igual que el hardware evoluciona, también evoluciona la concepción del software tanto básico como aplicado. Los primeros usos fueron para desempeñar las mismas y más tradicionales tareas del profesor: explicar unos contenidos, formular preguntas sobre los mismos y comprobar los resultados; el interés de estas aplicaciones surgía ante la posibilidad de una instrucción individualizada, fundamentalmente de tipo tutorial. Las primeras aplicaciones y desarrollos de software educativo han tenido como denominador común el dirigirse a poblaciones marginadas social y económicamente. El punto de vista que plantea Papert sobre la utilización del ordenador en la enseñanza, aparece muy alejado de los planteamientos en boga en aquella época. En general predominaba como acabamos de señalar, un software inspirado en los principios de la enseñanza programada. Frente a estos usos, y en contra de los mismos, Papert propugna una práctica pedagógica mucho más innovadora. Según el autor, ya no se trata de

que las máquinas programen a los niños, sino de que éstos programen a las máquinas. La identificación de las fallas y las desventajas de los enfoques mencionados para el uso educativo del computador, al tiempo que un mejor entendimiento de las caracterísitcas de los procesos efectivos de aprendizaje, ha llevado a la idea de que los ambientes de aprendizaje basados en uso del computador no deberían involucrar tanto el conocimiento y la inteligencia en la dirección y estructura de los procesos de aprendizaje, sino más bien deberían crear situaciones y ofrecer herramientas para estimular a los aprendices a hacer el máximo uso de su propio potencial cognitivo (Scardamalia et al.; 1989; refiérase también a Brown,

1990). A este respecto Kintsch (1991) ha lanzado la idea de los tutores no inteligentes: "Un tutor no debería proveer la inteligencia para lograr el aprendizaje, no debería realizar la planeación y el monitoreo del progreso de los estudiantes, porque estas son las actividades que los estudiantes deberían ejecutar ellos mismos para aprender. Lo que un tutor debería hacer es apoyarlos temporalmente para permitir que los aprendices ejecuten a un nivel justo y más allá de su nivel corriente de habilidad." (p245). La característica principal del proceso de aprendizaje productivo, que es fruto de la investigación sobre el aprendizaje e instrucción durante la década pasada, es ciertamente su naturaleza constructiva y activa mencionada y definida en la sección anterior. Relacionado con este rasgo de procesos de adquisición efectiva están las siguientes características: El aprendizaje es un proceso de construcción de conocimiento y de significado individualmente diferente, dirigido a metas, autoregulado y colaborativo (refiérase a De Corte, en prensa, para una discusión más elaborada incluyendo muchas referencias para lectura posterior). El aprendizaje es acumulativo: Está basado en lo que los aprendices ya saben y pueden

hacer, y en que pueden seleccionar y procesar activamente la información que

27

encuentran, y como consecuencia, construyen nuevo significado y desarrollan nuevas habilidades. El aprendizaje es autoregulado: este rasgo se refiere a los aspectos metacognitivos del

aprendizaje efectivo, especialmente al hecho de que los buenos aprendices y solucionadores de problemas manejan y monitorean sus propios procesos de construcción de conocimiento y adquisición de habilidades. A medida que los estudiantes sean más autoreguladores, asumen mayor control sobre su aprendizaje y, consecuentemente, dependen menos del apoyo instruccional externo para ejecutar estas actividades regulatorias. El aprendizaje se dirige a alcanzar metas: el aprendizaje significativo y efectivo se facilita

por la conciencia explícita de búsqueda del logro de metas adoptadas y autodeterminadas por parte del aprendiz. El aprendizaje necesita de la colaboración: la adquisición de conocimiento no es

puramente un proceso mental que se lleva a cabo en la mente, sino que ocurre en interacción con el contexto social y cultural, así como con los artefactos, especialmente a través de la participación en actividades y prácticas culturales. En otras palabras, el aprendizaje efectivo no es una actividad sola, sino que es una actividad esencialmente distribuida, por ejemplo, el esfuerzo del aprendizaje se distribuye entre un estudiante individual, sus compañeros en el ambiente del aprendizaje, y entre los recursos y herramientas que hay a disposición. El aprendizaje es individualmente diferente: los procesos y logros del aprendizaje varían

entre los estudiantes debido a las diferencias individuales en la diversidad de aptitudes que afectan el aprendizaje, como por ejemplo las diferentes concepciones y enfoques del aprendizaje, el potencial de aprendizaje, el conocimiento previo, los estilos cognitivos, las estrategias de aprendizaje, el interés, la motivación, etc.. Para inducir un aprendizaje productivo, se deberían tomar en cuenta estas diferencias. En sintonía con esta concepción de aprendizaje basada en la investigación, ha surgido una nueva generación de ambientes de aprendizaje apoyados con computador, y debería ser elaborada en trabajos futuros de investigación y desarrollo. Esta nueva tendencia para uso de computadores en educación se caracteriza por un giro claro hacia sistemas de soporte, los cuales están menos estructurados y son menos directivos, están más enfocados hacia el entrenamiento que hacia las tutorías, involucran herramientas controladas por los estudiantes para adquiir el conocimiento y tratan de integrar herramientas y estrategias de entrenamiento, en ambientes de aprendizaje de colaboración e interactivos... •

La enseñanza a través de la computadora

...La instrucción asistida por computadora (la tradicional CAI [Computer Assisted Instruction]) representa el uso más generalizado, hasta el punto que se le identifica con el uso de la computadora en el aula. Inseparable de la introducción de la computadora en el aula, abarca sistemas que van desde los clásicos materiales programados de estímulo-respuesta, de corte directivo, hasta sistemas basados en la resolución de problemas de tipo no directivo.

28

Los inconvenientes y problemas que trae consigo y que ha hecho que se abandone, o al menos se replantee, en muchos casos, el uso de la CAI y sobre todo los sistemas más directivos, podemos describirlos así: Los programas de CAI, salvo excepciones, se reducen a meros procesos de enseñanza programada, más o menos encubiertos con estrategias integradas. De esta manera la CAI, que en un principio despertó grandes esperanzas, las desalentó, en parte, por falta de materiales adecuados que fueran accesibles y de lenguajes bien adaptados a las necesidades de los docentes.  Aprendizaje con la computadora Se trata de la concepción de la computadora como "herramienta intelectual". Supone, básicamente, la puesta en práctica de técnicas de aprendizaje por descubrimiento, donde la computadora actúa como medio facilitador del desarrollo de los procesos cognitivos. Representa la vía de utilización de la computadora más prometedora, pero también la que más problemas plantean en su introducción real (diseño de programas, etcétera). Esta modalidad de uso de la computadora está íntimamente relacionada con la aplicación en la enseñanza de aquella formación técnica de que hablábamos antes que proporciona una serie de pautas de actuación (resolución de problemas, formulación de algoritmos, etcétera) utilizables, transferibles y generalizables a otras áreas de conocimiento; entre ellas se encuentran, por ejemplo, el funcionamiento general de la computadora o función de procesador (manipulador de información), los lenguajes de programación, los procesadores de textos, los gestores de bases de datos, los programas de gráficos, etcétera. Se trata, no de su utilización en cuanto a dichos programas, sino en su aplicación en la resolución de problemas y situaciones problemáticas, en simulaciones y juegos, elaboración de modelos, diseños, etcétera. Sin embargo, la razón más importante de tener material abierto es el que los maestros principalmente pero también los propios estudiantes puedan hacer ajustes menores en unos casos y en otros cambios mayores a su propios material educativo, donde lo importante es que no estén pasivos ante su propia educación. Así por ejemplo el caso del maestro es muy importante, ya que sucedió con los medios audiovisuales y con muchos de los materiales de la llamada Tecnología Instruccional (o Educativa) en que el maestro colocaba la cinta de video y se sentaba con sus estudiantes a mirarla pasivamente. Esto lo hace tres o cuatro veces, pero despúes el procedimiento aburre y el primero en cansarse y es el mismo maestro, quien se siente mediatizado, utilizado y relegado por no decir sustituido por esos dispositivos de la Tecnología Instruccional y los abandona o deja de utilizar. Igualmente comienza a suceder incluso con el material computadorizado, llamado "courseware", en las que el maestro sumistra los diskettes y estos se encargan de dar la explicación, los ejercicios y hasta los exámenes del material que se pretende exponer. Por el contrario, si el maestro (y sus estudiantes) son capaces de ajustar el material, entonces se despierta el entusiasmo creativo, la investigación, la competencia y el gusto.

 La computadora como aprendiz

29

En este caso, la computadora asume el papel del alumno que necesita ser enseñado para realizar algo. Entonces el estudiante es quien enseña a la computadora. Para realizar lo anterior el estudiante se comunica con la computadora mediante un lenguaje. Aquí la enseñanza que recibe el usuario o estudiante es indirecta, ya que no puede enseñar lo que no conoce y puede ser parcial es decir, el humano le enseña algo que no entiende en su totalidad. Este rol se presenta como la alternativa computarizada entre la máquina de enseñar versus la máquina de aprendizaje. Algunos de los pioneros en computación educativa, particularmente Arthur Luehrmann y Seymour Papert, se dieron cuenta que la mayoria de las aplicaciones educativas con la computadora, habían sido pensadas como máquinas que puedan enseñar, más que como máquinas de aprendizaje. Estos autores han argüido que una buena parte de las aplicaciones educativas podrían y debería ser empleando las capacidades más inteligentes de una computadora. pero sobre todo devolverle el papel conductor al estudiante o sujeto del aprendizaje. Así a manera de metáfora, dado que es el estudiante el guia en lo que quiere aprender, es creativo y diseña como puede aprender empleando la computadora, es que se dice que la computadora es enseñada o es el aprendiz. La idea de base es muy antigua, ya que la mejor manera de aprender es enseñando, esto obliga al maestro a reflexionar e interiorizarse de un tema no solo lo suficiente para manejarlo, sino para responder cualquier duda o situación que se presente con él. En estricto sentido esto no está ausente de paquetes que le sirven de herramientas, desde lenguajes hasta simulaciones y proyectos computarizados. Tampoco está totalmente ausente de contenido de lo que puede aprender con una de estas herramientas sui generis. El enfoque de "enseñar" a una computadora no es extraño, de hecho este último sentido es el más natural para una computadora, ésta no sabe hacer nada por sí misma hasta que se le dan los programas o instrucciones para que haga algo. Sin embargo el que tiene necesidad de aprender es el estudiante. En este caso se invierte el rol y de alguna manera el estudiante que aprende trata de enseñar a la computadora no sólo las cosas que tiene él que aprender sino frecuentemente tiene que enseñarle además el cómo están hechas esas cosas, que relaciones tienen etc. Cosas por demás interesantes y altamente formativas que además sirven de reforzamiento a la memorización pura. Frecuentemente los maestros señalan que ellos verdaderamente han entendido un tema cuando lo han tenido que explicar a otros, esto los ha obligado a interiorizarse del tema a cuestionarlo y no sólo a repetirlo. Algunos ejemplos de esto serían los nuevos paquetes que simulan una situación (por ejemplo el espacio interplanetario, o la bolsa de valores) en la que el estudiante recorre o trabaja y de manera indirecta se dá cuenta de los mecanismos que controlan la situación sin que estos se le digan explícitamente, el estudiante "los descubre". Otros ejemplos podrían ser el diseñar un programa que enseñe a la computadora a hacer cierto tipo de figuras, o imágenes, e incluso geometría (es así que se presenta generalmente al Lenguaje LOGO como un instrumento de este rol). De manera más sofisticada y difícil para el estudiante, es el pedirle que empleando algún lenguaje de autor realice una lección para enseñarle algo a sus compañeros y todavía más difícil el pedirle que realice un sistema experto que genere respuestas en una combinatoria de búsqueda de soluciones. De esta manera se rebasa el nivel únicamente de usuario de la computadora y se toma un rol activo en su propio proceso de enseñanza-aprendizaje, además de aprender a usar

30

la computadora en su vida diaria. Estos autores y sus seguidores indican que de esta manera al tratar de enseñar no sólo se mejoran sus procesos cognitivos, sino que colateralmente tiene el estudiante que desarrollar otras habilidades, como las de expresión, análisis de un problema etc.

31

Related Documents

Tic 2
April 2020 10
Tic
May 2020 13
Tic
June 2020 8
Tic
June 2020 8
Tic
April 2020 15
Tic
November 2019 36