GNU 옥타브에는 선이나 다각형을 그리기위한 기존 코드가 있습니까?

StackOverflow https://stackoverflow.com/questions/1429165

  •  07-07-2019
  •  | 
  •  

문제

배경:

2D 매트릭스 (실제로 이미지)와 다각형을 정의하는 포인트 세트를 가져 와서 그 다각형을 매트릭스로 끌어들일 수 있기를 원합니다.

도망 가서 바퀴를 재창조하기 전에, 나는 누군가가이를 수행하는 옥타브의 기존 라이브러리 나 코드를 알고 있는지 물어볼 것이라고 생각했습니다. 지금까지 옥타브 패키지와 Google을 검색하는 것이 비어 있습니다.

그것에 실패하면 구현하기가 너무 어렵지는 않지만 채워진 다각형을 그리는 방법은 확실하지 않습니다. 어떤 포인트가 다각형 내부에 있고 어느 지점이 외부에 있는지 알 수있는 쉽고 효율적인 방법이 있습니까? 감사.

편집하다:

내 목적은 아무것도 표시하지 않습니다. 실제로, 내가 구체적으로보고있는 것은 볼록한 선체를 플로팅하고, 영역을 찾고, 원래 객체가 아닌 볼록한 선체의 일부를 찾는 등 이미지 처리 작업입니다.

GNU 플롯이 실제로 작업 할 수있는 데이터를 다시 제공한다는 것을 알 수 없습니다. 내가 틀렸다면 꼭 방법을 알려주세요. 감사.

도움이 되었습니까?

해결책

다각형 내에서 포인트를 찾으려면 Matlab Central에 게시 된 Darren Engwirda의 Matlab 함수를 시도해 볼 수 있습니다. http://www.mathworks.com/matlabcentral/fileexchange/10391

나는 코드를 간단히 살펴 보았고 특히 matlab이 특정한 것을 보지 못하므로 옥타브로 실행될 수 있습니다.

다른 팁

편집 : OP의 편집 상단에 응답하여 쉽게 찾을 수 있습니다.

A가 있습니다 gnuplot을 파일에 직접 렌더링하는 다양한 방법 ( "터미널"으로 스크롤) 분석을 위해 읽을 수 있습니다. 예를 들어, 당신은 할 수 있습니다 휴대용 비트 맵 형식으로 출력 읽고 쓰기 쉽습니다 (작고 우아하지 않은 경우). 정의상, PBM은 당신에게 다양한 흑인과 흰색 배열을 줄 것입니다.

예를 들어,이 사용을 확인하십시오 "터미널 설정"및 "출력 설정"명령 PBM과 PNG 파일을 생성하는 일련의 UNIX 파이프로 렌더링합니다.

최종 편집 :

GNU 옥타브는 플로팅을 위해 gnuplot 사용에 대한 기본값이며 Gnuplot은 채워진 다각형을 생산하는 데 상당히 능숙합니다. 여기에 있습니다 유용한 시연 정확히 그런 종류의 것. 예를 들어, 다음은 채워진 다각형입니다:

# set terminal png transparent nocrop enhanced font arial 8 size 420,320 
# set output 'fillcrvs.4.png'
set grid nopolar
set grid xtics nomxtics ytics nomytics noztics nomztics \
 nox2tics nomx2tics noy2tics nomy2tics nocbtics nomcbtics
set grid front   linetype 0 linewidth 1.000,  linetype 0 linewidth 1.000
set key outside right top vertical Right noreverse enhanced autotitles nobox
set title "The red bat: abs(x) with filledcurve xy=2,5" 
plot abs(x) with filledcurve xy=2,5

다음은 또 다른 데모 스크립트입니다 채워진 곡선 페이지의 바닥에 미친 얼굴을 그립니다.

# set terminal png transparent nocrop enhanced font arial 8 size 420,320 
# set output 'fillcrvs.6.png'
unset border
set dummy t,y
set grid nopolar
set grid xtics nomxtics ytics nomytics noztics nomztics \
 nox2tics nomx2tics noy2tics nomy2tics nocbtics nomcbtics
set grid layerdefault   linetype 0 linewidth 1.000,  linetype 0 linewidth 1.000
unset key
set label 1 "gnuplot" at 0, 1.2, 0 centre norotate front nopoint offset character 0, 0, 0
set label 2 "gnuplot" at 0.02, -0.6, 0 centre norotate front nopoint offset character 0, 0, 0
set arrow 1 from -0.1, 0.26, 0 to 0.18, -0.17, 0 head front nofilled linetype 5 linewidth 4.000 size first 0.100,40.000,90.000
set parametric
set size ratio 1 1,1
set noxtics
set noytics
set title "Let's smile with parametric filled curves" 
set xrange [ -1.00000 : 1.00000 ] noreverse nowriteback
set yrange [ -1.00000 : 1.60000 ] noreverse nowriteback
plot [t=-pi:pi]     sin(t),cos(t) with filledcurve xy=0,0 lt 15,        sin(t)/8-0.5,cos(t)/8+0.4 with filledcurve lt 3,        sin(t)/8+0.5,cos(t)/8+0.4 with filledcurve lt 3,        t/5,abs(t/5)-0.8 with filledcurve xy=0.1,-0.5 lt 1,     t/3,1.52-abs(t/pi) with filledcurve xy=0,1.8 lt -1
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top