Me gustaría configurar una interfaz de usuario para un cuadrado 2D para acceder a Internet. ¿Alguna idea? [cerrado]

Tengo un amigo que es un cuadrado (es decir, vive en un plano bidimensional en la superficie de una mesa que tengo en mi dormitorio). Tiene un oído decente y entiende inglés, pero me estoy cansando de tratar de explicarle todo este asunto tridimensional en persona. Me pregunto si podría configurar una API para que él pueda acceder a Internet y luego pueda descubrir las cosas por sí mismo. Preferiblemente, podría interactuar con GUI, para poder participar en foros como este.

¿Alguna sugerencia sobre la forma más práctica de configurar una interfaz de usuario de este tipo? El cuadrado es capaz de hablar y moverse en el plano. También es capaz de escuchar sonidos y ver reflejos en las paredes (bordes de formas) cuando proyecto una luz diferente sobre ellos.


Editar: @AlexP tiene razón. Debería haber dicho interfaz de usuario. Lo he arreglado arriba.

Además, debo aclarar que construiré la interfaz de usuario en 3 espacios, así que no te preocupes por los desafíos técnicos de construir en 2 dimensiones.

Ha habido algunas buenas respuestas, pero idealmente me gustaría que pudiera interactuar con gráficos. ¿Alguna sugerencia sobre cómo podría lograrse?

¿Qué significa "API" en esta pregunta? Ciertamente no significa interfaz de programación de aplicaciones .
¿Estás tratando de configurar un flatland 2.0?
¿Más bien una (G)UI que una API? Estos últimos definen la comunicación entre procesos, supongo que quieres una interfaz de usuario.
¿No puede simplemente arrastrarse sobre una pantalla táctil, activando controles visibles cuando sea necesario?
@Alexander "Él" vive en 2D, por lo que no hay "terminación" para él.
Entonces, ¿no hay interacción con el entorno en todo su cuerpo, solo en el perímetro? ¿Puede sentir el color de una imagen en su borde, al menos?
¿"Participar en foros", para que podamos explicarle todo? xkcd.com/1897
Creo que has pensado demasiado en esto. Este es un problema resuelto. en.wikipedia.org/wiki/Computer_accessibility
@Alexander Puede "ver" una línea unidimensional que incluye el color. Si choca contra algo, puede sentirlo y también puede sentir la nitidez/suavidad de todo lo que tocó.
La solución ya está disponible, no es necesario construir mucho. Su cuadrado tiene una audición adecuada pero una visión efectivamente inútil. Me suena a ciego. Software de lectura de pantalla listo para usar. Todo lo que necesita es de alguna manera para que su cuadrado presione algunas teclas.

Respuestas (6)

Curvas de Hilbert

Tu amigo cuadrado experimenta la mesa como una tira unidimensional. Navegas por la web en un navegador bidimensional. Entonces, me parece que solo necesita convertir la matriz de píxeles 2-d en su navegador en una matriz de píxeles unidimensional y colocarlos en la mesa. Por poco intuitivo que parezca, esto es posible con algo llamado curva de relleno de espacio . Aquí hay un ejemplo llamado curva de hilbert :

curva de hilbert
de Wikipedia

La ventaja de hacer el mapa de esta manera es que ( X , y ) los puntos que están cerca en el mapa 2-d todavía están cerca en el mapa 1-d. Por lo tanto, las ubicaciones de los botones, el texto, etc. son consistentes (aunque ocasionalmente se desarticulan) al desplazarse. Además, la matriz de 2 dimensiones no necesita tener la misma cantidad de puntos que la matriz de 1 dimensión, como es evidente en la animación.

Ejemplo

Preparé un ejemplo de cómo se vería esto. Considera lo siguiente 64 × 64 imagen (ampliada por apariencia):
foto de gato 1

Ahora apliquemos una transformación de hilbert para tomar el 64 × 64 = 4096 extensión de píxeles:
gato 1d(lo dupliqué 256 veces seguidas para que nadie tuviera que mirar una imagen de 1 píxel de alto). Me parece un meme de gato en 1-d ;)

Teclado y ratón

