random numbers inside a rectangle at an angle

3 views (last 30 days)
How to I generate random numbers inside a rectangle at an angle?

Accepted Answer

Roger Stafford
Roger Stafford on 21 Mar 2014
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

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!