C++ Вопрос Задание по информатике/математике

Начинающий
Статус
Оффлайн
Регистрация
4 Ноя 2022
Сообщения
11
Реакции[?]
0
Поинты[?]
0
Как можно проверить, что случайно взятая точка окажется в заштрихованной области? С кодом


Screenshot_4.jpg
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
уже задавали похожий вопрос на форуме, правда, давно
 
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
377
Реакции[?]
78
Поинты[?]
11K
Что тут делать? Делаешь две проверки на иннер и оутер треугольник, если не входит в них - выдаёшь true
 
Начинающий
Статус
Оффлайн
Регистрация
4 Ноя 2022
Сообщения
11
Реакции[?]
0
Поинты[?]
0
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,523
Реакции[?]
572
Поинты[?]
8K
pseudo::
/*
ur triangle:
             A
            / \
           /   \  P'
          /     \
         /   P   \
        /         \
      B ----------- C
*/
std::size_t get_area_of_triangle( triangle_t& triangle ) {
    // figure this out
}

bool is_point_in_triangle( vec2 point, triangle_t& triangle ) {
    auto triangle_area = get_area_of_triangle( /* ABC */ );
    auto pab_area = get_area_of_triangle( /* PAB */ );
    auto pac_area = get_area_of_triangle( /* PAC */ );
    auto pcb_area = get_area_of_triangle( /* PCB */ );
    return (triangle_area == pab + pac + pcb); // returns true if point is inside of triangle
}

bool solve() {
    bool is_point_in_clear_triangle  { is_point_in_triangle( point, triangle1 ) };
    bool is_point_in_checkered_triangle { is_point_in_triangle( point, triangle2 ) };
  
    //its true if not is_point_in_clear_triangle and is_point_in_checkered_triangle;
}
 
Сверху Снизу