[Graphics] 그래픽스 수학

[Gradient] 스칼라 값을 벡터로 편미분하기

doyyy_0 2025. 2. 19. 11:53

SPH논문을 구현하는 중에 그레디언트 개념 정립이 필요할 것 같아서 정리를 해보려고 합니다.

 

W=f(q)입니다. q는 위치 pi - 위치 pj로  x,y,z로 이루어져 있습니다.

 

우리가 원하는 것은 ∇W입니다. 즉 x,y,z로 편미분 한 값이죠. W는 q로 이루어져있어서, x,y,z로 바로 편미분 할 수 없으니 q와 x,y,z를 통해 계산합니다.

 

수식 정리 하기 전에 Gradient개념을 설명해드리려고 합니다. 스칼라 값을 벡터로 미분하기 위해서는 정미분으론 안되고 편미분을 해야합니다. 예를들어 V= x^2 * y * z^3이 있다면 V를 x,y,z로 각각 편미분 하면

∇V = (2x*y*z^3, x^2 * z^3 , x^2 * y * 3 * z^2)입니다. 표현은 ∇V=(∂V/​ ∂x, ∂V/ ∂y , ∂V/ ∂z ) 이렇게  d대신 ∂를 써서 표현합니다.

 

수식 정리는 다음과 같습니다.