Я хотел бы настроить пользовательский интерфейс для 2D-квадрата для доступа в Интернет. Есть идеи? [закрыто]

У меня есть друг, который является квадратом (т.е. он живет в двухмерной плоскости на поверхности стола, который я держу в своей спальне). У него приличный слух и он понимает по-английски, но я уже устал объяснять ему всю эту трехмерную штуку лично. Мне интересно, могу ли я просто настроить API, чтобы он мог получить доступ к Интернету, а затем он мог бы найти что-то для себя. Предпочтительно, чтобы он мог взаимодействовать с графическими интерфейсами, чтобы он мог участвовать в форумах, таких как этот.

Любые предложения по наиболее практичному способу настройки такого пользовательского интерфейса? Квадрат умеет говорить и передвигаться по плоскости. Он также может слышать звуки и видеть отражения от стен (края формы), когда я проецирую на них разный свет.


Изменить: @AlexP прав. Я должен был сказать UI. Я исправил это выше.

Кроме того, я должен уточнить, что я буду создавать пользовательский интерфейс в трех измерениях, поэтому не беспокойтесь о технических проблемах построения в двух измерениях.

Было несколько хороших отзывов, но в идеале я хотел бы, чтобы он мог взаимодействовать с графикой. Любые предложения о том, как это может быть выполнено?

Что означает «API» в этом вопросе? Это, безусловно, не означает интерфейс прикладного программирования .
вы пытаетесь настроить Flatland 2.0?
Скорее (G)UI, чем API? Последние определяют взаимодействие между процессами, я думаю, вам нужен пользовательский интерфейс.
Разве он не может просто ползать по сенсорному экрану, активируя видимые элементы управления, когда это необходимо?
@ Александр «Он» живет в 2D, поэтому для него нет «сверху».
Значит, нет взаимодействия с окружающей средой по всему телу, только по периметру? Чувствует ли он цвет изображения хотя бы на краю?
"Заниматься форумами", чтобы мы могли ему все объяснить? xkcd.com/1897
Я думаю, что вы слишком много думали об этом. Это решаемая проблема. en.wikipedia.org/wiki/Computer_accessibility
@ Александр Он может «видеть» одномерную линию, включая цвет. Если он врезается во что-то, он может это почувствовать, а также может почувствовать резкость/гладкость всего, к чему он прикасался.
Решение уже есть, не нужно много строить. У вашего квадрата хороший слух, но практически бесполезное зрение. Звучит как слепой человек для меня. Готовое программное обеспечение для чтения с экрана. Все, что вам нужно, это каким-то образом, чтобы ваш квадрат нажимал какие-то клавиши.

Ответы (6)

Кривые Гильберта

Ваш квадратный друг воспринимает стол как одномерную полосу. Вы просматриваете веб-страницы в двухмерном браузере. Так что мне кажется, вам просто нужно преобразовать двумерный массив пикселей в вашем браузере в одномерный массив пикселей и разместить их на столе. Как бы не интуитивно это звучало, это возможно с помощью так называемой кривой заполнения пространства . Вот пример, называемый кривой Гильберта :

кривая Гильберта
из Википедии

Преимущество составления карты таким образом заключается в том, что ( Икс , у ) точки, близкие на двумерной карте, остаются близкими на одномерной карте. Таким образом, при прокрутке расположение кнопок, текста и т. д. остается постоянным (хотя иногда и разрозненным). Кроме того, двумерный массив не обязательно должен иметь то же количество точек, что и одномерный массив, как видно из анимации.

Пример

Я привел пример того, как это может выглядеть. Рассмотрим следующее 64 × 64 картинка (увеличена для вида):
кошка фото 1

Теперь давайте применим преобразование Гильберта, чтобы взять 64 × 64 знак равно 4096 растяжка пикселей:
кошка 1д(Я продублировал его 256 раз подряд, чтобы никому не пришлось смотреть на изображение высотой в 1 пиксель). Мне кажется мем с одномерным котом ;)

Клавиатура и мышь

