2011-09-30 2 views
1

안녕 누구 옥타브에서 delaunay3() 함수의 출력에 사면체를 시각화하는 방법을 알고 있습니까?Tetrahedralization 시각화 옥타브

http://www.obihiro.ac.jp/~suzukim/masuda/octave/html3/octave_151.html

은 MATLAB에서이 시각화는 tetramesh() 기능을 수행하지만, 옥타브는이 기능을 내장하고 있지 않습니다!

링크에는 triplottrimesh 함수가 언급되어 있지만 4 면체가 아닌 삼각형 만 작성합니다.

답변

0

불행히도, 그것에 대해 어떤 생각을하기에 충분하지 않습니다. 그러나 이전에 본 적이없는 경우를 대비하여 다음을 언급하고자합니다. discussions on tetramesh before이 있습니다. 빠른 솔루션은 martin_helm에 의해 작성되었습니다 :

backend("fltk") % backend("gnuplot") could also be used 
d = [-1 1]; 
[x,y,z] = meshgrid(d,d,d); 
x = [x(:);0]; 
y = [y(:);0]; 
z = [z(:);0]; 

tetra = delaunay3(x,y,z); 
X = [x(:) y(:) z(:)]; 
tetramesh(tetra, X) 
view(30,30) 
: 일부 사용 예제와 함께

function tetramesh(T, X, C) 
    if nargin < 3 
    C = mod((1:size(T, 1))'-1, size(colormap(), 1) + 1); 
    endif 
    triang = [T(:, 1) T(:, 2) T(:, 3); ... 
      T(:, 2) T(:, 3) T(:, 4); ... 
      T(:, 3) T(:, 4) T(:, 1); ... 
      T(:, 4) T(:, 1) T(:, 2)]; 
    patch("Faces", triang, "Vertices", X, "FaceVertexCData", [C; C; C; C]) 
endfunction