random numbers inside a rectangle at an angle

 Akzeptierte Antwort

Roger Stafford
Roger Stafford am 21 Mär. 2014

2 Stimmen

Let (x0,y0) be coordinates of one of the rectangle's corners, and let one of its sides stretching from this corner to another corner be of length a and making an angle of theta radians with respect to the x-axis. Let another side be of length b stretching from (x0,y0) at a counterclockwise right angle to the first side. Finally suppose you want n random points within that rectangle. Then do this:
X = a*rand(n,1);
Y = b*rand(n,1);
x = x0 + X*cos(theta) - Y*sin(theta);
y = y0 + X*sin(theta) + Y*cos(theta);
plot(x,y,'y.')
axis equal % <-- Keep the x and y axes scale factors equal

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by