Клавиатура довольно проста; возьмите клавиатуру и выложите клавиши в одномерный массив. Ввод с помощью мыши немного сложнее. У вас есть возможность либо отобразить мышь на одномерный дисплей, либо оставить мышь привязанной к двухмерному дисплею и позволить вашему квадратному другу управлять мышью, перемещаясь по двухмерному столу. Лично я думаю, что 1-d карта мыши была бы более интуитивно понятной.

+1 За создание одномерного кошачьего мема. Моему другу, вероятно, потребуется некоторое время, чтобы прочитать такие картинки, но я думаю, он со всем разберется.

Ввод должен быть полностью звуковым. Ваш друг должен ограничить просмотр каким-либо большим текстовым источником, где текст имеет предсказуемый формат. Например Википедия. Затем вы пишете программу преобразования текста в речь, которая берет любую указанную им страницу и читает ее для него.

Вы устанавливаете «кнопки» на столе. . .

введите описание изображения здесь

. . . где датчик освещенности замечает изменение цвета, когда он входит в зону. Это позволяет ему вводить строку символов, для которой он хочет следующую страницу, а также переходить вперед и назад по повествованию.

Так как же он выбирает гиперссылки в тексте, когда текст озвучивается?
Он не выбирает гиперссылки.

Мы понимаем данные в Интернете обычно через экран компьютера, по сути, 2D-объект. Ваш друг существует и думает в 2D, но может воспринимать только 1D, если предположить, что он не может видеть сквозь стены (мы существуем в 3D, но видим только 2D. Восприятие глубины здесь очень помогает). Лучший способ, который я могу придумать, чтобы отправить данные таким образом, чтобы он мог их прочитать, — это азбука Морзе.

Если у вас настроена сеть, которая позволяет ему посещать страницы, то любой текст на этих страницах может быть преобразован в азбуку Морзе и помещен на лист бумаги на краю стола, что позволит вашему другу прочитать его.

В качестве альтернативы, если он может говорить/слышать, то вам, вероятно, будет намного проще создать систему преобразования текста в речь, а вашему другу привыкнуть к ней.

Или просто бинарный. ;-)

Двухмерное существо не может понять 3-е измерение...

Для двумерного существа вы всегда будете только отрезком линии, ширина которого соответствует количеству материала, в котором ваше тело делит пополам его плоскость восприятия. Для двухмерного существа сфера была бы просто растущим и сужающимся кругом, проходя через его план восприятия. Он никак не мог когда-либо воспринять или понять, что такое больше, чем 2 измерения, не став при этом трехмерным существом.введите описание изображения здесь

...Поэтому нам придется переводить вещи в его восприятие

Что касается настройки компьютерного интерфейса для чтения и доступа к данным, то их необходимо перевести из нашего пространственного восприятия в его собственное. Я думаю, что клавиатуру с лазерной проекцией нужно будет адаптировать к двухмерным символам, которые он сможет расшифровать как буквы нашего алфавита.

введите описание изображения здесь

Я думаю о брайлевской системе линий и тире, соответствующих буквам нашего алфавита (ему тоже придется научиться читать эту систему). письма для использования компьютера. Для изображений вы должны «нарезать» трехмерный рендеринг и отображать их ему сверху вниз по одному фрагменту за раз. У него никогда не будет полного понимания того, что такое 3D на самом деле, но теперь вы дали своему плоскому другу метод, с помощью которого он может взаимодействовать с нашим миром за пределами звука.

Я думаю, что программа слайсера для 3D-рендеринга может быть заимствована из программного обеспечения для 3D-печати. Его можно было бы приспособить для проецирования ему по кусочкам вместо того, чтобы печатать по кусочкам за раз.введите описание изображения здесь

