0
$\begingroup$

If a point looks like this:

$$\textbf{point = [x, y, z]}$$

I have a triangle made up of these points:

$$p_a = [0.3333, 0, 0.05]$$ $$p_b = [0.4333, 0, 0.05]$$ $$p_c = [0.3317, 0.0327, 0.05]$$

I need to determine the surface normal for this triangle. I have no formal math training but from research online these are the steps I am following:

$$U = p_b - p_a$$ $$V = p_c - p_a$$

$$N_x = U_y \times V_z - U_z \times V_y $$ $$N_y = U_z \times V_x - U_x \times V_z $$ $$N_z = U_x \times V_y - U_y \times V_x $$ $$N = [0, 0, 0.00327]$$

Is this method correct? Looking at the results on a plot it doesn't seem correct to me and applying it to my real world use case it does not seem correct either.

My sources for my research are:

How to find surface normal of a triangle

https://www.opengl.org/wiki/Calculating_a_Surface_Normal

$\endgroup$
2
$\begingroup$

Since you have gone into it extensively, I answer short:

$ U \times V $ a single cross product alone will do for the normal. Unit normal can be extracted by finding absolute value in the usual way if needed.

$\endgroup$
  • $\begingroup$ So my answer is right? N=[0,0,0.00327] $\endgroup$ – macinjosh Oct 1 '15 at 23:58
  • $\begingroup$ Yes, x,y components are = 0. $\endgroup$ – Narasimham Oct 2 '15 at 0:05
1
$\begingroup$

Your $N_x$ should be:

$$N_x = U_y \times V_z - U_z \times V_y $$

$\endgroup$
  • $\begingroup$ Oops, fixed that. It was a typo in my question. I am using the correct version in my calculations. $\endgroup$ – macinjosh Oct 1 '15 at 23:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.