【问题标题】:Tetrahedralization visualization Octave四面体可视化 Octave
【发布时间】:2011-11-28 15:46:21
【问题描述】:

您好,有人知道如何在 Octave 中可视化 delaunay3() 函数的输出中的四面体吗?

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

在 MATLAB 中,这个可视化是通过 tetramesh() 函数完成的,但 Octave 没有内置这个函数!

该链接确实提到了 triplottrimesh 函数,但它们只创建三角形,而不是四面体。

【问题讨论】:

    标签: octave delaunay


    【解决方案1】:

    不幸的是,我对此知之甚少,无法对此发表任何想法。但是,我想提一下以下内容,以防您以前没有看过。已经有discussions on tetramesh beforemartin_helm 写了一个快速的解决方案:

    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 
    

    以及一些示例用法:

    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) 
    

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多