顯示具有 trace code 標籤的文章。 顯示所有文章
顯示具有 trace code 標籤的文章。 顯示所有文章

2024年11月27日 星期三

Find impulse的疑惑

你到底知不知道你要用什麼
你到底知不知道你要用什麼
你到底知不知道 知不知道
你要用什麼 🎶

水丁格的物理喵喵

我是誰?我在那?
我在推導什麼?

好 這次的迷團是


reference

出處


round 1


是這樣嗎?

好來試試


1維的碰撞

E = 彈性系數

考慮旋轉的線動量守恆

這裡的Jn是沿著法線n的Jn
Jn和n平行

怎麼和reference差1個負號?
input也不是V1totalV2total

round 2


出處

Impulse-based Dynamic Simulation of Rigid Body System

得到一個新的提示!

好來試試

把法線方向和切線方向的衝量分開考慮

法線方向的衝量


這裡的Jn是沿著法線n的Jn
Jn和n平行

和reference的結果一致
input是V1totalV2total

奇怪的是
沿著T方向的分量都不用管嗎?

還是說
這裡只在意沿著n方向的速度變化
一旦算出滿足上式的Jn
對物體施加Jn後,在T方向自然就會發生變化

看Wiki上的Collision response,也是這樣推導
(David Baraff Robotics Institute Carnegie Mellon University)
公式(8-8)、(8-9)、(8-10)
他們使用 - E ( V1 - V2 ) = ( V1' - V2' ) 
所以最後的結果會帶1個負號 公式(8-18)

切線方向的衝量


這裡的JT是沿著切線向方向T的JT
JT和T平行

讓ChatGPT幫忙翻譯

2023年8月22日 星期二

Trace Code:Image Based Lighting

Trace what

LearnOpenGL:鏡面反射 IBL


IntegrateBRDF


程式碼

pdf怎麼來的?

窩不知道

Microfacet BRDF的分母怎麼來的?

窩不知道


有些事情還是不要知道比較好 🙂🤠

遇到老司機

可以繞過英文真是太好了

原圖出自上面的連結
=( i + o )/2
固定i轉動ho就會跟著改變
最後會發現
oh的2倍大


pdf怎麼來的?

把上面那張圖反著畫(固定dωo),可知
1 / 4(HoL)= dωh / dωL
L for light dirction
h for half vector

又因為
pdfh * dωh = pdfL * dωL

代號「雪莉」

最後可得
pdfL = pdfh * dω/ dωL
pdfL = pdf/ 4(HoL)

同時 HoL = HoV
V for view direction

ImportanceSampleGGX有符合上面提到的pdfh嗎?



奇怪的是
把P(Sθ)放到Geogebra裡畫
看起來完全不像cos-1(xxx)的反函數

Geogebra

紅色那條不是應該長成這樣嗎?
對稱x=y軸

A哥的頭髮得再厚一點才行 🙂

prefilter.fs


黃色部分怎麼來的
基于物理的渲染:基于图像照明 💫

可逆的BRDF

當BRDF可逆時

圖改自這裡

從黑色箭頭方向射入1後(in)
會向多個方向散射(out)

1對多能量守恆
∀ ωi ,∫ fcos(θrdωr  1
r 就是 out

圖改自這裡

BRDF的可逆指的是
從黃色箭頭方向射入1後(in)
往黑色箭頭方向散射為0.3

多對1能量守恆
∀ ωr ,∫ fcos(θidωi  1
r 就是 out

出處

1對多能量守恆的証明