私は三角形分割プログラムを使用しており、データ ポイントとその三角形分割 (別のプログラムから取得) をプロットする必要があります。したがって、delauany エッジ マトリックスnewgrid1_eDT (エッジ リストの場合は e) を (最初の列は行番号) として持っています。
1 0 0 9
2 0 1 9
3 0 1 9
4 0 1 8
5 0 1 8
[...]
11716 5 6 8
11717 1 2 4
11718 0 2 4
アイデアは、この newgrid1_ASCIIeDT のようにすることです:
1 0 0 9
2 0 1 9
3
4 0 1 9
5 0 1 8
6
7 0 1 8
[...]
11715 5 6 8
11716
11717 1 2 4
11718 0 2 4
基本的に、各 2 行は 3 次元座標のペアを表します (そして、点の各ペアは線を表します)。
newgrid1_ eDTから 2 つの行 (インデックス i) を連続してコピーし、その後空白行をnewgrid1 _ASCIIeDT (インデックス j) にコピーして、空行列newgrid1_ ASCIIeDTを徐々に埋めようとして、次のように記述しました。受信行列newgrid1 _ASCIIeDTに 11718+ 11718/3 =15624 行を割り当てました。newgrid1__eDTから転送したポイントごとに 1つと、2 行ごとに 1 つの空の mrow (行 3、6、9、... など):
newgrid1__ASCIIeDT=zeros(15624,3);
[m,l]=size(newgrid1__ASCIIeDT) ;
j=0;
i=1;
for j = 1:3:15624
i
newgrid1__ASCIIeDT(j,:)=newgrid1__eDT(i,:);
newgrid1__ASCIIeDT(j+1,:)=newgrid1__eDT(i+1,:);
newgrid1__ASCIIeDT(j+2,:)=blank;
i=i+1
end
何らかの理由で、これでうまくいくはずだと確信していますが、どういうわけか奇妙な結果が得られます。これを行う他の(より簡単な方法)はありますか、それとも車輪を再発明していますか?
理想的には、これを C (他のすべての処理が行われている場所) で記述したはずですが、現時点では簡単な修正が必要であり、11,000 行を移動して空白行を導入することはできません。何か助けてください?