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

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

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

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

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

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

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

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

16 ответов

15 просмотров

линейная алгебра за 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 в проекте так оказывается быстрее

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта