170 похожих чатов

Ребята, отвлекитесь немного от экспресса, роутов, очередей, запросов и прочей

ерунды и помогите пожалуйста с рабочей задачкой)

Есть 2 объекта:

cube: {
x: number;
y: number;
}

point: {
x: number;
y: number;
}

Если мысленно провести линии от углов куба до углов границ карты, получатся области left right up down. Так вот, кто-нибудь в курсе, есть ли способ быстро определить в какой из этих 4 областей материлизовалась точка? Куб перемещается по карте, размеры карты могут динамически изменятся, куб может быть у границ карты с любой из сторон.

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

16 ответов

19 просмотров

линейная алгебра за 7 класс вышла из чата

Антон-Владимирович Автор вопроса

даа, да)) забыл написать, что с математикой и геометрией всё капец плохо)

Антон Владимирович
даа, да)) забыл написать, что с математикой и геом...

самое время подтянуть, и задачка как раз подвернулась

A Z
линейная алгебра за 7 класс вышла из чата

А я не знаю как решить просто. Что тут нужно, лучи кидать и пересечения считать?

Антон-Владимирович Автор вопроса
A Z
самое время подтянуть, и задачка как раз подвернул...

да я не против. Подскажите в какую сторону копать?

Антон-Владимирович Автор вопроса
Алексей Попов
А я не знаю как решить просто. Что тут нужно, лучи...

вот точка появляется извне, нужно понять, в какой зоне она появилась, на выходе получить string)

Антон Владимирович
вот точка появляется извне, нужно понять, в какой ...

Если не можешь решить сложную задачу, сведи её решение к простой: сделай так, чтобы точка появлялась только в области up

Антон Владимирович
а можно пример?

не, у меня не сохранилось учебника

Антон-Владимирович Автор вопроса

кто-то более софтскиловый чем @do_not_disturb_pls, может подтолкнуть к решению?)

Антон Владимирович
кто-то более софтскиловый чем @do_not_disturb_pls,...

bool intpoint_inside_trigon(intPoint s, intPoint a, intPoint b, intPoint c) { int as_x = s.x - a.x; int as_y = s.y - a.y; bool s_ab = (b.x - a.x) * as_y - (b.y - a.y) * as_x > 0; if ((c.x - a.x) * as_y - (c.y - a.y) * as_x > 0 == s_ab) return false; if ((c.x - b.x) * (s.y - b.y) - (c.y - b.y)*(s.x - b.x) > 0 != s_ab) return false; return true; }

Антон-Владимирович Автор вопроса
Agent-G
bool intpoint_inside_trigon(intPoint s, intPoint a...

спасибо, попробую разобраться

вектор, который соединяет центр куба и точку: const vector = { x: point.x - cube.x, y: point.y - cube.y }; угол между этим вектором и горизонтальной осью (например, осью x). для этого можно воспользоваться функцией math.atan2: const angle = Math.atan2(vector.y, vector.x); если angle находится в диапазоне от -π/4 до π/4, то точка находится справа. если angle находится в диапазоне от` π/4` до 3π/4, то точка находится вверх. если angle находится в диапазоне от -3π/4 до -π/4, то точка находится вниз. во всех остальных случаях точка находится слева.

Алексей Попов
Если не можешь решить сложную задачу, сведи её реш...

Да чтод вы за человек, пришлось всемто ноды выбрать aspn.net 7 в проекте так оказывается быстрее

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта