PDA

View Full Version : The tangents of the sphere



SimoPI
05-03-2010, 10:51 AM
I have this sphere implementation:


float x = (float) (cos(phi) * cos(theta));
float y = (float) sin(phi);
float z = (float) (cos(phi) * sin(theta));


taken from a source code.
I read: to calculate sphere tangents i must do the partial derivative of x, y, z (in respec to theta). So i should have:


tx = -cos(phi)*sin(theta)
ty = 0
tz = cos(phi)*cos(theta)


if i'm right. But reading the code, here is the adopted solution:



float tx = (float) (sin(phi) * sin(theta));
float ty = (float) -cos(phi);
float tz = (float) (sin(phi) * cos(theta));


Why?

Thank you for the answers and sorry for my english!