§ 189. Плоттер. Часть первая.
Плоттеры появились, прежде чем красивые лазерные и струйные принтеры. И тем не менее, они возвращаются как музыка 80-х , на этот раз в пересечении механики, кода и искусства.
Эта я машина, открывает новый мир мышления. Плоттер — это аппарат, который действует как роботизированная рука, на которую вы можете прикрепить обычную ручку. Программное обеспечение отправляет команды устройству, чтобы поднять, переместить и опустить его части на 2D-поверхность. Благодаря этому плоттер может быть запрограммирован на создание сложных и точных чертежей с ручкой и бумагой по вашему выбору.
Сервомотор позволяет перемещать пишущее перо в определенном вертикальном положении, но также можно думать об этом как о двоичном: вверх (не рисование) или вниз (рисунок). Представить себе попытку изменить давление в ручке, очень сложно без идеально ровной и параллельной поверхности, и между касанием и полным касанием очень мало моторного разрешения.
Сейчас во времена тотального ускорение, когда время затраченное на чертеж имеет значение, требуется новые алгоритмы построение изображений и новые идеи.
ближайшая конечная точка. Представьте себе, что нужно нарисовать кучу параллельных линий, начиная с X = 0 и заканчивая на X = 1, при разных значениях Y. Наиболее эффективно будем рисовать линию от 0 до 1 и каждый раз набирать следующий от 1 до 0, поочередно. Чтобы эффективно вычислить это упорядочение, предлагаю пространственный хэш-индекс.
Соединение путей Как только заканчиваются пути, можно объединить последовательные пути, конечные точки которых находятся в пределах некоторого допуска. Таким образом, если путь A заканчивается очень близко к тому, где начинается путь B (в пределах диаметра наконечника пера), не нужно беспокоиться, поднимая ручку. Это может также сэкономить много времени, в зависимости от характера рисунка. Это тривиально реализовать.
Упрощение путей После того, как разобрались и присоединили к пути, теперь возможно упростить их, опять же, до некоторого определенного допуска. Алгоритм Алгоритм Рамера — Дугласа — Пекера. Это простой способ реализовать упрощение полилинии. Это уменьшает объем данных, которые необходимо отправить на плоттер. Но что более важно, это улучшает результаты алгоритма планирования движения.
Суть алгоритма состоит в том, чтобы по данной ломаной, аппроксимирующей кривую, построить ломаную с меньшим числом точек. Алгоритм определяет расхождение, которое вычисляется по максимальному расстоянию между исходной и упрощённой кривыми. Упрощенная кривая состоит из подмножества точек, которые определяются из исходной кривой.
Начальная кривая представляет собой упорядоченный набор точек или линий, и заданное расстояние ε > 0. Начальная кривая показана на рисунке 0, упрощённая — на рисунке 4.
Если же расстояние больше ε, то алгоритм рекурсивно вызывает себя с на наборе от начальной до данной и от данной до конечной точках (что означает, что данная точка будет отмечена к сохранению).
Физический генеративный код За последние годы люди открывали способы создания физических выходов из генеративного кода. Их интересует идея создания реальных, осязаемых объектов, которые больше не связаны порождающими системами, которые формировали их. В конце концов это перейдет на 3D-печать, лазерной резку, фрезерованием с ЧПУ и другими способами в реальном мире.
Часто эти плоттеры и механические устройства контролируются такими форматами, как HP-GL или G-код. Эти форматы определяют, как машина должна подниматься, перемещаться и размещаться со временем.
Это не новая концепция; Вера Мольнар, ранний пионер в области компьютерного искусства, занималась этим еще в 1960-х годах!