/ / Знайдіть область 2-го полігону, утвореного прямим та лінійним алгоритмом, геометрією, 2d, площею, прямокутниками

Знайдіть область 2-го багатокутника, утвореного прямокутником та рядком - алгоритм, геометрія, 2d, область, прямокутники

Я роблю гру в "Єдності". Там є прямокутник, перетинаний прямою лінією. Мені потрібно знайти яку частину rect більше і скільки. Хто-небудь знає алгоритм, як це зробити? Приклад

Ректи та лінії встановлюються точками (4 для прямокутника та 2 для рядків)

Відповіді:

3 для відповіді № 1

Неявне рівняння лінії є

S(x,y) = (x - x0) (y1 - y0) - (y - y0) (x1 - x0) = 0

Коли ви підключаєте координати кута, знак S(x, y) каже, на якій стороні лінії ви знаходитесь. І краще, якщо оцінити Sa і Sb на двох кутах, і вони мають різні ознаки, перетин є в дрібниці Sa / (Sa - Sb) вздовж боків ab.

Тепер обробляйте всі чотири ребра по черзі за годинниковою стрілкоюзамовлення Для кожного ребра, тримайте стартовий кут, якщо це позитивний, і, якщо є, утримуйте перехрестя. Зрештою, ви отримаєте від 0 до 5 балів, визначаючи опуклий багатокутник, який знаходиться в позитивному полі.

введіть опис зображення тут

Площа знаходиться за адресою шнурок формула


0 для відповіді № 2

Визначте, чи заштрихована область є суто трикутником, якщо так, обчислити площу цього трикутника (a * b) / 2, це дозволить виправити діаграму правої руки.

Для діаграми лівої руки розгляньте область як трикутник та прямокутник. Обчислить затінену область, об'єднавши область трикутників та область прямокутників.

HTH