IPB
ЛогинПароль:

> Движение точки по линии
pashist
сообщение 26.09.2006 21:11
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской

Репутация: -  0  +


Привет=) Есть линия, начало которой привязано к центру координат(х1, у1=320, 240), направленная под произвольным углом α. Нужно, чтобы черная точка прошла по всей белой линии, не выходя за её пределы толщины. Толщина точки равна толщине линии. Как это реализовать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 1.10.2006 18:58
Сообщение #2


Гость






Смотря, что ты еще изменял. У меня, например, выдает вот такие значения:
       340       255
360 270
380 285
400 300
420 315
440 330
460 345
480 360
500 375
520 390
540 405
560 420
580 435
600 450
620 465
640 480
660 495
680 510
700 525
720 540

(первый столбец - X, второй - Y)... Как видишь, никакого скачка.


P.S.
Отставить мой предыдущий пост. Он просто еще раз показывает преимущество 32-битных компиляторов. У тебя по ходу вычисления происходит переполнение. Промежуточный результат не помещается в Integer, и как результат - усечение...

Вот патч:
function F(x: Integer): integer;
begin
f:=round(LongInt(x-x1)*(y2-y1)/(x2-x1)) + y1;
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме
pashist   Движение точки по линии   26.09.2006 21:11
klem4   Из заданных 2-х точек прямой (центр и (x1, y1)) по...   26.09.2006 21:37
pashist   :unsure: А можно код?   26.09.2006 21:51
volvo   А я бы перешел в полярную систему координат... И н...   26.09.2006 22:00
klem4   Можно и так :) В общем вот набросок. Для наглядно...   26.09.2006 22:14
pashist   Написал, но работает только в частном случае..( По...   26.09.2006 23:18
klem4   Уравнени у меня рассчитано для прямой проходящей ч...   27.09.2006 8:36
Бродяжник   Может я чего не понимаю, но Так? Если рассматрива...   27.09.2006 9:17
Гость   Если так, то можно допустить некоторое отклонение ...   27.09.2006 12:26
pashist   uses graph,crt; const x1=320; y1=240; ...   1.10.2006 13:55
volvo   Ну, наверное, потому, что функция написана неправи...   1.10.2006 14:09
pashist   Уряяяя!!!!! Спасибо! :good...   1.10.2006 14:14
pashist   Кадр 11 дубль 2.. Почему функция работает некоррек...   1.10.2006 17:06
volvo   Смотря, что ты еще изменял. У меня, например, выда...   1.10.2006 18:58
pashist   Еще вопрос, в тему. Есть прямая, которая крутится,...   1.10.2006 22:06
klem4   Ты имеешь в виду, второй конец прямой движется п...   2.10.2006 6:35
pashist   Да. Управление с клавиатуры.   2.10.2006 9:12
klem4   Ну тогда соклько раз можно повторять одно и тоже. ...   2.10.2006 16:24
pashist   Нет, смысл не в этом. Дописываю курсовик, там в це...   2.10.2006 19:13
volvo   Я тебе предлагал перейти в полярную систему коорди...   2.10.2006 19:16
pashist   Как перейти к полярной системе координат? У меня в...   3.10.2006 15:00
Бродяжник   Если это та прога про охоту на мышек, с которой я ...   3.10.2006 16:06
pashist   Бродяжник, СПАСИБО!! Всё сделал, всё работ...   3.10.2006 22:29


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 7.08.2025 20:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"