如何自动将文本插入每个单元格(只有完美的方格单元格),或者是否有其他方法?标签文本是1A,1B,1C,1D,2A,2B,2C,2D等,直到圆内的完美方形单元的末端。问题是,每个晶片管芯的单元具有不同的宽度和高度。圆圈内行和列的范围也不同。我的问题是如何自动标记圆圈或使用不同高度和宽度的单元格的其他方式。
在这里,我附上我的晶圆模具的样子:
答案 0 :(得分:0)
好吧,我们假设我们的圆圈位于单元格E5
中(左上角,如图所示)。如果我们想要确定某个单元格是否在圆圈内,我们必须执行以下操作。例如,让我们检查是否包含单元格C3。我们假设圆的半径是r
。所以,现在我们需要计算C3底部右下角E5左上角之间的距离。所以你需要计算E5顶部和C3底部之间的高度,在这种情况下它将是第4行的高度(更一般地说,它将是所有行之间的高度的高度),让我们调用它a
。然后,以类似的方式,计算E列的左侧与C列的右侧之间的距离,因此它将是D列的宽度(更一般地,它将是列之间的宽度的总和),让'称之为b
。然后你使用pitgeorean定理来计算角之间的距离:sqrt(a ^ 2 + b ^ 2)。如果它小于r
,则单元格在圆圈内。如果要确定整个单元格是否在圆圈内,则必须另外计算到C3右上角的距离。
我认为它抓住了一个问题并且你能够概括它:)
答案 1 :(得分:0)
首先,这是一个数学问题,在您执行任何标注操作之前(这将是最后一步),您需要计算圆圈内的哪些单元格。
因此,如果它在圆圈内,您需要检查每个单元格(循环) 如果...
,则圆圈内的单元格该单元格的4个顶点(角)中的任何一个与圆心相距的距离小于圆的半径:
(x-center_x) 2 +(y-center_y) 2 <半径 2 强>
其中x
和y
是一个顶点的坐标,center_x
和center_y
是圆心的坐标。必须检查单元格的所有4个顶点。
你必须考虑顶点是否必须......
现在您已经检查了所有单元格,并找出了圆圈内的哪些单元格,您可以通过循环找到找到的单元格来开始标记它们。