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