Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/56: Рейтинг темы: голосов - 56, средняя оценка - 4.68
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19

Движение от точки к точке

16.07.2013, 18:44. Показов 10751. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Паскаль знаю не очень хорошо, поэтому задался вопросом: как реализовать движение чего-либо (допустим круга) не по прямой, диагонали и т.д. и т.п., а от X1,Y1 до X2,Y2. Ну т.е. на вход идут координаты начала маршрута и конца, а на выходе мы имеем круг, который движется по прямой по этой проложенной линии. И не важно, горизонтальная она, или под углом 234.531 к оси OX. Круг все равно движется более менее плавно, без движения типа "10 пикселей вправо, затем выровнять Y до маршрута. Опять 10 пикселей вправо и т.д.". Надеюсь просьбу изложил понятно. Это никакое не задание, это просто для саморазвития. Ну и успокоения любопытства, конечно)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.07.2013, 18:44
Ответы с готовыми решениями:

Движение от точки к точке
Здравствуйте. Вчера задался такой целью: У меня на форме есть 2 шейпа (А и Б), и шейп (А) должен двигаться (или достичь координат)...

Найти производную функции u в точке М по направлению, идущему от этой точки к точке P
u = \frac{z}{x^2} + xz^2y^3 + yz^4; M(-1,2,1); P(3 ,-6 , 2) Предполагалась такая функция?

Доступ из одной сети в другую от точки А до точки Б без шлюза в точке Б
Здравствуйте уважаемые профессионалы! В сетях не силен поэтому спрашиваю, сильно не ругайте) Вопрос в следующем! Есть сеть комп...

21
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 18:59
Цитата Сообщение от Mumka_Rus Посмотреть сообщение
не по прямой, ... а от X1,Y1 до X2,Y2.
Две точки определяют только прямую, учи математику.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:05  [ТС]
Я имел ввиду другое, не так выразился. Прошу прощения. Я имел ввиду горизонтальные и вертикальные прямые, и диагонали. Т.е. как заставить что-то двигаться по этим прямым - я знаю. А если прямая лежит под углом 67 градусов к оси ОХ. Как заставить что-то двигаться по этой прямой без рывков?

Кликните здесь для просмотра всего текста

Чтобы уж совсем недопониманий не возникало. Как сделать "хорошо"?

0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:08
А по горизонтали он без рывков двигается? Вот также и делать, с точки зрения паскаля эти задачи идентичны, различается лишь математика.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:11  [ТС]
С рывками, но в 1 пиксель. Это не критично. Поговорим более конкретно. Имеется X1,Y1 (1,1), и X2,Y2(2,5000). Как заставить круг двигатся по линии, заданной этими точками, за 1 шаг перемещаясь на 1-2 пикселя?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:12
Цитата Сообщение от Mumka_Rus Посмотреть сообщение
Поговорим более конкретно. Имеется X1,Y1 (1,1), и X2,Y2(2,5000).
И где здесь хоть бит конкретики?
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:15  [ТС]
Ах.. Видимо мы так и не нашли понимания друг у друга. Хорошо, тогда прошу составить программы для указанных выше точек, в которой круг будет двигаться по паре киселей за шаг.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:16
Давай свои наработки, это и будет конкретика. А "сделайте за меня" - это во фриланс. И с указанием среды и количества потоков.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:28  [ТС]
В том то и дело, что наработок нет. Ну вот, максимум:
Pascal
1
2
3
4
5
6
7
8
9
Program circle;
Uses crt,GraphABC;
Var x1,y1,x2,y2:integer;
 
Begin
 Read(x1,y1,x2,y2);
 ClearWindow;
 Line(x1,y1,x2,y2);
end.
Мы нарисовали "путь" для будущего объекта. А как заставить, допустим, тот же злосчастный круг двигаться по этой линии?

