![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Пересечение векторов
В общем нужна помощь. Что то у меня криво получается. Надо найти точку пересечения двух прямых, параллельных векторам (vectorA\vectorB) и проходящих через точку (startA\startB). Помоги с формулой, плз
((код cpp
public static Vector2D Cross(Vector2D startA, Vector2D vectorA, Vector2D startB, Vector2D vectorB)
{ Vector2D outVector = new Vector2D(); double k1 = vectorA.y / vectorA.x;
double k2 = vectorB.y / vectorB.x; outVector.x = (startA.y - startB.y - startA.x * k1 + startB.x * k2) / (k1 - k2);
outVector.y = (startA.x + outVector.x) * k1 - startA.y; return outVector; } )) |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Fakov
Viva la Fa
![]() ![]() offline
Опыт:
102,058Активность: |
я ничерта в этом не смыслю, но чисто теретически - циклом проверять координаты каждой прямой - если совпали, значит пересеклись |
![]() |
#2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Fakov, по мойму это изврат |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Fakov
Viva la Fa
![]() ![]() offline
Опыт:
102,058Активность: |
а гугл юзал?? |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Fakov, очередной раз вывел сам, но блин первый раз мне не фортануло, ща второй раз попробую
alexprey добавил:
alexprey добавил: во вроде работает |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
|
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
|
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
ScorpioT1000, ну float. Сравнение тоже да. Писал давно, тогда не шарил. В версии для стратегии у меня все так и сделано норм как ты написал, взял из спин делюкс. |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
Просто это условие никогда не выполнится, кроме того случая, когда все переданные аргументы строго равны 0
ScorpioT1000 добавил:
Дело не в флоат, а в том что это плавающий тип) ScorpioT1000 добавил:
Вот читайте "внимание" |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
ScorpioT1000, я знаю, что не во float, я это к тому написал, что флоат быстрее. Ну на практике линии редко когда будут абсолютно параллельны. Выполнится, если вектора одинаковые. |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
ты кстати еще упарываешься в том, что вернул null вместо православного NaN |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
ScorpioT1000, какой может быть нан лолка ты, если в ретурн типе объект? |
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
православный вектор нанов
ScorpioT1000 добавил:
<3 |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
Фигня это и не нужно. Гораздо проще и быстрее проверить на нуль. |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
часто ты все математические операции проверяешь на нуль? а они тоже возвращают нан) |
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
ScorpioT1000, нет. Короче предлагаю закрыть флейм, это уже алексу решать. |
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Doc, я уже вывел (пост №5), функция конечно написана криво, но находит верно. |
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|