HPGL ??

From
Alex Astafiev (2:5000/228.16)
To
Ilja
Date
2002-05-15T11:29:44Z
Area
RU.ALGORITHMS
Здравствуй Ilja, ничего, если я тут на диванчик прилягу?


Получился поучительный пример "из жизни".




 >>
 >> Чрезвычайно запутаный вопрос. Навряд ли кто даст тебе ответ, так как
 >> алгоритмов обхода рисунка пером заданой толщины явно нет.


 I>   да наверняка где то есть, я ра бочие программы видел, правда
 I> "издали" :(


 >> Попробуй более формализировать задачу и разбить на составляющие,


 I>   я и попытался, мне именно надо алгоритм обхода рисунка пером заданой
 I> толщины да же и не знаю, как это разбть на части, просто рисунок по
 I> контуру я обойду, а мне надо обойти именно изнутри либо снаружи, и
 I> именно с заданным расстоянием от контура, можно попробовать "обрезать"
 I> рисунок на диаметр пера/фрезы, а остаток обойти по контуру, но как это
 I> корректо сделать, с минимальными потерями (опция - можно/нельзя
 I> "тонкие" места срезать) ?



 >> т.к. явно, что "скорость фрезы" и алгоритмика вещи мало совместимые.


 I>   дык оптимизация - это не алгоритм ?


Ты ничего не понял.  Оптимизация- это не алгоритм.
Это совершенно разные вещи, спрашивать у людей:

а) -"Дайте пожалуйста простой алгоритм сортировки short. Мне требуется
сортировать массив short в ограниченом обьеме памяти embedded приложения".

или

б) -"Мужики, мы типа, это, делаем тут агрегат, яйца сортирует. Ну я, значит
ваяю на асме, мне нужно будет узнать, сколько яиц нападало в какую лунку и
узнать максимальное количество. Я так думаю, нужно яйца и лунки сортировать,
только вот как быть-то, памяти у меня мало, так как PIC16F873 такая бяка.
Дайте алгоритм узнать количество яиц в лунках по убыванию?"


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


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

1. По изображению построить контур A.
2. Из данного конутра A построить контур B.
Условия построения таково - контур B должен охватывать контур A.
Дополнительное условие - каждая бесконечно малая точка контура B находится на
расстоянии равном R от эквивалентной ей точки контура A. То есть линии контура
B находятся на растоянии  R от линий контура A.

Решение:
Находится такой контур простым линейным увеличением, масштабированием исходного
контура на расстояние R.


Твоя специфика:
Когда ты найдешь такой контур, тебе останется обойти его центром фрезы.

Всё!

---
 * Origin: Alex Raider/ Flash inc. 1992-2002 (2:5000/228.16)