Какой алгоритм использует Marlin для создания дуг?

prusa-i3 g-code reprap algorithm

Я пишу статью о плоттере (я использую Prusa i3 с пользовательским "экструдером", он же ручка). И я должен написать об алгоритмах, которые я / плоттер использую (используют). Я попробовал обратный инжиниринг, но, поскольку у меня не очень большой опыт в этой технике, я не добился успеха. Итак, я ищу алгоритм, который Marlin использует для своих команд G2 / G3.

, 👍6

Обсуждение

Вы смотрели на [Marlin_main.cpp](https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Marlin_main.cpp), а именно функция t,e plan_arc?, @Tom van der Zanden


1 ответ


Лучший ответ:

4

Алгоритм основан на "Повороте вектора с помощью матрицы преобразования", и это решение основано на решении Йенса Гейслера. Формула для вращения по часовой стрелке выглядит следующим образом:

Vector rotation

Более подробную информацию о вращении вектора можно найти в Википедии.


,