2011-06-08 48 views
1

我正在爲移動設備編寫遊戲,該遊戲顯示背景中的彩色球的序列。 如果用戶觸摸球,我想縮放它們並顯示一條消息。檢測圖像中的邊界

由於球的數量和大小是偶然的,我試圖填充由球佔用的區域,並獲得邊界矩形傳遞給縮放功能。

如果用戶,一次偶然的機會,不德勤在一球或閉合路徑內部這隻作品...

這裏是我的問題的圖形表示:

*,深色背景

空格,淺色背景

+,是滾珠

********************************* 

***       *** 

***       *** 

***       *** 

*** + + + ++ ++  *** 

*** +  +  ++ + + *** 

*** + + + + + + *** 

*** +  +  + + + *** 

***  + + + ++  *** 

*** +  +  ++ + + *** 

***       *** 

********************************* 

我想知道包含所有球的矩形的座標。

有什麼建議嗎?

謝謝, PMC

回答

0

存儲所有可以通過簡單的最小值和最大值的計算來計算球的矩形。您只需在兩個座標中找到(位置 - 半徑)的最小值和(位置+半徑)的最大值。當然,這假定球是由你畫出的,或者至少他們的座標是已知的。否則,這是一個計算機視覺問題,儘管很簡單,因爲移動設備沒有如此大的屏幕來完成像素逐像素掃描是不可行的。

0

說你的原點在左下角。正x是正確的,正y是正確。

您的左邊界將是(x_i - r_i)的最小值,其中x_i是球i的x座標,r是球i的半徑。

您的右邊界將是(x_i + r_i)的最大值。

您的底部邊界將是(y_i - r_i)的最小值。

您的頂部邊界將是(y_i + r_i)的最大值。