Я должен был изменить ваш файл данных немного:
#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
в то время как это работает (в основном - сортировка по depthorder не является совершенным в Gnuplot), она быстро становится утомительной, чтобы сделать более сложные формы.
В основном, это работает, потому что я указываю каждый четырехугольник (квадрат в этом случае) отдельно в файле данных - четырехугольники разделены двумя пустыми строками. Каждый квадрат состоит из четырех вершин, отсортированных по 2 "сканам. Итак, первое сканирование вы переходите от точки (0,0,0) до (0,0,1). Затем следующее сканирование происходит от (1,0, .. 0) до (1,0,1) Gnuplot затем соединяет сканы вместе
Используя эту технику, вы можете также сделать треугольники (треугольники только четырехугольники, где последние две точки одинаковы;).
И, наконец, окраска каждой поверхности выполняется с помощью pseudo-column
«-2» - это действительно просто четырехугольное число. Вы можете добавить четвертое поле в файл данных и использовать его для цвета, если хотите.
Однако у меня такое ощущение, что это решение с использованием gnuplot на самом деле то, что вы ищете, потому что на самом деле это не то, для чего был разработан gnuplot. Вероятно, есть инструмент, который будет делать это намного легче - я просто не знаю, что это такое.