我正在为移动设备编写一个游戏,该游戏在背景上显示一系列彩球。 如果用户触摸球,我想缩放它们并显示消息。
由于球的数量和大小是随意的,我试图用球填充区域,并使边界矩形传递到缩放功能。
只有当用户偶然没有触球或在封闭的路径内时,这才有效...
以下是我的问题的图形表示:
*,深色背景
空格,浅色背景
+,是球
*********************************
*** ***
*** ***
*** ***
*** + + + ++ ++ ***
*** + + ++ + + ***
*** + + + + + + ***
*** + + + + + ***
*** + + + ++ ***
*** + + ++ + + ***
*** ***
*********************************
我想知道包含所有球的矩形的坐标。
有什么建议吗?
谢谢, PMC
答案 0 :(得分:0)
可以通过简单的最小和最大计算来计算存储所有球的矩形。您只需在两个坐标中找到(位置 - 半径)和(位置+半径)的最小值。当然,这假设球是由你绘制的,或者至少它们的坐标是已知的。否则,这是一个计算机视觉问题,尽管是一个简单的问题,因为移动设备没有如此大的屏幕来使像素扫描完全不可行。
答案 1 :(得分: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)的最大值。