martes, 15 de octubre de 2013

Cubo rubik

CUBO RUBIK


Enlace Traducido



DISNEY DESARROLLA UN ALGORITMO PARA LA PRESTACIÓN DE FUNCIONES TÁCTILES 3D EN SUPERFICIES TÁCTILES

 
Disney investigadores han desarrollado un algoritmo para la representación táctil de características y texturas tridimensionales ( 3D ) . Al alterar la fricción encontrada en forma de deslizamiento punta de los dedos de un usuario a través de la superficie , el algoritmo de Disney crea una percepción de un bache en 3D en una superficie táctil sin tener que desplazarse físicamente a la superficie.

" Si podemos extender artificialmente la piel en un dedo mientras se desliza en la pantalla táctil , el cerebro se deje engañar en pensar un golpe físico real es en una pantalla táctil , aunque la superficie táctil es completamente lisa ", dice Disney investigador Ivan Poupyrev .

Durante las pruebas , los investigadores utilizaron electrovibración para modular la fricción entre el dedo deslizante y la superficie de contacto con fuerzas electrostáticas . Además , los investigadores crearon y validaron un modelo psicofísico que simula estrechamente las fuerzas de fricción percibidas por el dedo humano cuando se desliza sobre un bache real.

"Con nuestro algoritmo no tenemos uno o dos efectos , sino un conjunto de controles que permitan ajustar los efectos táctiles a un artefacto visual específica sobre la marcha ", señala Disney Ali Israr .

Los investigadores están presentando sus trabajos en el Simposio ACM de software de interfaz de usuario y la tecnología esta semana en St. Andrews , Escocia

 
Un nuevo algoritmo permite a los investigadores de Disney para crear la representación táctil de funciones 3D y texturas.
 

martes, 8 de octubre de 2013

Glosario

Método (informática)

En la programación orientada a objetos, un método es una subrutina cuyo código es definido en una clase y puede pertenecer tanto a una clase, como es el caso de los métodos de clase o estáticos, como a un objeto, como es el caso de los métodos de instancia. Análogamente a los procedimientos en los lenguajes imperativos, un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción o, posiblemente, un valor de salida (o valor de retorno) de algún tipo.


TÉCNICA

Es un procedimiento o conjunto de reglas, normas o protocolos que tiene como objetivo obtener un resultado determinado, ya sea en el campo de las ciencias, de la tecnología, del arte, del deporte, de la educación o en cualquier otra actividad.

GEOMETRÍA ANALÍTICA

La geometría analítica estudia las figuras geométricas mediante técnicas básicas del análisis matemático y del álgebra en un determinado sistema de coordenadas. Su desarrollo histórico comienza con la geometría cartesiana, continúa con la aparición de la geometría diferencial de Carl Friedrich Gauss y más tarde con el desarrollo de la geometría algebraica.

GEOMETRIA DESCRIPTIVA

La geometría descriptiva es un conjunto de técnicas geométricas que permite representar el espacio tridimensional sobre una superficie bidimensional. Por tanto, mediante «lectura» adecuada posibilita resolver problemas espaciales en dos dimensiones de modo que se garantiza la reversibilidad del proceso.

TOPOLOGIA                 

Es la rama de las matemáticas dedicada al estudio de aquellas propiedades de los cuerpos geométricos que permanecen inalteradas por transformaciones continuas.1 Es una disciplina que estudia las propiedades de los espacios topológicos y las funciones continuas.

 

TEORÍA DE CONJUNTOS

La teoría de conjuntos es una rama de las matemáticas que estudia las propiedades de los conjuntos: colecciones abstractas de objetos, consideradas como objetos en sí mismas. Los conjuntos y sus operaciones más elementales son una herramienta básica en la formulación de cualquier teoría matemática.

ANÁLISIS NUMÉRICO

El análisis numérico o cálculo numérico es la rama de las matemáticas que se encarga de diseñar algoritmos para, a través de números y reglas matemáticas simples, simular procesos matemáticos más complejos aplicados a procesos del mundo real.


ESTRUCTURA DE DATOS

En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema.

CALCULO VECTORIAL

El cálculo vectorial o análisis vectorial es un campo de las matemáticas referidas al análisis real multivariable de vectores en 2 o más dimensiones. Es un enfoque de la geometría diferencial como conjunto de fórmulas y técnicas para solucionar problemas muy útiles para la ingeniería y la física.


MÉTODOS MATRICIALES