El teclado es bastante fácil; tome un teclado y coloque las teclas en una matriz unidimensional. La entrada del mouse es un poco más complicada. Tiene la opción de asignar el mouse a la pantalla 1-d o mantener el mouse asignado a la pantalla 2-d y permitir que su amigo cuadrado opere el mouse moviéndose en la tabla 2-d. Personalmente, creo que encontraría el mapa de mouse 1-d más intuitivo.

+1 Por generar un gato-meme 1-D. Probablemente le tome un tiempo a mi amigo leer imágenes como esa, pero creo que lo resolverá.

La entrada debe estar completamente basada en el sonido. Su amigo debe restringir su navegación a alguna fuente grande basada en texto donde el texto tenga un formato predecible. Por ejemplo Wikipedia. Luego escribes un programa de texto a voz que toma cualquier página que él especifique y la lee por él.

Colocas 'botones' en la mesa. . .

ingrese la descripción de la imagen aquí

. . . donde un sensor de luz nota el cambio de color cuando se mueve en el área. Esto le permite ingresar una cadena de caracteres para la siguiente página que quiere, así como saltar hacia adelante y hacia atrás a través de la narración.

Entonces, ¿cómo selecciona los hipervínculos en el texto a medida que se narra el texto?
No selecciona hipervínculos.

Entendemos los datos en Internet generalmente a través de una pantalla de computadora, esencialmente un objeto 2D. Tu amigo existe y piensa en 2D, pero solo puede percibir 1D, suponiendo que no pueda ver a través de las paredes (existimos en 3D, pero solo vemos 2D. Las percepciones de profundidad ayudan mucho aquí). La mejor manera que se me ocurre para enviar datos de forma que pueda leerlos es a través del código Morse.

Si tiene una red configurada que le permite visitar páginas, entonces cualquier texto en esas páginas podría convertirse en código Morse y colocarse en una hoja de papel en el borde de la mesa, permitiendo que su amigo lo lea.

Alternativamente, si él puede hablar/oír, entonces un sistema de texto a voz probablemente sería mucho más simple para ti y para que tu amigo se acostumbre.

O simplemente binario. ;-)

Un ser de 2 dimensiones no puede comprender la 3ra dimensión....

Para un ser bidimensional, solo serás un segmento de línea con un ancho correspondiente a la cantidad de material en el que tu cuerpo divide su plano de percepción. Para un ser bidimensional, una esfera sería simplemente un círculo que crece y se encoge a medida que pasa por su plano de percepción. No hay forma de que él pudiera percibir o comprender lo que eran más de 2 dimensiones sin convertirse él mismo en un ser de 3 dimensiones.ingrese la descripción de la imagen aquí

...Así que tendremos que traducir las cosas a sus percepciones

En cuanto a configurar una interfaz de computadora para que él pueda leer y acceder a los datos, tendría que traducirse de nuestras percepciones espaciales a las suyas. Estoy pensando que un teclado proyectado por láser tendría que adaptarse a símbolos bidimensionales que él podría descifrar como letras de nuestro alfabeto.

ingrese la descripción de la imagen aquí

Estoy pensando en un sistema similar al braille de líneas y guiones correspondientes a las letras de nuestro alfabeto (él también tendrá que aprender a leer este sistema). La computadora las traduciría a su versión de braille y también traduciría su entrada a la normalidad. letras para el uso de la computadora. Para las imágenes, "cortaría" una representación tridimensional y se las mostraría de arriba a abajo, una rebanada a la vez. Nunca tendrá una comprensión o entendimiento completo de lo que realmente es 3d, pero ahora le ha dado a su amigo plano un método por el cual puede interactuar con nuestro mundo más allá del sonido.

Creo que el programa de corte de renderizado 3D podría adoptarse del software de impresión 3D. Podría adaptarse para que se le proyecte una porción a la vez en lugar de imprimirse una porción a la vez.ingrese la descripción de la imagen aquí

