我正在尝试使用 Matlab 创建一个函数,该函数采用角度(指定正方形的旋转角度)和正方形的长度,并返回一个包含 0 和 1 的矩阵,使得每个单元格的值为 1 当且仅当单元格在正方形上,否则为 0。
以下示例有助于使其更加清晰:
d = 8 = length of square
theta = 0
size of image containing the square = 16
img = zeros(16, 16);
img(o.x-d:o.x+d, o.y-d:o.y+d) = 1
output:
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000111111110000
0000111111110000
0000111111110000
0000111111110000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
上面的示例很容易显示,因为角度等于 0。 PS 一种方法可能是找到每个像素(单元格)的位置并验证像素是否在正方形内,但目标是找到一种简单的方法。