MATLAB Answers

Generate some points on the plane restricted by 3 points (triangle)

3 views (last 30 days)
Nima
Nima on 26 Oct 2020 at 11:07
Commented: Nima on 26 Oct 2020 at 15:52
Assume that are the vertices of a triangle in space. How can i generate some points on this triangle?

  0 Comments

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 26 Oct 2020 at 11:41
Edited: Ameer Hamza on 26 Oct 2020 at 11:42
This is one of the way
n = 500; % number of random points
p1 = [1 1 2];
p2 = [5 7 3];
p3 = [8 2 1];
ps = [p1; p2; p3];
p12 = p2-p1;
p23 = p3-p2;
P = [p12; p23];
x = sqrt(rand(500, 1));
x = [x x.*rand(500, 1)];
P_new = x*P+p1;
ax = axes();
hold(ax);
view(3);
grid(ax);
plot3(ps(:,1), ps(:,2), ps(:,3), '+', 'MarkerSize', 10, 'LineWidth', 2)
plot3(P_new(:,1), P_new(:,2), P_new(:,3), 'r+', 'MarkerSize', 5, 'LineWidth', 1)

More Answers (1)

Bruno Luong
Bruno Luong on 26 Oct 2020 at 13:53
Edited: Bruno Luong on 26 Oct 2020 at 14:38
Another method:
n = 1000; % number of random points
p1 = [1 1 2];
p2 = [5 7 3];
p3 = [8 2 1];
w = -log(rand(3,n));
xyz = [p1; p2; p3].' * (w./sum(w));
plot3(xyz(1,:),xyz(2,:),xyz(3,:),'.')

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!