perform_farthest_point_sampling_mesh
function [points,D] = perform_farthest_point_sampling_mesh( vertex,faces, points, nbr_iter, options )
% perform_farthest_point_sampling - samples points using farthest seeding strategy
%
% [points,D] = perform_farthest_point_sampling_mesh( vertex,faces, points, nbr_iter, options );
%
% points can be [] or can be a (nb.points,1) matrix of already computed
% sampling locations.
%
% See also: perform_fast_marching_mesh.
%
% Copyright (c) 2007 Gabriel Peyre
options.null = 0;
if nargin<3
nb_iter = 1;
end
[vertex,faces] = check_face_vertex(vertex,faces);
n = size(vertex,2);
L1 = getoptions(options, 'constraint_map', zeros(n,1) + Inf );
if nargin<2 || isempty(points)
% initialize farthest points at random
%points = round(rand(1,1)*(n-1))+1;
points = 1;
% replace by farthest point
[points,L] = perform_farthest_point_sampling_mesh( vertex,faces, points, 1, options );
points = points(end);
nbr_iter = nbr_iter-1;
L = min(zeros(n,1) + Inf, L1);
else
% initial distance map
L = min(zeros(n,1) + Inf, L1);
end
for i=1:nbr_iter
if nbr_iter>5
progressbar( i, nbr_iter );
end
options.nb_iter_max = Inf;
options.constraint_map = L;
D = my_eval_distance(vertex,faces, points(end), options);
D = min(D,L); % known distance map to lanmarks
L = min(D,L1); % cropp with other constraints
% remove away data
D(D==Inf) = 0;
% compute farhtest points
[tmp,I] = max(D(:));
points = [points,I(1)];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function D = my_eval_distance(vertex,faces, x, options)
options.null = 0;
if length(x)>1
D = zeros(n)+Inf;
for i=1:length(x)
D = min(D, my_eval_distance(vertex,faces,x(i)));
end
return;
end
[D,Z,Q] = perform_fast_marching_mesh(vertex, faces, x, options);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu 에서 Oh My Zsh 의 가장 좋 은 실천 '설치 및 설정'예 를 들 어 테마 설정, 플러그 인 체제, 내 장 된 편리 한 조작 등 은 우리 에 게 새로운 명령 행 사용 체험 을 줄 수 있 습 니 다.다음은 Oh My Zsh 의 설치 및 배치 방법 을 정리 하고 가장 좋 은...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.