Punto justo. Aunque Internet es principalmente 2D. Entonces, si bien hay contenido que el cuadrado tendrá problemas para comprender, creo que debería haber una forma en que pueda interactuar con la mayor parte.
Bien, pero ¿cómo responde esto a la pregunta de la API?
Molot correcto, envié una carga parcial. Gracias por captar eso. Revisará.
Sin embargo, podemos comprender los hipercubos y generar aproximaciones 3D y 2D de ellos... Su respuesta se marcó como de baja calidad y, aunque no recomendaré que se elimine, creo que su respuesta es demasiado simplista/ingenua hasta tal punto que es incorrecta . .
Esto se debe a que los hipercubos son uno de los raros politipos que pueden representarse en cualquier cantidad de dimensiones existentes.
Podrías inclinar su plano de percepción para que pueda percibir la Esfera en toda su gloria. ¡Hará volar su mente!
No importa en qué dirección mire su campo de percepción, solo percibe un segmento de línea

En realidad, no debería ser un problema para un cuadrado totalmente habilitado, un poco más complicado para un cuadrado discapacitado.

Si bien alguien como Stephen Hawkins, RIP, era realmente tridimensional, su capacidad física para usar una computadora con entradas estándar era limitada, por decir lo menos. Afortunadamente, hemos diseñado varios sistemas y dispositivos para permitir que las personas con discapacidades físicas usen las computadoras.

El primer paso es la salida, porque no puedes interactuar con un sistema si no tienes retroalimentación.

Supondría, quizás erróneamente, que una pantalla 2D para un personaje 2D es lo mismo que una de esas elegantes pantallas 3D de ciencia ficción para un humano, podría ser excesivo e innecesariamente complicado, pero aún así debería ser comprensible.

En caso de que su amigo 2D no pueda entender visualmente la pantalla, hay opciones de accesibilidad en Windows (y supongo que en otros sistemas) para describir lo que hay en la pantalla. Nunca los he usado, así que no puedo dar fe de ellos, pero están diseñados para personas con discapacidad visual y supongo que funcionan lo suficientemente bien.

Ahora asumiremos que su cuadrado tiene una buena idea de lo que está en la pantalla. Si no lo hace, es probable que incluso convertirlo en un ser tridimensional no ayude.

Si su cuadrado se puede mover, ese movimiento se puede detectar (con una cámara, por ejemplo, o algo como un tapete DDR), efectivamente tiene un puntero de mouse. Si su cuadrado puede hablar además de eso, debe configurar un comando para hacer clic con el botón izquierdo, clic con el botón derecho, hacer doble clic, etc. Luego, configure un software de voz a texto disponible comercialmente para escribir. Esa sería la forma más fácil y directa de interactuar con la pantalla de una computadora.

En el caso de que tu cuadrado no pueda moverse ni hablar, tendrás que adaptar algo a sus habilidades específicas. Los controles básicos que necesitará para mapear son la selección (p. ej., hacer clic), cambiar la selección (p. ej., mover el cursor, alt+tabulación), escribir (lo que implica un vocabulario de comandos para cada letra más algunos caracteres especiales, alternativamente sonidos o sílabas en lugar de caracteres individuales), y eso debería ser suficiente para navegar por la web.


Recuerde que a las personas con discapacidad todavía les gustaría usar computadoras y que hemos encontrado soluciones para ellas. Algunos de ellos pueden ser nativos de su sistema, algunos pueden estar disponibles comercialmente, algunos pueden ser más DYI, pero aún debería ser factible.

Obviamente, alguien que los use debería tener más información sobre sus fortalezas y limitaciones que yo.

Si su cuadrado puede ver, incluso si solo es unidimensional, probablemente tendrá experiencia con la visualización del espacio bidimensional, al igual que podemos obtener una buena comprensión de las tres dimensiones que nos rodean solo por medio de nuestra visión bidimensional.
Esto significa que podría poner una hoja de material semitransparente en el plano de vida de su cubo, sobre el cual proyecta la pantalla de su computadora (tal vez con una lupa aplicada). Moviéndose un poco, el cuadrado probablemente podría adivinar qué hay en el avión.

Si eso es demasiado difícil para él, incluso podría intentar proyectar la imagen en alguna niebla en la que el cuadrado pueda moverse libremente para "escanearla". Esto probablemente todavía se sentiría más natural para él que el corte artificial.