2017-03-14 5 views
1

종종 을 사용하여 삼각형 메쉬를 그릴 필요가 있습니다.gnuplot을 사용하여 드로잉 삼각형 메쉬

$wireframe <<EOD 
0 1 1 p1 
1 -1 1 p2 
-1 -1 1 p3 
0 1 1 


2 1 0 p4 
0 1 1 
1 -1 1 
2 1 0 


0 -2 0 p5 
1 -1 1 
-1 -1 1 
0 -2 0 


-2 1 0 p6 
-1 -1 1 
0 1 1 
-2 1 0 
EOD 
splot '$wireframe' with lines notitle, '' with labels offset character 0, character 1 notitle 

이가 4 : 나는 현재 참조

유일한 방법은 with lines 옵션 및 각면에 대한 (첫 번째와 마지막 점입니다 같은) 라인의 폐쇄 체인 사이 두 배 줄 바꿈을 사용하여 "와이어"를 만드는 것입니다 삼각형 : 중심에서 1 (p1, p2, p3)이고 3은 다리에 인접합니다.

메쉬를 정의하는 방법에는 여러 가지 복제가 있습니다. 때로는 메쉬를 삼각형 스트립 또는 삼각형 팬으로 정의하는 것이 더 적절한 방법입니다.

또 다른 문제는 3D 삼각형의 내부를 어떤 색으로 채우는 것입니다. 현재는 다른 체인 된 선들에 대해서만 팔레트에서 다른 색상을 사용하여 와이어 프레임을 그릴 수 있습니다. 그러나 그것들은 중첩됩니다.

말하자면, 20 면체를 그립니다. 닫힌 솔리드로 삼각형면으로 구속됩니다.

답변

2
set terminal wxt size 800,600 

#set title "Graph Title" 
#set xlabel "X" 
#set ylabel "Y" 
#set zlabel "Z" 

# sets background color 
set object 1 rectangle from screen -0.1,-0.1 to screen 1.1,1.1 fillcolor rgb "#ffffff" behind 

# allows rendering of polygons with hidden line removal 
set hidden3d back offset 0 trianglepattern 3 undefined 1 altdiagonal bentover 

# displays borders 0x7F = 0b1111111 
set border 0x7F linecolor rgb "#555555" 

# displays the x, y and z axis 
set xzeroaxis linewidth 0.5 linetype 1 
set yzeroaxis linewidth 0.5 linetype 2 
set zzeroaxis linewidth 0.5 linetype 3 

# displays the x, y and z grid 
set grid xtics linecolor rgb "#888888" linewidth 0.2 linetype 9 
set grid ytics linecolor rgb "#888888" linewidth 0.2 linetype 9 
set grid ztics linecolor rgb "#888888" linewidth 0.2 linetype 9 

# moves the x, y grid to 0 
set xyplane at 0 

# makes the x, y, and z axis proportional 
set view equal xyz 

# sets the axis range 
set xrange [-10:10] 
set yrange [-10:10] 
set zrange [-10:10] 

# moves the key out of the graph 
set key outside vertical bottom right 

# hides the key 
set key off 

splot\ 
"ico.dat" title "ico" with lines linewidth 2.1 linecolor rgb "#88FF88" 

특별하다고. DAT :
https://github.com/lowlevel86/blender-to-gnuplot

:

-1.381925 -4.253200 -2.236075 
0.000000 0.000000 -5.000000 

3.618000 -2.628600 -2.236075 
3.618000 -2.628600 -2.236075 


3.618000 -2.628600 -2.236075 
0.000000 0.000000 -5.000000 

3.618000 2.628600 -2.236075 
3.618000 2.628600 -2.236075 


-4.472125 0.000000 -2.236075 
0.000000 0.000000 -5.000000 

-1.381925 -4.253200 -2.236075 
-1.381925 -4.253200 -2.236075 


-1.381925 4.253200 -2.236075 
0.000000 0.000000 -5.000000 

-4.472125 0.000000 -2.236075 
-4.472125 0.000000 -2.236075 


