Clear Filters
Clear Filters

How can I put in a triangle into a matrix?

16 views (last 30 days)
Pratik Samant
Pratik Samant on 8 Nov 2018
Answered: Matt J on 8 Nov 2018
I have the matrix
A=zeros(100,100) I want to create an equilateral triangle with top vertex at point 50 (right in the middle of the matrix) extending down a total height of 10 array entries in height.
I there a function that can do this?
Thanks

Answers (2)

Image Analyst
Image Analyst on 8 Nov 2018
This will do it:
% Define vertices coordinates.
x = [50, 40, 60]
y = [50, 60, 60]
% Make triangle.
A = poly2mask(x, y, 100, 100) % Last two arguments are # of rows and columns.

Matt J
Matt J on 8 Nov 2018
If you don't have the Image Processing Toolbox, you can do it with inpolygon
[I,J]=ndgrid(1:100);
Iv=[50,60,60];
Jv=[50,40,60];
Image=inpolygon(I,J,Iv,Jv);

Categories

Find more on Contour Plots 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!