В информатике , взаимодействии человека с компьютером и проектировании взаимодействия прямое манипулирование — это подход к интерфейсам, который предполагает непрерывное представление интересующих объектов вместе с быстрыми, обратимыми и постепенными действиями и обратной связью. [1] В отличие от других стилей взаимодействия, например командного языка , цель прямого манипулирования состоит в том, чтобы позволить пользователю манипулировать представленными ему объектами , используя действия, которые хотя бы приблизительно соответствуют манипулированию физическими объектами . Примером прямого манипулирования является изменение размера графической фигуры , например прямоугольника, путем перетаскивания его углов или краев мышкой .
Наличие реальных метафор для объектов и действий может облегчить пользователю изучение и использование интерфейса (некоторые могут сказать, что интерфейс более естественен или интуитивно понятен), а быстрая, постепенная обратная связь позволяет пользователю совершать меньше ошибок и выполнять задания. задачи за меньшее время, поскольку они могут видеть результаты действия еще до его завершения, таким образом оценивая результат и компенсируя ошибки.
Этот термин был введен Беном Шнейдерманом в 1982 году в контексте офисных приложений и метафоры рабочего стола . [2] [3] Ученые и ученые-компьютерщики, исследующие будущие пользовательские интерфейсы, часто придают столько же или даже больше внимания тактильному управлению и обратной связи или звуковому управлению и обратной связи, чем визуальной обратной связи, обеспечиваемой большинством графических интерфейсов . В результате этот термин получил более широкое распространение в этих средах. [ нужна цитата ]
Прямое манипулирование тесно связано с интерфейсами, в которых используются окна, значки, меню и указательное устройство ( WIMP GUI), поскольку они почти всегда в той или иной степени включают в себя прямое манипулирование. Однако не следует путать прямое манипулирование с другими терминами, поскольку оно не подразумевает использование окон или даже графического вывода. Например, концепции прямого манипулирования могут быть применены к интерфейсам для слепых или слабовидящих пользователей с использованием комбинации тактильных и звуковых устройств и программного обеспечения.
Часто встречаются компромиссы в степени, в которой интерфейс реализует прямое манипулирование. Например, большинство версий оконных интерфейсов позволяют пользователям перемещать окно, перетаскивая его мышью. В ранних системах перерисовка окна во время перетаскивания была невозможна из-за вычислительных ограничений. Вместо этого при перетаскивании рисовался прямоугольный контур окна. Полное содержимое окна перерисовывалось, как только пользователь отпускал кнопку мыши.
Из-за сложности визуализации и управления различными аспектами компьютерной графики, включая создание и редактирование геометрии, анимацию, расположение объектов и камер, размещение света и другие эффекты, прямое манипулирование является важной частью компьютерной 3D-графики. Существуют стандартные виджеты прямого манипулирования , а также множество уникальных виджетов, которые разработаны либо как лучшее решение старой проблемы, либо как решение новой и/или уникальной проблемы. Виджеты пытаются позволить пользователю изменять объект в любом возможном направлении, а также предоставляют простые руководства или ограничения, позволяющие пользователю легко изменять объект в наиболее распространенных направлениях, а также пытаются быть максимально интуитивно понятными в отношении функции виджетов. виджет, насколько это возможно. Три наиболее распространенных виджета трансформации в основном стандартизированы:
В зависимости от конкретных стандартных вариантов использования объекта могут использоваться различные виды виджетов. Например, свет в компьютерной графике, как и любой другой объект, также определяется трансформацией (переносом и вращением), но иногда он позиционируется и направляется просто с помощью положений его конечных точек. Это связано с тем, что может быть более интуитивно понятным определить местоположение источника света, а затем определить цель света, а не вращать его вокруг осей координат, чтобы направить его в известное положение.
Другие виджеты могут быть уникальными для конкретного инструмента, например, элементы управления краями для изменения конуса прожектора, точки и маркеры для определения положения и вектора касательной для контрольной точки сплайна, круги переменного размера для определения ширины фильтра размытия или кисть. размер, мишени IK для рук и ног или цветовые круги и образцы для быстрого выбора цвета. Сложные виджеты могут даже включать в себя некоторые элементы научной визуализации для эффективного представления соответствующих данных (например, векторные поля для эффектов частиц или изображения в искусственных цветах для отображения карт вершин).
Прямое манипулирование, как и дизайн пользовательского интерфейса в целом для задач трехмерной компьютерной графики, по-прежнему остается активной областью изобретений и инноваций. Процесс создания изображений компьютерной графики не считается интуитивно понятным или простым по сравнению со сложностью того, что хочет сделать пользователь, особенно для сложных и менее распространенных задач. Например, широко используется пользовательский интерфейс для обработки текста. Его легко освоить новым пользователям, и его достаточно для большинства целей обработки текста, поэтому это в основном решенный и стандартизированный пользовательский интерфейс. Однако пользовательские интерфейсы для компьютерной 3D-графики обычно либо сложны в освоении и использовании, либо недостаточно мощны для сложных задач, либо сложны в освоении и использовании, поэтому прямое манипулирование и пользовательские интерфейсы будут сильно различаться от приложения к приложению.