Честная оценка. Хотя интернет в основном 2D. Поэтому, хотя есть контент, который квадрату будет сложно понять, я думаю, должен быть способ, которым он мог бы взаимодействовать с большей его частью.
Хорошо, но как это отвечает на вопрос об API?
Правильный Молот, я представил частичную выгрузку. Спасибо, что поймали это. Буду пересматривать.
Тем не менее, мы можем понять гиперкубы и визуализировать их 3D- и 2D-аппроксимации... Ваш ответ был помечен как некачественный, и хотя я не буду рекомендовать его к удалению, я думаю, что ваш ответ слишком упрощен/наивен до такой степени, что он неверен .
Это связано с тем, что гиперкубы являются одним из редких политипов, которые могут быть представлены в любом количестве существующих измерений.
Вы можете наклонить его плоскость восприятия, чтобы он смог воспринять Сферу во всей ее красе. Взорвет его мозг!
В какую бы сторону ни было направлено его поле восприятия, он воспринимает только отрезок прямой.

На самом деле это не должно быть проблемой для полностью дееспособного квадрата, немного сложнее для отключенного квадрата.

Хотя кто-то вроде Стивена Хокинса, RIP, действительно был трехмерным, его физическая способность использовать компьютер со стандартными входными данными была, мягко говоря, ограничена. К счастью, мы разработали различные системы и устройства, позволяющие людям с ограниченными физическими возможностями пользоваться компьютерами.

Первый шаг — это вывод, потому что вы не можете взаимодействовать с системой, если у вас нет обратной связи.

Я бы предположил, возможно, ошибочно, что 2D-экран для 2D-персонажа — это то же самое, что один из этих причудливых научно-фантастических 3D-дисплеев для человека, он может быть излишним и излишне сложным, но все же должен быть понятным.

В случае, если ваш 2D-приятель не может визуально понять экран, в Windows (и я предполагаю, что в других системах) есть специальные возможности для описания того, что находится на экране. Я никогда ими не пользовался, так что не могу за них ручаться, но они предназначены для людей с нарушениями зрения, и я предполагаю, что они работают достаточно хорошо.

Теперь предположим, что ваш квадрат хорошо понимает, что происходит на экране. Если он этого не сделает, шансы, что даже превращение его в трехмерное существо не поможет.

Если ваш квадрат может двигаться, это движение может быть обнаружено (например, с помощью камеры или чего-то вроде мата DDR), у вас фактически есть указатель мыши. Если ваш квадрат может говорить вдобавок к этому, вам нужно настроить команду для щелчка левой кнопкой мыши, щелчка правой кнопкой мыши, двойного щелчка и т. д., а затем установить имеющееся в продаже программное обеспечение для преобразования речи в текст для набора текста. Это был бы самый простой и прямой способ взаимодействия с экраном компьютера.

В случае, если ваш квадрат не может двигаться или говорить, вам придется адаптировать что-то под его особые способности. Основные элементы управления, которые вам необходимо сопоставить, включают выделение (например, щелчок), изменение выделения (например, перемещение курсора, сочетание клавиш Alt+Tab), набор текста (который подразумевает словарь команд для каждой буквы плюс некоторые специальные символы, альтернативно звуки или слоги вместо отдельные символы), и этого должно быть достаточно для навигации по сети.


Помните, что люди с ограниченными возможностями по-прежнему хотели бы пользоваться компьютерами, и что мы придумали для них решения. Некоторые из них могут быть родными для вашей системы, некоторые могут быть коммерчески доступными, некоторые могут быть более DYI, но это все равно должно быть выполнимо.

Очевидно, что тот, кто их использует, должен лучше меня понимать свои сильные стороны и ограничения.

Если ваш квадрат может видеть, пусть даже только одномерно, у него, вероятно, будет опыт просмотра двухмерного пространства, точно так же, как мы можем получить хорошее представление о трех измерениях вокруг нас только посредством нашего двухмерного зрения.
Это означает, что вы можете поместить лист полупрозрачного материала в плане жизни вашего куба, на который вы проецируете экран своего компьютера (возможно, с применением лупы). Немного подвигавшись, квадрат, вероятно, смог бы догадаться, что находится в плоскости.

Если это слишком сложно для него, вы можете даже попробовать спроецировать изображение на туман, в котором квадрат может свободно перемещаться, чтобы «сканировать» его. Это, вероятно, все еще будет казаться ему более естественным, чем искусственная нарезка.