Там другой рисунок был, в моём ситуация сложнееуже задавали похожий вопрос на форуме, правда, давно
Ну и как условие должно выглядить?Делаешь две проверки на иннер и оутер треугольник, если не входит в них - выдаёшь true
/*
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;
}
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz