leofun01 написав:wander написав:чи можу я отримати цей кут, знаючи лише фактично вектор напрямку променя?
Ні. Має бути ще щось.
Хоча це й не релеванто, але все ж хочу зрозуміти, чи я помиляюсь?
Якщо ми маємо вектор напрямку, який нормалізовано, то його компоненти x, y та z представляють співвідношення напрямків уздовж відповідних осей, вірно? Тоді, якщо ми візьмемо правосторонню систему координат, а вісь z за напрямок центральної осі конуса, то z-компонента вектора напрямку представлятиме проєкцію напрямку на цю вісь z.
Якщо кут розкриття конуса — це кут між центральною віссю та твірною конуса, то нормалізована z-компонента вектора напрямку фактично мала б представляти косинус кута розкриття?
І взявши arccos ми б мали отримати вихідний кут. Типу:
d = vec3(x: 1, y: 1, z: 1)
D = normalize(d)
Phi = acos(D.z) // ~0.95 rad or 54.74 deg
Сенс у тому, щоб мати розуміння, наскільки напрямки променів відмінні (divergent) між собою, у рамках одного фрейму сцени. При деяких умовах, маючи такий аналіз, можна було б сказати, які ефекти відбуваються у сцені, наприклад: hard shadows, Gi, AO, reflections, etc. І маючи представлення напрямків у кутах, а не лише x, y та z — було б значно простіше орієнтуватися. Умовно, якщо кути всіх напрямків приблизно 70°, то можна було б припустити, що це відбиття від води, наприклад.
Я поки що зупинився на пошуку середнього вектора та знаходженні кутів відносно нього. Хоча я і розумію, що середнє значення може давати вектор типу avg=vec3(x:0,y:0,z:0) — що робити з цим я ще поки не придумав.
Droid 77 написав:Викидайте англовний, і зовсім не англомовний суржик з першого повідомлення. І можливо хтось тоді зрозуміє що саме Ви запитуєте.
Які прмені?
Чи варто враховувати спектр проминів?
.... ?
Досить складно у цьому випадку повноцінно описати проблему. Проте, я і не очікував, що хтось зрозуміє, що я хочу зробити, принаймні одразу.
Дивлячись на ваші питання я розумію, що якби детально я не описував проблему, ви б все одно не зрозуміли. То ж дякую за ваш допис, він дуууже важливий.