0

タイトルは基本的にそれを言います。以下の立方体に似た形で与えられたサンプルをプロットしたいと思います:

// Front
0 0 0
0 0 1
1 0 1
1 0 0

// Back
0 1 0
0 1 1
1 1 1
1 1 0

// Left
0 0 0
0 1 0
0 1 1
0 0 1

// Right
1 0 0
1 1 0
1 1 1
1 0 1

// Bottom
0 0 0
1 0 0
1 1 0
0 1 0

// Top
0 0 1
1 0 1
1 1 1
0 1 1

特定のプログラムに縛られているわけではありませんが、gnuplot を使用してそれを行うことができると思います。どのようにしますか?(もちろん、私は自分でそれを見つけようとしましたが、私は gnuplot 初心者であり、gnuplot は大きすぎて直接答えを見つけることができません)

4

1 に答える 1

0

データファイルを少し再配置する必要がありました。

#front
0 0 0
0 0 1

1 0 0
1 0 1


#back
0 1 0
0 1 1

1 1 0
1 1 1


#left
0 0 0
0 1 0

0 0 1
0 1 1


#right
1 0 0
1 1 0

1 0 1
1 1 1


#bottom
0 0 0
1 0 0

0 1 0
1 1 0


#top
0 0 1
1 0 1

0 1 1
1 1 1

これは、次のようにプロットできます。

set pm3d depthorder
splot "datafile.dat" u 1:2:3:-2 w pm3d

これは機能しますが (ほとんどの場合、gnuplot では深さ順によるソートは完全ではありません)、より複雑な形状を行うのはすぐに面倒になります。

基本的に、データファイルで各四角形 (この場合は正方形) を個別に指定するため、機能します。四角形は 2 つの空白行で区切られます。各正方形は、2 "スキャンでソートされた 4 つの頂点で構成されます。したがって、最初のスキャンは点 (0,0,0) から (0,0,1) に移動します。次に、次のスキャンは (1,0, 0) から (1,0,1). 次に、gnuplot はスキャンを結合します。

この手法を使用して、三角形を作成することもできます (三角形は、最後の 2 点が同じ四角形です ;)。

最後に、各面の色付けはpseudo-column「-2」によって行われます。これは実際には四角形の数字です。必要に応じて、データファイルに 4 番目のフィールドを追加し、それを色に使用できます。

ただし、gnuplot を使用したこのソリューションは、実際にはあなたが探しているものではないと感じています。なぜなら、この種のことは実際には gnuplot が設計されたものではないからです。おそらく、これをはるかに簡単に行うツールがそこにあるでしょう。 ――それが何かはわかりません。

于 2012-05-26T15:43:00.673 に答える