Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 29.11.2019
Сообщений: 27

Солнечный зайчик

16.02.2020, 15:15. Показов 5198. Ответов 30

Студворк — интернет-сервис помощи студентам
Алиса, стоящая в начале координат бесконечной плоскости, посылает Бобу, который находится в точке с координатами (x1; y1), солнечный зайчик. Но в этот момент Чарли, стоящий в точке (x2; y2) и Дейв (x3; y3) разворачивают между своими точками зеркальную ленту, от которой отражается отправленный Алисой луч (естественно, угол падения равен углу отражения, а как же иначе?). Помогите Бобу встать в другую точку, где он сможет поймать свой зайчик, если расстояние между ним и Алисой не должно измениться.
Формат ввода
Программа получает на вход строку из 6 чисел - x1,y1,x2,y2,x3,y3. Все числа целые, по модулю не превосходящие 100. Гарантируется, что зеркальная лента Чарли и Дейва "поймает"зайчик Алисы.
Формат вывода
Программа должна вывести два числа - координаты нового положения Боба на плоскости. Поскольку ответ может быть дробным, оба числа необходимо вывести с точностью 3 знака после запятой.
Пример 1

Ввод Вывод
5 0 2 -1 5 2
3.000 4.000
Пример 2

Ввод Вывод
5 5 1 4 4 1
-5.000 -5.000

Можете пожалуйста помочь хотя бы с принципом работы программы потому что я даже не знаю от чего оттолкнуться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2020, 15:15
Ответы с готовыми решениями:

Зайчик
Помогите пожалуйста с задачей. В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему не было скучно, директор зоопарка...

Зайчик
Люди, помогите пожалуйста решить задачу! 2 недели не могу решить!! В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему...

Солнечный зайчик
Подскажите идею решения этой задачи пожалуйста Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или...

30
0 / 0 / 0
Регистрация: 12.01.2020
Сообщений: 19
17.02.2020, 10:33
Кто-нибудь знает, как это решать?
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
17.02.2020, 13:33
Лучший ответ Сообщение было отмечено aleks12345678 как решение

Решение

так чистая же аналитическая геометрия.
Очевидно же, что есть две прямые: одна образована парой (0,0) - (x1,y1) (первоначальное направление "солнечного зайчика"), есть прямая, образованная зеркалом, это пара (x2,y2) - (x2,y2).
нужно
1) определить угол между этими прямыми
2) определить расстояние от начала координат до точки пересечения прямых
3) найти расстояние от точки пересечения до (x1,y1)
3) построить новую прямую из точки пересечения под тем же углом, что в п. 1)
4) найти на этой прямой точку, расстояние которой составляет то же, что в п. 3.
координаты этой точки и являются решением.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
17.02.2020, 13:44
Цитата Сообщение от aleks12345678 Посмотреть сообщение
даже не знаю от чего оттолкнуться
От ознакомления с геометрией.
Найти уравнения прямых OxOy-x1y1 и x2y2-x3y3.
Найти точку их пересечения.
Найти уравнение отраженного луча из точки пересечения прямых.
Найти расстояние OxOy-x1y1.
Вычислить координаты новой точки(x4y4) на отраженном луче, если ее расстояние от точки OxOy будет равно длине OxOy-x1y1.
2
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
17.02.2020, 13:49
точку пересечения прямых - см. Заданы две прямые. Найти точку их пересечения (если таковая имеется). для простоты решения вид прямых y=kx+b
угол можно найти через ArcTan (арктангенс)
0
0 / 0 / 0
Регистрация: 29.11.2019
Сообщений: 27
17.02.2020, 14:09  [ТС]
А как находить угол между двумя прямыми на координатной плоскости?
0
0 / 0 / 0
Регистрация: 12.01.2020
Сообщений: 19
17.02.2020, 14:13
А ещё надо частные случаи рассмотреть
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
17.02.2020, 14:13
Вам угол не нужно, нужно составить уравнение луча. Можно посмотреть здесь
https://studfile.net/preview/6219429/page:2/
Если совсем не умеете и не знаете, создайте тему в разделе
https://www.cyberforum.ru/geometry/
Думаю там помогут.
0
0 / 0 / 0
Регистрация: 17.02.2020
Сообщений: 5
17.02.2020, 15:33
Цитата Сообщение от Puporev Посмотреть сообщение
От ознакомления с геометрией.
Найти уравнения прямых OxOy-x1y1 и x2y2-x3y3.
Найти точку их пересечения.
Найти уравнение отраженного луча из точки пересечения прямых.
Найти расстояние OxOy-x1y1.
Вычислить координаты новой точки(x4y4) на отраженном луче, если ее расстояние от точки OxOy будет равно длине OxOy-x1y1.
А как можно реализовать последний пункт программно?
Просто даже не очень понятно как сделать это на листочке.
Может кто-нибудь сможет подсказать какая геометрическая формула/уравнение позволяет найти эту точку
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
17.02.2020, 16:27
Цитата Сообщение от Puporev Посмотреть сообщение
Вам угол не нужно, нужно составить уравнение луча. Можно посмотреть здесь
точно. согласен, что угол искать не обязательно.

