Can anyone shed some light on an involute problem?

Hi,

I was wondering if any of you kind fellows could help me with a problem...

I am currently writing some software for modelling involute gears in

3D: the 3D processing being handled by Microsoft's DirectX. My problems start when I come to cast light onto the model. To effectively light an object I need to know the normal vectors at each of the vertices. The parametric equation I am using to generate the tooth profile is:

Xi = r*(cos(t)+t*sin(t)) Yi = r*(sin(t)-t*cos(t))

Where t is the parametric variable and r is the radius of the gear's base circle.

Could anyone tell me how I could go about calculating the normal vectors? I think it has something to do with taking a unit vector to the tangent line (as calculated by differentiation?), but I'm clueless how to actually go about doing this. Any help would be much appreciated.

Many thanks,

Dax

Reply to
Dax
Loading thread data ...

The tangent vector of the curve will be [dx/dt dy/dt] (assuming the format [x_component y_component]). The normal vector will be [dy/dt

-dx/dt]. So just take the derivative of Xi and Yi with respect to t analyticaly and use those values for t to get the normal vectors.

Hope this helps,

Matt

Reply to
Matthew Douglas Rogge

It'll take 3 vectors to get the normal vector; a tangent vector, a radial vector and a binormal vector.

So define a position or radial vector to a vertex with Xi & Yi. Then take the derivative to get a tangent vector. A binormal vector can then found by taking the cross product of the radial and tangent vectors. And a normal vector can be found from the cross product of tangent and binormal vectors. Normalize the normal vector to make a unit vector, i.e. divide each component by the vector magnitude.

Hope this helps.

Reply to
Jeff Finlayson

Perfect! Thanks guys: that was just what I was after. I should have asked on this group earlier, it would have saved me a fortune in strong coffee and chewed pencils.

All the best,

Dax

Reply to
Dax

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.