曲面の3次元CG(5)曲面の生成(点群から生成)
曲面はいつでも平易な数式で描けるとは限りません。例えば点群があればそこから曲面を生成できます。
file = "srfrecn.pnt";
id = m_getpointsset(getstr(file));
end;
id = m_getpointsset(getstr(file));
end;
この点群から曲面を生成するには次のようにします。
この計算で得られる結果は膨大な数式になります。
しかし、そう都合よく法線ベクトルもセットの点群があるとは限りません。
その場合は点群の様子から法線ベクトルを推定させる方法が使えます。
file = "srfrecn.pnt";
setrbfsurf_bound([-10,3.2,-10],[10,16,10]);
smooth_mode(1);
rbfimplicitsurface( getstr(file), 0.15);
end;
setrbfsurf_bound([-10,3.2,-10],[10,16,10]);
smooth_mode(1);
rbfimplicitsurface( getstr(file), 0.15);
end;
この計算で得られる結果は膨大な数式になります。
しかし、そう都合よく法線ベクトルもセットの点群があるとは限りません。
その場合は点群の様子から法線ベクトルを推定させる方法が使えます。
file =" srfrecn.pnt ";
id = m_getpointsset( getstr(file));
m_makenormalset(M[\id], [6,6,6], 10, 100);
m_rbfimplicitsurface(M[\ id], 0.25);
end;
id = m_getpointsset( getstr(file));
m_makenormalset(M[\id], [6,6,6], 10, 100);
m_rbfimplicitsurface(M[\ id], 0.25);
end;