Vadik29
Choice Battle 1.6а
offline
Опыт:
15,245Активность: |
Функция рикошета
Когда я делал способность, которая должна была создавать электрический шар отскакивающий от юнитов, то я столкнулся с проблемой, а как же найти этот самый угол отражения, я перечитал темы в поиске, перепробовал разные варианты, но при тесте все-равно замечались ошибки, поэтому мне пришлось думать нестандартно такого варианта я не видел, т.к. я люблю геометрию, я начертил на листке схему и нашел ответ. Надо было всего лишь построить перпендикулярный вектор в вершине вектора нашего снаряда, таким образом мы получаем 2 возможных направления нашего снаряда и 3 (ровно назад). Но теперь оставалось решить, а в какую сторону ему лететь, я стал думать дальше. В итоге я построил 2 точки на одинаковом расстоянии от места касания векторов, на перпендикулярном векторе и сравнил расстояние от этих точек до моего объекта, если модуль разности был не больше 25 то я разворачивал его в обратную сторону, иначе направлял в сторону точки расстояние которой ближе к электрическому шару.
x,y -координаты снаряда
x1,y1 - координаты объекта а - угол между объектами fa - максимальная погрешность при которой, мы развернем снаряд ровно назад fd - расстояние от места касания векторов, до точки Утверждать, что такого не было, не имею права, так что если это "баянище" - удалите. Отредактировано Vadik29, 13.01.2013 в 19:13. |
13.01.2013, 12:33 | #1
+2/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,284Активность: |
Vadik29, Просто это не полное определение - Угол падения равен углу отражения, и забывают от точке раздела 2 сред, в данном случае перпендикуляре, делящим угол на пополам... |
13.01.2013, 12:50 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,245Активность: |
quq_CCCP, в данном случае он равен. Я понял, моя функция имеет максимальный угол отражения 90°. Отредактировано Vadik29, 13.01.2013 в 13:13. |
13.01.2013, 12:51 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,284Активность: |
Vadik29, Осталось только добавить формулу Преломления и добавлять в библиотеку функций, глядишь оценят... |
13.01.2013, 13:13 | #4
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,245Активность: |
quq_CCCP, А вот с этим у меня проблема, не знаю как ее впихнуть сюда. |
13.01.2013, 20:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,284Активность: |
Vadik29, Преломление - это изменение скорости и угла, при попадании снаряда в цель, он должен частично замедлится и изменить свой угол, подробнее можно глянуть в учебнике физики... |
14.01.2013, 06:15 | #6
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|