gaussian-opacity-fields icon indicating copy to clipboard operation
gaussian-opacity-fields copied to clipboard

A question about the normal definition

Open Riga2 opened this issue 1 year ago • 5 comments

Hi, thanks for your nice work!

Since the normal is the reverse of the ray direction in the local Gaussian space, does this mean that when viewing the same Gaussian from different ray directions, the normals of the Gaussian also change?

Thank you again.

Riga2 avatar Nov 21 '24 07:11 Riga2

Hi, Yes. The normal depends on the ray direction.

niujinshuchong avatar Nov 21 '24 14:11 niujinshuchong

Hi, Yes. The normal depends on the ray direction.

Thank you for your work. I have another question about the normal. In gaussian coordinate system, the normal is parallel to the ray. When converting to the world space, just with some rotation, translation and scaling. Why are parallel rays no longer parallel? In other words, the normalize process multiply Sk-1, why the inverse normalization process also multiply Sk-1 but not Sk?

shewangmu avatar Nov 22 '24 06:11 shewangmu

Hi, please refer to Figure 3 in the paper. The normal is always perpendicular to the intersection plane. The inverse normalization should multiply S_k for the plane but the normal should be multiplied by S_k^-1 image

niujinshuchong avatar Nov 22 '24 09:11 niujinshuchong

Hi, please refer to Figure 3 in the paper. The normal is always perpendicular to the intersection plane. The inverse normalization should multiply S_k for the plane but the normal should be multiplied by S_k^-1 image

Thank you for your great work! But i want to ask that in your explanation, the point on plane of local coordinate system multiply S_{k} and R^{-1} to world space, so the normal of plane n_{i} should be -S_{k}^{-1}Rr_{g} ? I am confused about why n_{i} should be -S_{k}^{-1}R^{T}*r_{g}

Murnomous24 avatar Dec 11 '24 13:12 Murnomous24

I believe there may be an issue with the statement:
"The normal is always perpendicular to the intersection plane."

Consider the transformation of the world-space normal vector $n_i$ into local Gaussian space, as described in the paper:

$$ n_i = -R_k^T S_k^{-1} r_g $$

this gives the Gaussian-space normal $n_g$:

$$ n_g = S_k^{-1} R_k n_i = S_k^{-1} R_k (-R_k^T S_k^{-1} r_g) = -S_k^{-2} r_g $$

Because the diagonal components of $S_k$ are generally not equal, $n_g$ is not parallel to $r_g$. Therefore, $n_g$ is not perpendicular to the intersection plane in local Gaussian space.

This suggests the following interpretation:

  • In world space, the Gaussian normal $n_i$ is perpendicular to the ray-Gaussian intersection plane.
  • But in local Gaussian space, it is the ray direction $r_g$ that is perpendicular to the intersection plane, not the transformed normal $n_g$.

Given this interpretation, the equation $n_i = -R_k^T S_k^{-1} r_g$ can be derived as follows. Assuming:

  1. In world space, the intersection plane is perpendicular to the Gaussian normal $n_i$.
  2. In local Gaussian space, the intersection plane is perpendicular to the ray direction $r_g$.

Let $p_g$ be any vector lying on the intersection plane in local Gaussian space. Since this plane is perpendicular to the ray, we have:

$$ p_g^T r_g = 0 $$

Transforming $p_g$ into world space (note that $r_g = S_k^{-1} R_k r$, so the inverse is $r = R_k^T S_k r_g$) gives:

$$ p = R_k^T S_k p_g $$

Since $p$ lies in the intersection plane in world space, it must satisfy:

$$ \begin{align} & -p^T n_i &= 0 \ \implies & -(R_k^T S_k p_g)^T n_i &= 0 \ \implies & p_g^T (-S_k R_k) n_i &= 0 \end{align} $$

Noting that $S_k$ is symmetric $S_k^T = S_k$ and $R_k^{-1} = R_k^T$, we now have both:

  • $p_g^T r_g = 0$
  • $p_g^T (-S_k R_k) n_i = 0$

This leads directly to:

$$ r_g = -S_k R_k n_i \quad \Rightarrow \quad n_i = -R_k^T S_k^{-1} r_g $$

This derivation supports the paper's equation but clarifies that the perpendicularity depends on the coordinate space.

guwinston avatar Jul 04 '25 17:07 guwinston