題目內容:
給定一組二維座標,表示直角座標系內的乙個多邊形的連續的頂點的座標序列。計算能包圍這個多邊形的平行於座標軸的最小矩形,輸出它的左下角和右上角的座標。
輸入格式:
第一行是乙個正整數n表示頂點的數量,第二行是n組整數,依次表示每個頂點座標的x和y值。
輸出格式:
四個整數,依次表示所計算的矩形的左下角的座標的x、y值和右上角座標的x、y值。輸出最後帶有回車換行。
輸入樣例:
1 1 1 4 3 7 4 4 4 1
輸出樣例:
1 1 4 7
#includeint main()
} int ymin,ymax;
ymin = ymax = y[0];
for( int i=1; iymax )
} printf("%d %d %d %d\n",xmin,ymin,xmax,ymax);
return 0;
}
matlab練習程式(最小包圍矩形)
又是計算幾何,我感覺最近對計算幾何上癮了。當然,工作上也會用一些,不過工作上一般直接呼叫boost的geometry庫。上次寫過最小包圍圓,這次是最小包圍矩形,要比最小包圍圓複雜些。最小包圍矩形可不一定是個直立的矩形,也可能像下圖一樣是傾斜的。求法如下 1.求多邊形凸包,這裡凸包直接呼叫系統函式了,...
matlab練習程式(最小包圍矩形)
又是計算幾何,我感覺最近對計算幾何上癮了。當然,工作上也會用一些,不過工作上一般直接呼叫boost的geometry庫。上次寫過最小包圍圓,這次是最小包圍矩形,要比最小包圍圓複雜些。最小包圍矩形可不一定是個直立的矩形,也可能像下圖一樣是傾斜的。求法如下 1.求多邊形凸包,這裡凸包直接呼叫系統函式了,...
最小包圍凸包
最近看了最小凸包繪製,官方 沒看,常見的有graham s scan演算法 其實原理比較簡單,先將點集排序,之後根據左轉進行棧掃瞄。1.點集排序 一般取x座標最小的,並且盡量y大的,靠左下角的點作為起始點。然後連線起始點p0與其他點,計算連線與豎直向下方向的夾角,按照大小順序排列。s p1,p2,p...