3.618000 2.628600 -2.236075 
0.000000 0.000000 -5.000000 

-1.381925 4.253200 -2.236075 
-1.381925 4.253200 -2.236075 


3.618000 -2.628600 -2.236075 
3.618000 2.628600 -2.236075 

4.472125 0.000000 2.236075 
4.472125 0.000000 2.236075 


-1.381925 -4.253200 -2.236075 
3.618000 -2.628600 -2.236075 

1.381925 -4.253200 2.236075 
1.381925 -4.253200 2.236075 


-4.472125 0.000000 -2.236075 
-1.381925 -4.253200 -2.236075 

-3.618000 -2.628600 2.236075 
-3.618000 -2.628600 2.236075 


-1.381925 4.253200 -2.236075 
-4.472125 0.000000 -2.236075 

-3.618000 2.628600 2.236075 
-3.618000 2.628600 2.236075 


3.618000 2.628600 -2.236075 
-1.381925 4.253200 -2.236075 

1.381925 4.253200 2.236075 
1.381925 4.253200 2.236075 


4.472125 0.000000 2.236075 
1.381925 -4.253200 2.236075 

3.618000 -2.628600 -2.236075 
3.618000 -2.628600 -2.236075 


1.381925 -4.253200 2.236075 
-3.618000 -2.628600 2.236075 

-1.381925 -4.253200 -2.236075 
-1.381925 -4.253200 -2.236075 


-3.618000 -2.628600 2.236075 
-3.618000 2.628600 2.236075 

-4.472125 0.000000 -2.236075 
-4.472125 0.000000 -2.236075 


-3.618000 2.628600 2.236075 
1.381925 4.253200 2.236075 

-1.381925 4.253200 -2.236075 
-1.381925 4.253200 -2.236075 


1.381925 4.253200 2.236075 
4.472125 0.000000 2.236075 

3.618000 2.628600 -2.236075 
3.618000 2.628600 -2.236075 


1.381925 -4.253200 2.236075 
4.472125 0.000000 2.236075 

0.000000 0.000000 5.000000 
0.000000 0.000000 5.000000 


-3.618000 -2.628600 2.236075 
1.381925 -4.253200 2.236075 

0.000000 0.000000 5.000000 
0.000000 0.000000 5.000000 


-3.618000 2.628600 2.236075 
-3.618000 -2.628600 2.236075 

0.000000 0.000000 5.000000 
0.000000 0.000000 5.000000 


1.381925 4.253200 2.236075 
-3.618000 2.628600 2.236075 

0.000000 0.000000 5.000000 
0.000000 0.000000 5.000000 


4.472125 0.000000 2.236075 
1.381925 4.253200 2.236075 

0.000000 0.000000 5.000000 
0.000000 0.000000 5.000000 

믹서기와 파이썬 스크립트에 의해 생성 된

+0

완벽. 데이터 감각이란 무엇입니까? 패턴 "2 포인트, 빈 라인, 빈 라인, ..."을 참조하십시오. – Orient

+0

[http://www.gnuplot.info/faq/faq.html#x1-370003.14](http://www.gnuplot.info/) faq/faq.html # x1-370003.14) – user2376639

1

해결 방법은 측면의 정의를 구문 분석하는 것 둔한/파이썬 스크립트를 작성하고면이 다각형으로 수동으로 그려 질 것의 gnuplot 스크립트를 생성 할 수 :

set xr [0:1] 
set yr [0:1] 
set zr [0:1] 

#generate the polygons 
set object polygon from 0,0,0 to 1,0,0 to 1,1,0 to 0,1,0 to 0,0,0 fc rgb "cyan" fillstyle solid 1.0 border lt -1 
set object polygon from 1,0,0 to 1,1,0 to 1,1,1 to 1,0,1 to 1,0,0 fc rgb "cyan" fillstyle solid 1.0 border lt -1 

#do not plot anything 
splot 1/0 
+0

높은 폴리곤 메쉬에는 너무 비쌉니다. 하지만 확실한 해결 방법입니다. – Orient