El método matricial de la rigidez es un método de cálculo aplicable a estructuras hiperestáticas de barras que se comportan de forma elástica y lineal. En inglés se le denomina direct stiffness method (DSM, método directo de la rigidez), aunque también se le denomina el método de los desplazamientos.

CAD

El diseño asistido por computadora, más conocido por sus siglas inglesas CAD (computer-aided design), es el uso de un amplio rango de herramientas computacionales que asisten a ingenieros, arquitectos y diseñadores.

CAM

La fabricación asistida por computadora (en Hispanoamérica) o fabricación asistida por ordenador (en España), también conocida por las siglas en inglés CAM (computer-aided manufacturing), implica el uso de computadores y tecnología de cómputo para ayudar en la fase directa de manufactura de un producto, es un puente entre el Diseño Asistido por Computadora CAD y el lenguaje de programación de las máquinas herramientas con una intervención mínima del operario.

Objeto CPU / CODIGO

 
 
 
#include <GL/glut.h>
#include <stdlib.h>
GLfloat ang = 1.0;
GLfloat ejex=0.5, ejey=0.5, escalar=1.0;


void reshape (int width,int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-15,15,15,-15,15,-15);
glMatrixMode(GL_MODELVIEW);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();

glRotatef(ang, 2.0f, 0.0f, 0.0f);

glTranslatef(ejex,0.0f,0.0f);
glScalef(escalar, escalar, escalar);
//base

glColor3f(1,0,0);
glBegin(GL_POLYGON);

glVertex3f(0,0,4);
glVertex3f(0,6,4);
glVertex3f(4,6,0);
glVertex3f(4,0,4);
//glVertex3f(0,0,4);


glEnd();


//primer cara
glColor3f(0,1,0);
glBegin(GL_POLYGON);

glVertex3f(0,0,4);
glVertex3f(0,0,0);
glVertex3f(8,0,0);
glVertex3f(4,0,4);

glEnd();

//segunda cara
glColor3f(0,0,1);
glBegin(GL_POLYGON);

glVertex3f(0,6,4);
glVertex3f(0,10,0);
glVertex3f(8,10,0);
glVertex3f(4,6,0);


glEnd();
//tercer cara
glColor3f(1,0,1);
glBegin(GL_POLYGON);
glVertex3f(0,0,4);
glVertex3f(0,0,0);
glVertex3f(0,6,4);
glVertex3f(0,0,4);

glEnd();

//cuarta cara
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,4);
glVertex3f(8,0,0);
glVertex3f(8,10,0);
glVertex3f(4,6,0);
glEnd();

glColor3f(1,0,0);
glBegin(GL_LINE_STRIP);
glVertex3f(0,5,3);
glVertex3f(0,4,3);
glVertex3f(3,5,0);
glVertex3f(3,4,0);

glEnd();

glColor3f(1,0,0);
glBegin(GL_LINE_STRIP);
glVertex3f(0,0,2);
glVertex3f(0,0,3);
glVertex3f(3,0,2);
glVertex3f(3,0,3);

glEnd();
glutSwapBuffers();
ang+=0.1f;
}
void piramide()

{

/* Idle callback, spin cube 2 degrees about selected axis */

ang += 2;

if( ang > 360 ) ang -= 360;


glutPostRedisplay();
}

void init()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glClearColor(0,0,0,0);
}
void idle()
{
display();
}
void ArrowKey(int key, int x, int y){
switch (key){
case GLUT_KEY_RIGHT:
if( ejex<8.0 ){ejex = ejex + 0.5;}//para moverse en la coordenada +x
if(ejex>0.1 && ejex<3){escalar = ejex;}
break;

case GLUT_KEY_LEFT:
if( ejex>-8.0 ){ejex = ejex - 0.5;}//para moverse en la coordenada -x
if(ejex>0.1 && ejex<3){escalar = ejex;}
break;
}


}
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;}
}
int main (int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glEnable(GL_DEPTH_TEST);
glutInitWindowPosition(50,50);
glutInitWindowSize(500,500);
glutCreateWindow("Hello");

glutIdleFunc(piramide);

init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutIdleFunc(idle);
glutKeyboardFunc(keyboard);
glutSpecialFunc(ArrowKey);
glutMainLoop();
return 0;

}
 

lunes, 7 de octubre de 2013

Modelados


MODELADO GEOMÉTRICO

Los modelos gráficos también se les conocen como modelos geométricos, debido a que las partes componentes de un sistema se representan con entidades geométricas como líneas, polígonos o circunferencias de modo que el término modelo se refiere a una representación geométrica generada por la computadora.

Describen componentes con propiedades geométricas inherentes y por lo tanto se presentan en forma natural a la representación gráfica. Formas entre los que se puede representar un modelo geométrico:

 

EJEMPLOS

Formas entre los que se puede representar un modelo geométrico:

 

· Distribución espacial y forma de los componentes y otros componentes que afectan a la apariencia de los componentes.

· Conectividad de los componentes.              

· Los valores de datos específicos para la aplicación.

 

 


 

 

MODELADO DE SUPERFICIE.

Es la estimación de los valores de una superficie en cualquiera de sus puntos, partiendo de un conjunto de datos de muestreo (x, y, z), denominados puntos de control.

 EJEMPLOS

 

 

 


 

 

APLICACIONES:

 

* Geología.

* Geofísica.

* Meteorología.

* Ingeniería Ambiental.

* Economía.

* Medicina.

 

Las herramientas modelado de superficies de MicroStation le permiten crear todo tipo de superficies, desde las más sencillas hasta superficies complejas B-spline y, si es necesario, mallas. Por ejemplo, puede empezar con una superficie sencilla y, a continuación, modificarla y manipularla hasta conseguir la forma poligonal que desee.

Otras herramientas le permiten crear un “armazón” a partir de perfiles o secciones y a continuación cubrirlo con una superficie o también puede extraer y girar una superficie a partir de un perfil.

El modelo algebraico describe un sólido a partir de su frontera. (Conjunto de superficies que separa el sólido de la parte del espacio no ocupada por el). La frontera se puede ver como la piel del sólido. Obviamente cualquier superficie no determina un sólido. Para que un conjunto de superficies describan un sólido deben satisfacer la siguiente propiedad Encierra un volumen.

La piel es cerrada, orientada y completa. Que la piel sea cerrada y esté orientada permite determinar si un punto está dentro del sólido, y por tanto obtener el modelo topológico.  

MODELADO DE SÓLIDO.

El modelado de sólidos es una rama del modelado geométrico que hace énfasis en la aplicabilidad general de modelos, e insiste únicamente en la creación de representaciones “completas” de objetos físicos sólidos, esto es, representaciones que son adecuadas para la respuesta de preguntas geométricas arbitrarias de manera algorítmica.

El objetivo de la aplicabilidad general, separa al modelado de sólidos de otros tipos de modelado geométrico, los cuales están enfocados hacia propósitos especiales. Los modelos gráficos (Graphical Models) intentan describir un  dibujo de un objeto más que el objeto en sí mismo.

Los modelos de forma (Shape Models) representan una imagen de un objeto. Estos modelos pueden ser colecciones no estructuradas de elementos de imagen, o pueden tener alguna estructura interna para proporcionar operaciones de procesamiento de la imagen. Los modelos de superficie (Surface Models) proporcionan información detallada de una superficie curva, pero no siempre dan suficiente información para determinar todas las propiedades geométricas de un objeto limitado por la superficie.

El modelado de sólidos es el conjunto de teorías, técnicas y sistemas orientados a la representación “completa en cuanto a información” de sólidos. Dicha representación debe permitir (al menos en principio) calcular automáticamente cualquier propiedad bien conocida de cualquier solido almacenado.

Con los sólidos representados necesitaremos, además de visualizarlos y editarlos, calcular sus propiedades físicas (por ejemplo su peso o su centro de gravedad), y simular sobre ellos procesos físicos (como la transmisión de calor en su interior).

Antes de plantearnos como realizar la representación, es necesario concretar cuáles son los objetos a representar. Es decir, formalizar lo que entenderemos por sólido. Hay dos aproximaciones diferentes al problema, una que caracteriza al sólido como un conjunto de puntos 3D, conocida como modelo topológico o de conjunto de puntos, y otra que caracteriza matemáticamente al solido a partir de la superficie que lo delimita, esto es, su piel o frontera.

De este modo estableceremos un sistema de representación con tres niveles: sólidos físicos, modelos matemáticos de sólidos y representaciones.

 

EJEMPLOS:

BLOQUE:Origen, altura, anchura, profundidad.

 •CILINDRO: Origen, radio y longitud.

 •CONO: Origen, radio base, radio superior y altura.

 •ESFERA: Centro y radio (diámetro).

 •CUÑA: Origen, altura anchura y profundidad de la base.

 •TORO: Centro, radio interno y radio externo.