这个问题的思路是,先分四个象限,然后只算出第二象限的完整方格数量后乘4。
做法就是,因为在第二象限内,所有小方格离圆最近的点都是左上角的点,所以如果圆心到一个小方格左上角的点的距离大于圆的半径,那这个小方格就不是在圆内的完整的。
而如果圆心到一个小方格左上角的点的距离小于圆的半径,那就说明这个小方格是完整在圆内的。
但是问题是,如果相等呢?那这个小方格算不算完整在圆内的?为什么?
标准答案的数值说明算,但自己做题时到底要怎么推断出算还是不算呢?凭感觉肯定是不行的,有什么逻辑规范吗?到底是<还是<=呢?
其实你的问题就是在问,圆周算不算是圆里
圆周当然是在圆里,圆是包含本身圆周的那条线,外加线内部的部分
你知道了圆周在圆里,那么方形的顶点在圆周上,它当然也在圆里
先从圆的定义开始,几何上说:平面上到定点的距离等于定长的所有点组成的图形叫做圆.定点称为圆心,定长称为半径.
也就是说距离圆心的距离=半径的点是属于圆里的,小方块左上角点在圆里,其余的点距离圆心的距离都小于半径,整个小方形的所有点都在圆里。应该按照<=。
反过来算,证明小方形不在圆里,那就要证明小方形有点到圆心的距离>半径,当没有点到圆心的距离大于半径时,就表示方形在圆内部。
两个都运行一下,看看
如果以第二个象限计算。 左上角的顶点离圆心最远 距离是单调递增在左上角达到最大值 所以用小于等于<=。通过左上顶点的x和y坐标的平方和 再与 半径的平方比较可以判断是否相等和小于
其实这种判定方法的有效方式与坐标轴的划分有一点关系,如果以当前的摆放,按照水平和垂直划分坐标轴,则第二象限内的确应该判断正方形的左上角与圆心的距离,这是因为这种情况下左上角离圆心最远,但是如果小方格与圆的相对位置发生旋转偏移的话,则不一定是按照左上角来判断,但是这种情况是仍能找到一个顶点作为判断标准
在计算圆内完整方格数量时,如果圆心到小方格左上角的点的距离小于等于圆的半径,那么这个小方格就是完整在圆内的。因此,当圆心到小方格左上角的点的距离等于圆的半径时,也应该算作是完整在圆内的。即在计算圆内完整方格数量时,应该使用小于等于号,即圆心到小方格左上角的点的距离 <= 圆的半径。