У меня есть друг, который является квадратом (т.е. он живет в двухмерной плоскости на поверхности стола, который я держу в своей спальне). У него приличный слух и он понимает по-английски, но я уже устал объяснять ему всю эту трехмерную штуку лично. Мне интересно, могу ли я просто настроить API, чтобы он мог получить доступ к Интернету, а затем он мог бы найти что-то для себя. Предпочтительно, чтобы он мог взаимодействовать с графическими интерфейсами, чтобы он мог участвовать в форумах, таких как этот.
Любые предложения по наиболее практичному способу настройки такого пользовательского интерфейса? Квадрат умеет говорить и передвигаться по плоскости. Он также может слышать звуки и видеть отражения от стен (края формы), когда я проецирую на них разный свет.
Изменить: @AlexP прав. Я должен был сказать UI. Я исправил это выше.
Кроме того, я должен уточнить, что я буду создавать пользовательский интерфейс в трех измерениях, поэтому не беспокойтесь о технических проблемах построения в двух измерениях.
Было несколько хороших отзывов, но в идеале я хотел бы, чтобы он мог взаимодействовать с графикой. Любые предложения о том, как это может быть выполнено?
Ваш квадратный друг воспринимает стол как одномерную полосу. Вы просматриваете веб-страницы в двухмерном браузере. Так что мне кажется, вам просто нужно преобразовать двумерный массив пикселей в вашем браузере в одномерный массив пикселей и разместить их на столе. Как бы не интуитивно это звучало, это возможно с помощью так называемой кривой заполнения пространства . Вот пример, называемый кривой Гильберта :
Преимущество составления карты таким образом заключается в том, что точки, близкие на двумерной карте, остаются близкими на одномерной карте. Таким образом, при прокрутке расположение кнопок, текста и т. д. остается постоянным (хотя иногда и разрозненным). Кроме того, двумерный массив не обязательно должен иметь то же количество точек, что и одномерный массив, как видно из анимации.
Я привел пример того, как это может выглядеть. Рассмотрим следующее
картинка (увеличена для вида):
Теперь давайте применим преобразование Гильберта, чтобы взять
растяжка пикселей:
(Я продублировал его 256 раз подряд, чтобы никому не пришлось смотреть на изображение высотой в 1 пиксель). Мне кажется мем с одномерным котом ;)
Клавиатура довольно проста; возьмите клавиатуру и выложите клавиши в одномерный массив. Ввод с помощью мыши немного сложнее. У вас есть возможность либо отобразить мышь на одномерный дисплей, либо оставить мышь привязанной к двухмерному дисплею и позволить вашему квадратному другу управлять мышью, перемещаясь по двухмерному столу. Лично я думаю, что 1-d карта мыши была бы более интуитивно понятной.
Ввод должен быть полностью звуковым. Ваш друг должен ограничить просмотр каким-либо большим текстовым источником, где текст имеет предсказуемый формат. Например Википедия. Затем вы пишете программу преобразования текста в речь, которая берет любую указанную им страницу и читает ее для него.
Вы устанавливаете «кнопки» на столе. . .
. . . где датчик освещенности замечает изменение цвета, когда он входит в зону. Это позволяет ему вводить строку символов, для которой он хочет следующую страницу, а также переходить вперед и назад по повествованию.
Мы понимаем данные в Интернете обычно через экран компьютера, по сути, 2D-объект. Ваш друг существует и думает в 2D, но может воспринимать только 1D, если предположить, что он не может видеть сквозь стены (мы существуем в 3D, но видим только 2D. Восприятие глубины здесь очень помогает). Лучший способ, который я могу придумать, чтобы отправить данные таким образом, чтобы он мог их прочитать, — это азбука Морзе.
Если у вас настроена сеть, которая позволяет ему посещать страницы, то любой текст на этих страницах может быть преобразован в азбуку Морзе и помещен на лист бумаги на краю стола, что позволит вашему другу прочитать его.
В качестве альтернативы, если он может говорить/слышать, то вам, вероятно, будет намного проще создать систему преобразования текста в речь, а вашему другу привыкнуть к ней.
Двухмерное существо не может понять 3-е измерение...
Для двумерного существа вы всегда будете только отрезком линии, ширина которого соответствует количеству материала, в котором ваше тело делит пополам его плоскость восприятия. Для двухмерного существа сфера была бы просто растущим и сужающимся кругом, проходя через его план восприятия. Он никак не мог когда-либо воспринять или понять, что такое больше, чем 2 измерения, не став при этом трехмерным существом.
...Поэтому нам придется переводить вещи в его восприятие
Что касается настройки компьютерного интерфейса для чтения и доступа к данным, то их необходимо перевести из нашего пространственного восприятия в его собственное. Я думаю, что клавиатуру с лазерной проекцией нужно будет адаптировать к двухмерным символам, которые он сможет расшифровать как буквы нашего алфавита.
Я думаю о брайлевской системе линий и тире, соответствующих буквам нашего алфавита (ему тоже придется научиться читать эту систему). письма для использования компьютера. Для изображений вы должны «нарезать» трехмерный рендеринг и отображать их ему сверху вниз по одному фрагменту за раз. У него никогда не будет полного понимания того, что такое 3D на самом деле, но теперь вы дали своему плоскому другу метод, с помощью которого он может взаимодействовать с нашим миром за пределами звука.
Я думаю, что программа слайсера для 3D-рендеринга может быть заимствована из программного обеспечения для 3D-печати. Его можно было бы приспособить для проецирования ему по кусочкам вместо того, чтобы печатать по кусочкам за раз.
На самом деле это не должно быть проблемой для полностью дееспособного квадрата, немного сложнее для отключенного квадрата.
Хотя кто-то вроде Стивена Хокинса, RIP, действительно был трехмерным, его физическая способность использовать компьютер со стандартными входными данными была, мягко говоря, ограничена. К счастью, мы разработали различные системы и устройства, позволяющие людям с ограниченными физическими возможностями пользоваться компьютерами.
Первый шаг — это вывод, потому что вы не можете взаимодействовать с системой, если у вас нет обратной связи.
Я бы предположил, возможно, ошибочно, что 2D-экран для 2D-персонажа — это то же самое, что один из этих причудливых научно-фантастических 3D-дисплеев для человека, он может быть излишним и излишне сложным, но все же должен быть понятным.
В случае, если ваш 2D-приятель не может визуально понять экран, в Windows (и я предполагаю, что в других системах) есть специальные возможности для описания того, что находится на экране. Я никогда ими не пользовался, так что не могу за них ручаться, но они предназначены для людей с нарушениями зрения, и я предполагаю, что они работают достаточно хорошо.
Теперь предположим, что ваш квадрат хорошо понимает, что происходит на экране. Если он этого не сделает, шансы, что даже превращение его в трехмерное существо не поможет.
Если ваш квадрат может двигаться, это движение может быть обнаружено (например, с помощью камеры или чего-то вроде мата DDR), у вас фактически есть указатель мыши. Если ваш квадрат может говорить вдобавок к этому, вам нужно настроить команду для щелчка левой кнопкой мыши, щелчка правой кнопкой мыши, двойного щелчка и т. д., а затем установить имеющееся в продаже программное обеспечение для преобразования речи в текст для набора текста. Это был бы самый простой и прямой способ взаимодействия с экраном компьютера.
В случае, если ваш квадрат не может двигаться или говорить, вам придется адаптировать что-то под его особые способности. Основные элементы управления, которые вам необходимо сопоставить, включают выделение (например, щелчок), изменение выделения (например, перемещение курсора, сочетание клавиш Alt+Tab), набор текста (который подразумевает словарь команд для каждой буквы плюс некоторые специальные символы, альтернативно звуки или слоги вместо отдельные символы), и этого должно быть достаточно для навигации по сети.
Помните, что люди с ограниченными возможностями по-прежнему хотели бы пользоваться компьютерами, и что мы придумали для них решения. Некоторые из них могут быть родными для вашей системы, некоторые могут быть коммерчески доступными, некоторые могут быть более DYI, но это все равно должно быть выполнимо.
Очевидно, что тот, кто их использует, должен лучше меня понимать свои сильные стороны и ограничения.
Если ваш квадрат может видеть, пусть даже только одномерно, у него, вероятно, будет опыт просмотра двухмерного пространства, точно так же, как мы можем получить хорошее представление о трех измерениях вокруг нас только посредством нашего двухмерного зрения.
Это означает, что вы можете поместить лист полупрозрачного материала в плане жизни вашего куба, на который вы проецируете экран своего компьютера (возможно, с применением лупы). Немного подвигавшись, квадрат, вероятно, смог бы догадаться, что находится в плоскости.
Если это слишком сложно для него, вы можете даже попробовать спроецировать изображение на туман, в котором квадрат может свободно перемещаться, чтобы «сканировать» его. Это, вероятно, все еще будет казаться ему более естественным, чем искусственная нарезка.
AlexP
Л.Датч
Карл
Александр
StephenG - Помощь Украине
Александр
Карл
Мычащая утка
Danxinnoble
Лорен Пехтел