Asked by Sooraj Narayan
on 10 Jul 2019

As you can see above, I have x and y co-ordinates for n number of Wind Turbines in a wind farm. Suppose there is a vector (wind speed direction) with direction in degrees, how do i find the angle between the line connecting all the other points to any point i,j in the x-y plane and the direction vector (whose onlyu data known is the direction?

xy=[0 0

0 800

0 1600

0 2400

500 0

500 800

500 1600

500 2400

1000 0

1000 800

1000 1600

1000 2400

1500 0

1500 800

1500 1600

1500 2400

2000 0

2000 800

2000 1600

2000 2400];

The above matrix shows the x-y coordiantes of 20 points in the x-y plane.

I need the angle between the line connecting point 1 to all other 19 points and a vector with a direction (say 45 degrees).

Answer by Ruben Costa
on 10 Jul 2019

Accepted Answer

Hi, my aproach is here!

xy=[0 0

0 800

0 1600

0 2400

500 0

500 800

500 1600

500 2400

1000 0

1000 800

1000 1600

1000 2400

1500 0

1500 800

1500 1600

1500 2400

2000 0

2000 800

2000 1600

2000 2400]; %This is your matrix with the points

angle=[]; %this is where the angles will be stored

for i=2:size(xy,1)

nline=i-1;

angle(nline) = (atan((xy(i,2)-xy(1,2))/(xy(i,1)-xy(1,1))) - atan((2-0)/(2-0))) * 180/pi;

end

- (xy(i,2)-xy(1,2))/(xy(i,1)-xy(1,1)) ---> this is the value of the tangent of the line created with the point (0,0) and other point of the matrix xy

- (2-0)/(2-0)) ---> this is the value of the tangent of the line created with the point (0,0) and point (2,2) because i knew that this line would have 45º

Then I calculated the arctan( the angles) of both and subtracted to know the angle between them. Then I only made the conversion from radians to degrees!

Hope it helps!

Sign in to comment.

Answer by Bjorn Gustavsson
on 10 Jul 2019

Best way to go about this is to convert the "wind"-direction to a wind-vector, then use:

w_angle = atan2(norm(cross(wv,b)), dot(wv,b));

Where b is the vector between your points.

HTH

Sooraj Narayan
on 10 Jul 2019

Thanks for the answer.

Just to continue on your comment, what do you mean by converrting the 'direction' to a 'vector'? What would be the vector corresponding to the direction, say 45 degrees?

Bjorn Gustavsson
on 10 Jul 2019

It would depend on the convention for your wind-direction, lets say we use the mathematical notation with phi_w counterclockwise from East, then, with x-component in the Easterly direction, y towards north:

wv = [cos(phi_w), sin(phi_w) 0];

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.