Code covered by the BSD License  

Highlights from
Ellipsoidal Toolbox (ET)

image thumbnail
from Ellipsoidal Toolbox (ET) by Alex Kurzhanskiy
Implementation of the ellipsoidal calculus and ellipsoidal methods for reachability analysis.

ell_triag_facets(epoints_num, points_num)
function facets = ell_triag_facets(epoints_num, points_num)
%
% ELL_TRIAG_FACETS - generates triangular facets to be used in PATCH function call.
%
%
% Description:
% ------------
%
%    ELL_TRIAG_FACETS(M, N)  Generates triangular facets for the PATCH call.
%
%
% Output:
% -------
%
%    Array of facets.
%
%
% See also:
% ---------
%
%    PATCH, CONVHULLN.
%

%
% Author:
% -------
%
%    Alex Kurzhanskiy <akurzhan@eecs.berkeley.edu>
%


  td         = 1:1:(points_num);
  I          = transpose(1:1:(epoints_num-1));
  adtime     = transpose(td(1:(end-1)));
  ttime_data = adtime*epoints_num;
  adtime     = (adtime.'-1)*epoints_num;
  adtime     = adtime(ones(1, epoints_num-1), :);
  Ie         = I(:, ones(1, points_num-1)) + adtime;
  Ie         = Ie(:);

  part1_facet_data_1 = [Ie, Ie+1, Ie+1+epoints_num];
  part1_facet_data_2 = [Ie+1+epoints_num, Ie+epoints_num, Ie];
  part2_facet_data_1 = [ttime_data, ttime_data+1-epoints_num, ttime_data+1];
  part2_facet_data_2 = [ttime_data+1, ttime_data+epoints_num, ttime_data];
  facets             = zeros((points_num-1)*epoints_num*2,3);

  for d = 1:1:3
    facets(:, d) = [part1_facet_data_1(:, d); ...
                    part1_facet_data_2(:, d); ...
                    part2_facet_data_1(:, d); ...
                    part2_facet_data_2(:, d)];
  end

  return;

Contact us at files@mathworks.com