How to write a Matlab script that is able to output images of triangles based on the size input? The following shows the half of a triangle but i can't find a way to make an isolated triangle. (The size you can put at range 3 - 8 )

3 次查看(过去 30 天)
x=input('Size: ') X=triu(ones(x),1) imshow(X)
  2 个评论
Kenneth Phang
Kenneth Phang 2016-10-5
Is there anyway for me to make a matrix to this?
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 1 0 0 0 1 1 1 1 1 1
1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 1 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Matthew Eicholtz
Matthew Eicholtz 2016-10-5
See the second option in my answer below (insertShape). More specifically for the matrix above, use:
x = ones(8,15);
x = insertShape(x,'filledpolygon',[1 8 8 1 15 8],'Color','black','Opacity',1);
x = (x(:,:,1)==1);

请先登录,再进行评论。

采纳的回答

Matthew Eicholtz
Matthew Eicholtz 2016-10-5
编辑:Matthew Eicholtz 2016-10-5
What types of triangles do you need? And what will they be used for?
If you need very basic triangles, you could use the triangular marker types for scatter plots:
[y,x] = meshgrid(1:4);
z = 250:200:1000; %size of markers
figure;
axis([0 5 0 5]);
hold on;
scatter(x(1,:),y(1,:),z,'r^','FaceColor','r');
scatter(x(2,:),y(2,:),z,'gv','FaceColor','g');
scatter(x(3,:),y(3,:),z,'b<','FaceColor','b');
scatter(x(4,:),y(4,:),z,'m>','FaceColor','m');
hold off;
Or, if you need to create triangles with more variation in size, shape, and vertex position, try using insertShape:
figure;
I = zeros(100,'uint8');
J = insertShape(I,'filledpolygon',randi([10 90],1,6),'Color','white','Opacity',1);
imshow(J);
Note that this option actually embeds the triangle in an image. If you want to have a triangle "object", try using patch:
figure;
x = randi([0 10],1,3); %random x-coordinates
y = randi([0 10],1,3); %random y-coordinates
patch(x,y,'green');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by