Jump to content
  • Advertisement
Sign in to follow this  
BlackDuck

Two Points and Surface Normal

This topic is 3169 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, Straight up, Assignment Question. Using the equation of a 3D plane is ax + by + cz = d, where a, b, c and d are constants, what is the plane normal vector? I am to demonstrate how I can work out the normal vector. Now if you are going to response, please don't give the answer but hints. I may be way off but has it something to do with if I have 2 vectors (not parallel) lying on a plane, I can use the cross product of the vectors to determine the normal. But if I only have two points on the plane then surely that only makes one vector. But the lecture has hinted that you only need to points and using the equation of a 3D plane can determine the surface normal.

Share this post


Link to post
Share on other sites
Advertisement
Hint: All the information you need is right there in the equation ax + by + cz = d. The normal can be computed (or even just extracted, depending) directly from this equation; no extra vectors or cross products are needed.

Share this post


Link to post
Share on other sites
I realise that the normal is <a,b,c> of the plane equation but this is something I read but not understand.

A hint that was given was:

what would be the result of the following dot product?
n . (p1 – p2)

Use the x, y and z components of each of the points and carry out the dot product above. Can you see a pattern?

I also read that the dot product of a normal to a vector lying on a surface is zero. It is like I have the answers but do not understanding the workings.

Share this post


Link to post
Share on other sites
Also, I am aware of dot product of two vector is equal to the magitude of a times b times cos angle .... a.b = |a||b| cos o

Has that anything to do with it?

Am I anywhere close.

Share this post


Link to post
Share on other sites
You shouldn't need trigonometry for this.

a point p(x, y, z) is on the plane(a, b, c, d) if p . n = d.

from this and a * x + b * y + c * z = d, you can work out n.x, n.y, n.z.

EDIT : the plane parameters should actually be (a, b, c, -d), since a plane equation is usually in the form ax + by + cz + d = 0. But you can ignore that bit of trivia, unless you get bonus points :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!