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

1 Ansicht (letzte 30 Tage)
Assume that are the vertices of a triangle in space. How can i generate some points on this triangle?

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 26 Okt. 2020
Bearbeitet: Ameer Hamza am 26 Okt. 2020
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)

Weitere Antworten (1)

Bruno Luong
Bruno Luong am 26 Okt. 2020
Bearbeitet: Bruno Luong am 26 Okt. 2020
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,:),'.')

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by