![]() |
|
#1
|
|||
|
|||
![]() Проблема в следующем...управляю 2-мя шаговыми двигателями...первый выполняет передвижение каретки по горизонтали, второй по вертикали...нужна программа в Delphi, которая делает следующее (см. рисунок):
![]() В поле можно задавать произвольные координаты точек...поле размером 300 на 400...начальное положение в координате x1,y1...необходимо отработать перемещение до всех точек...то-есть шагами с минимальным отклонением...если представить что данная прямая является гипотенузой прямоугольного треугольника, то его высота (то-есть максимальное отклонение) это 100%...Необходимо чтобы отклонение не превышало 2%...то-есть 1/50 часть высоты... Сначала мы перемещаемся в точку A, затем в В и так далее... В результате необходимо подсчитать количество таких шагов по горизонтали и по вертикали, а также направления вращения 1-го и 2-го двигателей... То-есть: 1 ДВИГАТЕЛЬ: направление вращения и количество шагов...2 ДВИГАТЕЛЬ: направление вращения и количество шагов... Данные (координаты точек) можно вводить в Grid...и после нажатия на кнопку выводить результаты вычисления... Объяснил как мог =) Заранее благодарен... |
#2
|
|||
|
|||
![]() Не очень понятны ограничения. Получается, что точки А и В вообще не причём. Кол-во шагов по х = х2-х1, по у = у2-у1
|
#3
|
||||
|
||||
![]() Я так понял, надо двигаться лесенкой с минимально возможными шагами (по 1-му шагу) ?
AlexSku можь ему вот лесенкой нада ) А вращатся одновременно с переменной скоростью они не могут ? ![]() |
#4
|
|||
|
|||
![]() Я тоже сначала об этом подумал, поэтому и спросил об ограничениях. В таком случае - это алгоритм Брезенхема проведения прямой линии по пикселам.
|