
-----------------------------------
Homer_simpson
Sat Mar 06, 2004 9:47 pm

Need professional help...
-----------------------------------
First of all no spamming i'll delete yer spams and take bits away  :evil: 

here's the situation:
i got normals for my polygons... and as we all know normals are vectors...
then i got the normalized vector from my light source to my vector.
after normalizing the light source vectori use the dotproduct to calculate the angle in between the 2 angles and the answers comes in radians...
but sometimes for some reason the answer is bigger than one... so when i pass it through arcsin i get errors anyone know why? here's my code:


            lightv [0] = light1 [0] - polynormals [i] [0]; //first we subtract the object locating from light source to get it's vector
            lightv [1] = light1 [1] - polynormals [i] [1];
            lightv [2] = light1 [2] - polynormals [i] [2];
            tmagnitude = Math.sqrt ((lightv [0] * lightv [0]) + (lightv [1] * lightv [1]) + (lightv [0] * lightv [0])); //then calculate the length to normalize
            lightv [0] /= tmagnitude; //normalize the light source vector
            lightv [1] /= tmagnitude;
            lightv [2] /= tmagnitude;

            dotproduct = (lightv [0] * polynormals [i] [0]) + (lightv [1] * polynormals [i] [1]) + (lightv [2] * polynormals [i] [2]); //obviously dot product
            angle = Math.acos (dotproduct) / (3.141592653 / 180); //here's where da error is

i can't seem to figure it out  :cry: 
http://www.compsci.ca/v2/download.php?id=1205

-----------------------------------
Catalyst
Sat Mar 06, 2004 11:33 pm


-----------------------------------
shouldnt this


tmagnitude = Math.sqrt ((lightv [0] * lightv [0]) + (lightv [1] * lightv [1]) + (lightv [0] * lightv [0]));


be this

tmagnitude = Math.sqrt ((lightv [0] * lightv [0]) + (lightv [1] * lightv [1]) + (lightv [2] * lightv [2]));


-----------------------------------
Homer_simpson
Sun Mar 07, 2004 12:52 am


-----------------------------------
:lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol: 
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAHAHAHAHAHAAAAA!!!!! Man i'm a fvckin stoner!!! What a stupid mistake!

Man that deserves bits! +lotsa bits!

thx a lot man it works perfectly fine now. would have never figured that without yer help! LOL


btw i made a little graphic thingy in assembly for pascal... pm me if u want it.

-----------------------------------
da_foz
Mon Mar 08, 2004 4:25 pm


-----------------------------------
Subscripts are the devil.  So hard to find the mistakes.

-----------------------------------
wtd
Mon Mar 08, 2004 4:42 pm


-----------------------------------
Subscripts are the devil.  So hard to find the mistakes.

While I don't necessarily agree with that, you should attempt to refactor your code.  There should never be that much code in one function.

-----------------------------------
Homer_simpson
Mon Mar 08, 2004 6:09 pm


-----------------------------------
Maaaan!!! the thread is already over! 
shut the hell up!  :evil:
