function w = PrecomputeWeights(p,v,a)
a=2;
w = zeros(size(p,2),size(v,2));
for i=1:size(p,2)
norms_2 = sum((repmat(p(:,i),[1,size(v,2)])-v).^2,1);
w(i,:) = 1./(norms_2.^a+1e-8);
end
对三维数据照样使用
clear all;
mesh_source = ‘C:\Users\lixiaohu\Desktop\101028\101028_l\TOOTH_0.obj’;
[v,F] = load_mesh(mesh_source);
v=v(1:16)
% vv=v’;
% v=vv(1:2,1:15);
p = [-1.0843 -1.2803 -1.5304 -1.4777 ;
-3.1908 -3.1335 -3.0674 -3.0253;
-3.1908 -3.1335 -3.0674 -3.0253];
PrecomputeWeights(p,v,2)
仍然得到4*16的数据。四排,每排16个
ans =
0.00066556 0.00071635 0.00063576 0.00059133 0.00064325 0.00069188 0.0007304 0.00090111 0.00094082 0.0010169 0.00087558 0.00073046 0.00064331 0.0005604 0.00057128 0.00052446
0.00066914 0.00072078 0.00063888 0.0005938 0.00064649 0.0006959 0.00073509 0.0009092 0.00094981 0.0010277 0.00088312 0.00073514 0.00064655 0.00056246 0.00057348 0.00052607
0.00066532 0.00071712 0.00063498 0.00058984 0.00064261 0.00069216 0.00073148 0.00090666 0.00094761 0.0010262 0.00088038 0.00073154 0.00064267 0.00055848 0.00056951 0.00052211
0.00069865 0.0007537 0.00066644 0.00061855 0.00067454 0.00072716 0.00076897 0.00095557 0.00099927 0.0010832 0.00092754 0.00076903 0.0006746 0.00058531 0.000597 0.00054678