Добавлено через 1 минуту
Т.е. сделать так, чтобы он сначала от Х1 дошел до Х2, сохраняя координату по Y1, а потом от Y1 до Y2 - просто. Но, получается, что он будет двигаться "Лесенкой". А я и спрашиваю, как этого избежать.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:30
Это не относится к движению. Давай свой горизонтальных ход.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:32  [ТС]
Боже ж ты мой. Извини, но я не знаю как еще переформулировать вопрос, чтобы добиться помощи. Мне не нужен конкретный код, поэтому не вижу смысла делать наработки. Мне нужна теория, объяснение! Как заставить круг двигаться, допустим, по кривой. По той же синусоиде. А постоянные упрёки и тычки в то, что "это не то. Это не так" - это не то, чего я хотел.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:33
А я не вижу смысла в общих словах.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.07.2013, 19:35
taras atavin, Известный на данном форуме флудер. И тебе, Mumka_Rus, сильно не повезло с ним связаться...
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:38  [ТС]
ну уж нет. Я теперь сделаю стооолько наработок, чтобы удовлетворить его требования)
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:40
Правильный текст отличается от горизонтального всего в 26-ти символах одной строки, но если их вырвать из контекста, то ты всё равно не поймёшь, в чём дело. Задача математическая на подобие треугольников. Ты сам утверждаешь, что на паскале ты её уже решил:
Цитата Сообщение от taras atavin Посмотреть сообщение
А по горизонтали он без рывков двигается?
,
Цитата Сообщение от Mumka_Rus Посмотреть сообщение
С рывками, но в 1 пиксель. Это не критично.
.

Добавлено через 1 минуту
Puporev, это я то? Я всего то первый раз пытаюсь придерживаться местных правил. И что в результате? Обозвали флудером.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:47  [ТС]
Пжалсте. Круг сначала по иксу достигает нужного значения, а потом по игреку. А как сделать чтобы он одновременно и по иксу стремился к концу маршрута, и по игреку?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Program circle;
Uses crt,GraphABC;
Var i,x1,y1,x2,y2:integer;
 
Begin
 x1:=50;
 y1:=50;
 x2:=Random(300)+50;
 y2:=Random(300)+50;
 For i:=x1 to x2 do
  Begin
   Circle(i,y1,10);
   Delay(100);
   ClearWindow;
  end;
 for i:=y1 to y2 do
  Begin
   Circle(x2,i,10);
   Delay(100);
   ClearWindow;
  end;
end.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:50
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program circle;
Uses crt,GraphABC;
Var i,x1,y1,x2,y2,y:integer;
 
Begin
 x1:=50;
 y1:=50;
 x2:=Random(300)+50;
 y2:=Random(300)+50;
 For i:=x1 to x2 do
  Begin
   y:=round((y2-y1)*(i-x1)/(x2-x1));
   Circle(i,y,10);
   Delay(100);
   ClearWindow; 
  end;
end.
Вот видишь, из-за особенностей самого горизонтального хода различие достигло 32-х символов.

Добавлено через 44 секунды
Если ещё добавить альтернативу, то можно защититься от глюка слишком крутого спуска/подъёма круга.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:52  [ТС]
а что за Y и X в 12 строке?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 19:54
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Program circle;
Uses crt,GraphABC;
Var i,x1,y1,x2,y2,y:integer;
 
Begin
 x1:=50;
 y1:=50;
 x2:=Random(300)+50;
 y2:=Random(300)+50;
 if abs(x2-x1)>abs(y2-y1)  then
 For i:=x1 to x2 do
  Begin
   y:=round((y2-y1)*(i-x1)/(x2-x1));
   Circle(i,y,10);
   Delay(100);
   ClearWindow; 
  end
  else
 For i:=y1 to y2 do
  Begin
   x:=round((x2-x1)*(i-y1)/(y2-y1));
   Circle(x,i,10);
   Delay(100);
   ClearWindow; 
  end;
end.
Добавлено через 50 секунд
Цитата Сообщение от Mumka_Rus Посмотреть сообщение
а что за Y и X в 12 строке?
Хвосты от моего варианта, у меня были слегка другие обозначения координат.
0
2 / 2 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 19:55  [ТС]
буду разбираться. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2013, 19:55
Помогаю со студенческими работами здесь

Движение спутника. Движение точки по эллипсу в c++ builder
Здравствуйте, есть код программы, который строит движение точки по эллипсу. Для этого использовались только большая полуось 'a' и меньшая...

Задать точке движение по кругу
доброго вам дня подскажите как заставить точку двигаться по окружности.

Движение от точки А к точки Б. Искусственный интеллект
Есть, кто может помочь с написанием кода, чтобы бот двигался к игроку ? Кто согласится помочь, скину проект лично... Вот тут пример...

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

Движение объекта к заданной точке, используя законы физики
if (isJumping != false) { if (YSpeed >= 0) { YSpeed += (YSpeed +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru