21 views (last 30 days)

My task is to write a function that takes as input a positive integer n. We are asked to consider the traingle whose corner points are (0,0), (2,0), and (1,2). Let p0 = (1,1). The function's purpose is to generate and plot n points p1,p2, ... pn where pk is the point determined by randomly picking one of the three corners of the triangle, and letting pk be the midpoint between the chosen corner point and pk-1 for 1 <= k <= n. I have a small program written, but I have no clue where to go from there. Please help me to get started on finding a program that works. I am aware that this program does not do what I want, it is just a starting point. Here is what I have so far:

function ex3(n)

%

%

rng('shuffle')

x = zeros(1,n);

y = x;

k = 1;

while k <=n

x(k) = 2*rand;

y(k) = 1*rand;

if y(k) > 1/2*x(k)

k = k + 1;

end

end

Border_x = [0,2,2,0];

Border_y = [0,0,1,0];

plot(Border_x,Border_y,'r',x,y,'b.','markersize',1)

axis tight

axis equal

Alan Stevens
on 22 Oct 2020

More like the following;

rng('shuffle');

n = 1000; % Set number of points as desired

% Let (0,0) be vertex 1, (0,2) be vertex 2, (1,2) be vertex 3

X = [0 2 1];

Y = [0 0 2];

x = zeros(1,n);

y = x;

x(1) = 0.5; y(1) = 0.1; % starting point (change as desired)

for i = 2:n

p = randi(3,1); % Choose 1 2 or 3 at random

x(i) = (X(p) + x(i-1))/2;

y(i) = (Y(p) + y(i-1))/2;

end

Border_x = [0,2,1,0];

Border_y = [0,0,2,0];

plot(Border_x,Border_y,'r',x,y,'b.','markersize',1)

axis tight

axis equal

This generates a triangular Sierpinski gasket (better with a larger value of n). See what effect changing the starting point has.

Opportunities for recent engineering grads.

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

Start Hunting!
## 1 Comment

## Direct link to this comment

https://in.mathworks.com/matlabcentral/answers/622103-generate-and-plot-n-points-picking-random-points-on-triangle#comment_1079413

⋮## Direct link to this comment

https://in.mathworks.com/matlabcentral/answers/622103-generate-and-plot-n-points-picking-random-points-on-triangle#comment_1079413

Sign in to comment.