![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.01.2009
Сообщений: 5
|
![]()
Помогите с реализацией программы :
надо визуально показать падение луча - предполагается что он будет состоять из пикселей, и если встречается поверхность то лучик должен отразится под углом падения ( в общем по физическим законам) - как это реализовать визуально? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
Если все это рисовать в 2D, то падающий и отражающий луч можно задать в виде линейной функции прямой
Т.е. задать падающий луч как функция y(x)=kx+b в результате отражающий луч будет представлен функцией y(x)=-kx-b. Пример, как будут выглядеть данные прямые представлен на рисунке ниже. 1.PNG Последний раз редактировалось iankov; 08.01.2009 в 00:32. |
![]() |
![]() |
![]() |
#3 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
А реализация и того проще - LineTo.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]() |
![]() |
![]() |
![]() |
#5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Вы можете использовать сколько угодно циклов. Ваше право.
Я же предлагаю два оператора LineTo - один для прямого луча, другой для отраженного. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
Ну я понимаю, вот и спрашиваю, пусть например падающий луч имеет функцию lineto(x2,y2) при условии что мы находимся в точке x1, y1. Вот как теперь сделать отражение этого луча? Где будут начальные координаты и какие координаты вставить в lineto() чтобы угол падения луча получился углу отражения. В принципе реально повозится, но напряжно =)
|
![]() |
![]() |
![]() |
#7 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Можно поинтересоваться: линия от которой луч будет отражаться будет горизонтальной или произвольной?
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
![]() |
![]() |
![]() |
#8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Это чистая геометрия, причем школьный курс. Зная высоту экрана (или параметры области, ограничивающей движение "луча"), точку соприкосновения с границей вычислить по уравнению прямой - примитивнее некуда.
А если чуток напрячься, то можно и уравнение для отраженного "луча" родить... Только я не по этому делу - я стараюсь научить думать самостоятельно, а не гоняться за готовыми решениями, которых по этой самой причине и не даю. Если вы не хотите думать самостоятельно, нужно было тему размещать в разделе "Помощь студентам", там собираются (в основном) те, кто не хочет думать и научиться чему-то, а хочет только получить готовый халявный результат, отчитаться перед преподом и вернуться на форум только когда вновь придет время что-нибудь сдавать, за очередной порцией халявы. |
![]() |
![]() |
![]() |
#9 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Mihali4, на счет помощи студентам я полностью согласен.
Ну если тему создали то нужно её развить мне кажется. Если отражаться луч будет об горизонтальную поверхность то это совсем просто, а если нет... И еще можно задавать параметры используя коэффициент наклона луча, а можно начальные и конечные точки задавать. Если у кого есть готовый пример выложите и всё.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 07.01.2009
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для облегчения работы с TFS - приложение для работы над дефектами и задачами | Аякс | Софт | 1 | 18.03.2009 11:43 |
Реализация таблицы | Patriot1 | БД в Delphi | 12 | 12.12.2008 16:49 |
Реализация конфигуратора | BlackOmen | Общие вопросы Delphi | 3 | 30.05.2008 17:12 |
Реализация тестов | aleksei111 | Общие вопросы Delphi | 2 | 20.05.2008 12:15 |
реализация SSL | Prowler | Работа с сетью в Delphi | 1 | 18.12.2007 13:38 |