• ### What is your GameDev Story?

#### Archived

This topic is now archived and is closed to further replies.

# Normals

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

## Recommended Posts

Hello everyone. I can''t seem to get the hang of normals . . . I just don''t understand how to calculate them. I don''t know what to say other than that . . . I want to fully understand this before I continue on with lighting. any help? _BUSTER_ www.dotspot.cjb.net ______________________________ Check out my for sale domain name! http://www.theatermonkey.com

##### Share on other sites
Try thinking of a normal as a direction surface is facing.

If you set a piece of paper on the ground, its normal would be facing up(if you ignore the backside of the paper)

normals are used to calculate lighting and collition detection (or collition response),

The normal faces strait outward from a surface, on a 90 degree angle. (although for some lighting techniques you might want to change that)

##### Share on other sites
but does it matter where on the "paper" it is? see example below:

the + is the normal
_____________
| |
| |
| |
| + |
|___________|

-------------
| |
| + |
| |
|___________|

can it be ANYWHERE? or does it have to be in a certain place on the surface?

Thanks for the help!

_BUSTER_

##### Share on other sites
It''s a /direction/, not a position. The normal is the direction that is up, not saying ''from this point on the plane to the point defined by (your normal coords)''.

##### Share on other sites
. . . oh,

Well. . . whats the formulas for then? Thanks for your help! I think I get it now. Oh yeah, my above "drawings" were messed up. . .

_BUSTER_

www.dotspot.cjb.net
______________________________
Check out my for sale domain name!

http://www.theatermonkey.com

##### Share on other sites
. . . oh,

Well. . . whats the formulas for then? Thanks for your help! I think I get it now. Oh yeah, my above "drawings" were messed up. . .

_BUSTER_

www.dotspot.cjb.net
______________________________
Check out my for sale domain name!

http://www.theatermonkey.com

##### Share on other sites
You''d use the cross product (a formula for calculating perpendicular vectors). See this tutorial (I think this one covers normals): http://www.gamedev.net/reference/articles/article415.asp

[Resist Windows XP''s Invasive Production Activation Technology!]

##### Share on other sites
Edge1 = P1 - P2
Edge2 = P3 - P2

Normal = Edge1 X Edge2

so if:

P1 = (-2, 2)
P2 = (-2,-2)
P3 = ( 2,-2)
P4 = ( 2, 2)

Edge1 = (-2, 2) - (-2,-2) == 4 (right?)
Edge2 = ( 2,-2) - (-2,-2) == 4 (right?)

Normal = 16

Is that right? Maybe I''m doing this all wrong. . .

This is the part I don''t get:
(from http://www.gamedev.net/reference/articles/article415.asp)

Ax + By + Cz + D = 0

What about the D component of the equation? We simply isolate D, plot the
values of any of the three point in the equation, and we get it:
D = - (Ax + By + Cz)
or
D = - (A·P1.x + B·P1.y + C·P1.z)
or even trickier:
D = - Normal · P1
But to compute the A, B, C components (because sometimes, we need
themselves, not the normals), you can simplify all these operations with
these equations:
A = y1 ( z2 - z3 ) + y2 ( z3 - z1 ) + y3 ( z1 - z2 )
B = z1 ( x2 - x3 ) + z2 ( x3 - x1 ) + z3 ( x1 - x2 )
C= x1 ( y2 - y3 ) + x2 ( y3 - y1 ) + x3 ( y1 - y2 )
D = - x1 ( y2z3 - y3z2 ) - x2 ( y3z1 - y1z3 ) - x3 ( y1z2 - y2z1 )

##### Share on other sites
quote:

Edge1 = P1 - P2
Edge2 = P3 - P2

Normal = Edge1 X Edge2

so if:

P1 = (-2, 2)
P2 = (-2,-2)
P3 = ( 2,-2)
P4 = ( 2, 2)

Edge1 = (-2, 2) - (-2,-2) == 4 (right?)
Edge2 = ( 2,-2) - (-2,-2) == 4 (right?)

Normal = 16

Is that right? Maybe I''m doing this all wrong. . .

Actually it''s not quite right.
Edge1 = (0,4) these are VECTORS
Edge2 = (4,0)
although the length (euclidean) of each edge is 4.

cheers

/Mankind gave birth to God.

• ### What is your GameDev Story?

In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

• 28
• 16
• 10
• 10
• 11
• ### Forum Statistics

• Total Topics
634111
• Total Posts
3015560
×