What does the following code do?

4 views (last 30 days)
If we have,
[row_num, col_num] = size(img);
What does the following code do?
function length_vec = compute_angular_length(row_num, col_num, amplitude_ang)
% function that calculates the maximum size in a diagonal image with
% inclination from 0 to 180° for each amp_ang degrees.
%
% length_vec = compute_angular_length (row_num, col_num, amplitude_ang)
%
% calculate the value of the angle for which I have the main diagonal
alpha_rad = atan2( row_num, col_num );
alpha = rad2deg(alpha_rad);
n_ang = floor(180/amplitude_ang);
length_vec = zeros(1, n_ang);
for i=1:n_ang
ang = (i-1)*amplitude_ang;
if (ang <= alpha || ang >= 180 - alpha )
length_vec(1,i)= abs(col_num / cos( deg2rad(ang)));
else
length_vec(1,i)= abs(row_num / cos( deg2rad(90 - ang)));
end;
end;
What does it mean by angular length?
  2 Comments
Cedric
Cedric on 1 Oct 2017
What is it that you don't understand?
Ba Ba Black Sheep!
Ba Ba Black Sheep! on 1 Oct 2017
What does this code accomplish?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 1 Oct 2017
Imagine that you are starting from one corner of a rectangular matrix, and you are drawing a line from there to somewhere on one of the opposite edges. What is the length of the angled line segment? This routine computes that, in increments of amplitude_ang degrees.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!