Оклюзія сферичного перетину (для гібридного проміння)


9

Думаючи про гібридне проміння, звідси наступне питання:

Припустимо, у мене є дві суцільні сфери і . Ми знаємо їхні центри і радіуси, і ми знаємо, що вони мають певний об'єм перекриття в просторі.s1s2

У нас є типова настройка тривимірної графіки: припустимо, що око стоїть на початку, і ми проектуємо сфери на площину перегляду при для деякого позитивного . Сфери виходять за межі огляду і не перетинають її.z=ff

Нехай - коло в просторі, яке є точками на поверхні обох сфер, тобто видимі (з деяких кутів) "з'єднання" їх перекриваються об'ємів.c

Я хочу порахувати, чи видно будь-яке з , коли проектується на нашу площу огляду. Це може бути не так, якщо або повністю .cs1s2

Будь-які ідеї для підходу до цього?


якщо c - об'єднання проектованих пікселів, коли s1 або s2 повністю перешкоджає іншій сфері, це не означає, що c стає порожнім. Будь ласка, поясніть.
v.oddou

Відповіді:


7

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

сцена з видимим перетином

Сфери стають колами з центральними точками та , а коло перетину зараз лише 2 точки , цікавий лише той, який ближче одинКамери / очей довільно встановлений в точці .C1C2PE

Обчислити, чи видно одну точку на сферах чи ні - це просто: Просто перевірте, чи кути в точці між і відповідно і є більшими (або рівними) 90 градусів 1 .PEC1EC2

Якщо видно, видно деяку частину (наприклад, хоча б цю точку) кола перетину. Інакше весь круг перетину повинен бути забитий однією з ваших сфер, а саме тією, яка створює кут менше 90 градусів.P

Ось як це виглядає, якщо не видно з :PE

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

Ви чітко бачите, як ця точка колом навколо і що кут між і у менший за 90 градусів.C2EC2P


1 Наявність кута, рівного 90 градусів, означає, що лінія між і просто торкається відповідного кола / сфери в точці як дотична.EPP

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.