generate random point from within three points

2 views (last 30 days)
Hassan
Hassan on 22 Oct 2013
Commented: Image Analyst on 23 Oct 2013
if i have three points P1=(x1,y1),P2=(x2,y2),P3=(x3,y3). how can i generate a random point within them .
Thanks,

Answers (1)

Image Analyst
Image Analyst on 22 Oct 2013
One way is to generate random coordinates within the x and y range - this would give a point in a rectangle. Then call inpolygon() to see if that point is inside the triangle. If it is, you're done. Otherwise, try another random point until you get one that is in side the polygon.
  2 Comments
Hassan
Hassan on 22 Oct 2013
i think this not a practical solution
Image Analyst
Image Analyst on 23 Oct 2013
And why not? What's wrong with it? It's simple and fast. Anything else, such as using affine transforms, will be far more complicated. I believe even Roger Stafford was okay with the try-and-exclude method for getting random points in a circle, though he did come up with a better analytical method, but a circle is simpler than some arbitrary triangle.

Sign in to comment.

Categories

Find more on Random Number Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!