8 / 8 / 3
Регистрация: 16.04.2010
Сообщений: 80
|
|
1 | |
Изобразить, как одна точка догоняет другую28.05.2013, 13:04. Показов 1340. Ответов 13
Метки нет (Все метки)
Здравствуйте! Подскажите, пожалуйста, как реализовать следующее:
Две точки появляются на расстоянии друг от друга, одна точка идет по какой-то траектории, а вторая догоняет ее по кратчайшему пути. Точки движутся с заданной скоростью...
0
|
28.05.2013, 13:04 | |
Ответы с готовыми решениями:
13
Изобразить фигуру правильной пятиконечной звезды, одна из сторон горизонтальна SetPixel и GetPixel. Одна точка закрашивает другую, но не должна Как сделать , чтобы одна текстура не перекрывала другую? Как сделать так, чтобы при нажатии на кнопку менялась одна форма на другую? |
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
|
|
28.05.2013, 14:32 | 2 |
Это называется "Задача перехвата" (при наведении перехватчика на цель). Элементарно решается для прямолинейных траекторий: здесь надо найти время и курс перехвата (можно из теоремы косинусов). При сложной, но заранее известной, траектории цели без вычисления интегралов не обойтись. А вот если цель меняет характеристики своей траектории, то ... И так далее.
1
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
28.05.2013, 15:07 | 3 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Например так...
1
|
8 / 8 / 3
Регистрация: 16.04.2010
Сообщений: 80
|
|
29.05.2013, 01:43 [ТС] | 4 |
Никак не пойму... На секунду на экране появляется темнота, а потом исчезает и сам паскаль выключается... В чем может быть проблема?
Добавлено через 3 часа 44 минуты А можно сделать подпись к каждой точке? То есть чтобы точка двигалась, а под ней была надпись с надписью, например "точка 1". Просто если ставить надпись в цикле, то она накладывается друг на друга, я так понимаю нужно перемещать ее, но как?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
29.05.2013, 07:39 | 5 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Наверное нужно скопировать в папку с программой драйвер EGAVGA.BGI из папки BGI
Добавлено через 32 минуты Движение точек с подписями
1
|
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
|
|
29.05.2013, 09:42 | 6 |
Это задача с двумя неизвестными: время и курс.
Добавлено через 11 минут Во многих случаях одна точка никогда не догонит другую.
1
|
8 / 8 / 3
Регистрация: 16.04.2010
Сообщений: 80
|
|
29.05.2013, 12:26 [ТС] | 7 |
Puporev, Благодарю, а не подскажите как еще как в этом коде изменять направление первой точки и скорость обоих?
Добавлено через 36 секунд Проблема с запуском, кстати, решилась использованием эмулятора DOS, через него работает.
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
29.05.2013, 12:57 | 8 |
1
|
8 / 8 / 3
Регистрация: 16.04.2010
Сообщений: 80
|
|
29.05.2013, 13:10 [ТС] | 9 |
Puporev, Хорошо, а может тогда подскажите как реализовать преждевременный выход по нажатию какой-либо кнопки до того как точки встретились? Просто в процессе написания иногда сразу виден баг в программе, но приходится ждать пока точки столкнутся друг с другом...
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
29.05.2013, 13:11 | 10 | |||||
стр. 34
1
|
8 / 8 / 3
Регистрация: 16.04.2010
Сообщений: 80
|
|
29.05.2013, 18:42 [ТС] | 11 |
А как можно сделать подсчет секунд за которое точки встретятся?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
29.05.2013, 18:53 | 12 |
uses dos;
функция gettime, 1 раз в начале, второй в конце, берешь разность (переводишь и то и другое в секунды)
1
|
8 / 8 / 3
Регистрация: 16.04.2010
Сообщений: 80
|
|
29.05.2013, 19:59 [ТС] | 13 |
Еще вопрос... Графический режим я использую в процедуре, после чего возвращаюсь в тело(меню), не графическое, для этого использую функцию RestoreCrtMode. Но если опять выбрать графическую процедуру, то программа закрывается. Как можно это исправить?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
29.05.2013, 20:35 | 14 |
При каждом возвращении в графический режим писать
initgraph(x,y,''); При каждом возвращении в текстовый режим режим писать RestoreCrtMode
1
|
29.05.2013, 20:35 | |
29.05.2013, 20:35 | |
Помогаю со студенческими работами здесь
14
Изобразить треугольник, одна сторона которого совпадает с правой стороной формы Одна программа вызывает другую Одна ячейка налезает на другую. Гугл что догоняет Яндекс по глобальной статистике? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |