Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Аппраксимация...


Sasha Sanches ©   (2007-05-29 15:43:00) 

Проблема в следующем...управляю 2-мя шаговыми двигателями...первый выполняет передвижение каретки по горизонтали, второй по вертикали...нужна программа в Delphi, которая делает следующее (см. рисунок):

[IMG] http://t.foto.radikal.ru/0705/4d/f61c18239ce9.jpg[/IMG]

В поле можно задавать произвольные координаты точек...поле размером 300 на 400...начальное положение в координате x1,y1...необходимо отработать перемещение до всех точек...то-есть шагами с минимальным отклонением...если представить что данная прямая является гипотенузой прямоугольного треугольника, то его высота (то-есть максимальное отклонение) это 100%...Необходимо чтобы отклонение не превышало 2%...то-есть 1/50 часть высоты... Сначала мы перемещаемся в точку A, затем в В и так далее... В результате необходимо подсчитать количество таких шагов по горизонтали и по вертикали, а также направления вращения 1-го и 2-го двигателей... То-есть: 1 ДВИГАТЕЛЬ: направление вращения и количество шагов...2 ДВИГАТЕЛЬ: направление вращения и количество шагов... Данные (координаты точек) можно вводить в Grid...и после нажатия на кнопку выводить результаты вычисления...

Объяснил как мог =) Заранее благодарен...


Sasha Sanches   (2007-05-29 21:13:00) [1]

2 MBo: спасибо...а ссылку можно? Желательно, чтобы в Delphi примеры были...


MBo   (2007-05-29 17:14:00) [2]

Ты почитал об указанном алгоритме?
Смысл его в том, что при движении по одной координате накапливается ошибка по другой координате, и когда она достигает порога, происходит переключение.
В твоем случае - то, что доктор прописал (в изначальной статье Брезенхема как раз решалась подобная задача)


Sasha Sanches   (2007-05-29 17:02:00) [3]

Точнее мне именно нужно подсчитать количество шагов, так как эти данные далее будут передаваться на микроконтроллер, который и будет осуществлять запуск двигателей...


Sasha Sanches   (2007-05-29 16:55:00) [4]

2 MBo: дело в том, что ступенчатость не надо убирать...именно в небольших ступенях и есть смысл...или я не так его понял...может быть это как-то проще реализовать можно...?


MBo   (2007-05-29 15:47:00) [5]

Читай об алгоритме Брезенхема (Bresenham)


Наверх

Титульная страница Поиск, карта сайта Написать письмо