кстати, тут по ссылке PDF скачивается (Методические указания к решению задач по аналитической геометрии «Прямая и плоскость».pdf 548 Кб), так на стр.6 есть пример
Пример 4. Луч света направлен по прямой x - 2 y + 5 = 0 . Дойдя до
прямой 3x - 2 y + 7 = 0, луч от нее отразился. Составить уравнение прямой, на
которой лежит отраженный луч.
Добавлено через 3 минуты
Цитата Сообщение от Ivan_chkalov Посмотреть сообщение
А как можно реализовать последний пункт программно?
а в чём проблема то?
есть система из двух уравнений.
одно уравнение - это уравнение отражённого луча (уравнение прямой)
второе уравнение - это расстояние между точками
в чём проблема это решить программно?

p.s. хотя, на мой взгляд, через угол это решалось бы намного проще:
там прямоугольный треугольник. Есть угол и длина гипотенузы, нужно найти два катета.
0
0 / 0 / 0
Регистрация: 17.02.2020
Сообщений: 5
17.02.2020, 16:31
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
точно. согласен, что угол искать не обязательно.

кстати, тут по ссылке PDF скачивается (Методические указания к решению задач по аналитической геометрии «Прямая и плоскость».pdf 548 Кб), так на стр.6 есть пример


Добавлено через 3 минуты

а в чём проблема то?
есть система из двух уравнений.
одно уравнение - это уравнение отражённого луча (уравнение прямой)
второе уравнение - это расстояние между точками
в чём проблема это решить программно?

p.s. хотя, на мой взгляд, через угол это решалось бы намного проще:
там прямоугольный треугольник. Есть угол и длина гипотенузы, нужно найти два катета.
Прямоугольный треугольник это частный случай!
Я знаю уравнение отраженного луча и длину отрезка АВ, знаю координаты точки А(0, 0), но не понимаю как найти координаты точки В на отраженном луче
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
17.02.2020, 16:49
Цитата Сообщение от Ivan_chkalov Посмотреть сообщение
Прямоугольный треугольник это частный случай!
извини, тебе треугольник действительно не нужен

нужно найти пересечение отражённого луча и окружности, радиус которой равен расстоянию от начала координат до точки X1, Y1

система из двух уравнений.
приводит к решению квадратного уравнения.
1
0 / 0 / 0
Регистрация: 17.02.2020
Сообщений: 5
17.02.2020, 17:03
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
извини, тебе треугольник действительно не нужен

нужно найти пересечение отражённого луча и окружности, радиус которой равен расстоянию от начала координат до точки X1, Y1

система из двух уравнений.
приводит к решению квадратного уравнения.
Спасибо огромное!
0
Эксперт по математике/физике
 Аватар для Том Ардер
4218 / 3418 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
17.02.2020, 17:52
ТС приходил сюда Как найти угол между двумя прямыми?
и получил ответ
0
0 / 0 / 0
Регистрация: 12.01.2020
Сообщений: 19
17.02.2020, 18:30
У кого-нибудь на 10 получилось?
0
0 / 0 / 0
Регистрация: 17.02.2020
Сообщений: 5
18.02.2020, 08:55
А что делать если уравнение прямой нельзя составить(например зеркало перпендикулярно оси ОХ или луч перпендикулярен оси ОХ, т.е. лежит на оси ОУ)?
0
1 / 1 / 0
Регистрация: 07.11.2019
Сообщений: 4
18.02.2020, 08:58
Там трудность в выборе правильной точки из двух, потому что ответ неоднозначный
А так же там очень много частных случаев. У кого-нибудь получилось на 10 сделать?

Добавлено через 1 минуту
Уравнение всегда есть, просто оно другого вида. Если параллельна прямая оси ох, то уравнение у=какому-то числу, если параллельна оу, то х=какому-то числу
0
0 / 0 / 0
Регистрация: 29.11.2019
Сообщений: 27
18.02.2020, 15:00  [ТС]
Может у кого есть программа?
0
1 / 1 / 0
Регистрация: 07.11.2019
Сообщений: 4
18.02.2020, 17:38
А ты из какого города? И как звать?
0
1 / 0 / 1
Регистрация: 11.01.2020
Сообщений: 20
18.02.2020, 19:34
Лучший ответ Сообщение было отмечено aleks12345678 как решение

Решение

Кто-нибудь сделал задачу, скиньте пожалуйста, я уже отчаился
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2020, 19:34
Помогаю со студенческими работами здесь

Солнечный зайчик
Добрый вечер! Не могли вы бы объяснить такое явление: Есть квадратной формы зеркало, если с его помощью направить солнечный зайчик в стену...

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

Солнечный парус. А что, не найден материал для паруса? Или обычный ракетный двигатель лучше?,
Раньше в научной фантастике упоминался такой способ полета к планетам, как солнечный парус. Теперь тишина. А что не найден материал для...

Солнечный инвертор
Привет всем. Есть схема так называемого солнечного инвертора - http://s013.***********/i323/1501/b8/20a7be2edac5.jpg Идеи для него...

Гибридный солнечный контроллер
Помогите советом. Разрабатываю вспомогательное устройство для гибридного контроллера. Смысл схемы в следующем: есть солнечные батареи и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru