# I'm going crazy

1. Jul 17, 2005

### sid_galt

$$A=-[(x_i-X_j)cos\theta_j + (y_i-Y_J)sin\theta_j]$$
$$B = (x_i-X_j)^2+(y_i-Y_j)^2$$
$$E=(B-A^2)^{1/2}=(x_i-X_j)sin\theta_j+(y_i-Y_j)\theta_j$$

I implemented this in C++ as follows

A = -(p_c(0)(i) - p_v(0)(j))*cos(angle(j)) - (p_c(1)(i) - p_v(1)(j))*sin(angle(j))

B = (p_c(0)(i) - p_v(0)(j))*(p_c(0)(i) - p_v(0)(j)) + (p_c(1)(i) - p_v(1)(j))*(p_c(1)(i) - p_v(1)(j))

E=(p_c(0)(i) - p_v(0)(j))*sin(angle(j)) + (p_c(1)(i) - p_c(1)(j))*cos(angle(j))

F= sqrt(B-A*A)

(All parantheses instead of square brackets in arrays to avoid HTML encoding)
where
p_c(0)(i) =$$x_i$$
p_c(1)(i) = $$y_i$$
p_v(0)(j) = $$X_j$$
p_v(1)(j) = $$Y_j$$
angle(j) = $$\theta_j$$

Well, here's the deal. Mathematically
$$E=(B-A^2)^{1/2}=(x_i-X_j)sin\theta_j+(y_i-Y_j)\theta_j$$

However in C++, I am getting different values for E and F in C++ when mathematically they are the same. I am going insane.
Please help

Last edited: Jul 17, 2005
2. Jul 18, 2005

### sid_galt

Hey guys, I really need help.

3. Jul 18, 2005

### dduardo

Staff Emeritus
Check that your not truncating values. Type-casting is very important in these situtations.

4. Jul 18, 2005

### sid_galt

I don't think so because
1. All the quantities are in double
2. The differences are too high, sometimes as high as -1

5. Jul 18, 2005

### dduardo

Staff Emeritus
I would try breaking up the equation and testing to see if your getting expected values.

6. Jul 19, 2005

### chronon

$$E=(B-A^2)^{1/2}=|(x_i-X_j)\sin\theta_j-(y_i-Y_j)\cos\theta_j|$$

7. Jul 19, 2005

### sid_galt

I tried fabs and fabsf on E. The differences are still there. I am using Dev C++ 4 as the compiler. Could there be something wrong with it?

8. Jul 22, 2005

### es

I just tried doing the math in my head but I don't think the equality holds for theta_j=0

E=0
F=abs(y_i-Y_i)

right?

Edit: Wrong. I think the second cosine just fell off when you posted the summary. If the cosine is there, and the absolute values are in place, I think the equality holds.

Last edited: Jul 22, 2005
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?