我希望找到代数重建方法的权重矩阵。为此,我必须找到与网格的交点。我可以找到直线与直线的交点,但我必须按网格编号存储相交的线段。因此,假设第一个方格不与网格相交,则在权重矩阵的第一个元素上放置零。
这是我尝试进行线交叉的代码:
我有一条由参数
对于网格的每个方块
这是我尝试进行线交叉的代码:
ak = 3:6
aka = 3:6
x = zeros(size(aka))
y = zeros(size(ak))
for k = 1:length(ak)
line([ak(1) ak(end)], [aka(k) aka(k)],'color','r')
end
% Vertical grid
for k = 1:length(aka)
line([ak(k) ak(k)], [aka(1) aka(end)],'color','r')
end
hold on;
X =[0 15.5]
Y = [2.5 8.5]
m = (Y(2)-Y(1))/(X(2)-X(1)) ;
c = 2.5 ;
plot(X,Y)
axis([0 10 0 10])
axis square
% plotting y intercept
for i = 1:4
y(i) = m * ak(i) + c
if y(i)<2 || y(i)>6
y(i) = 0
end
end
% plotting x intercept
for i = 1:4
x(i) = (y(i) - c)/m
if x(i)<2 || x(i)>6
x(i) = 0
end
end
z = [x' y']
我有一条由参数
m,h
定义的线,其中y = m * x + h
。这条线横跨网格(即像素)。对于网格的每个方块
(a, b)
(即方块[a, a+1]x[b, b+1]
),我想确定给定的线是否横跨此方块,并且如果是,则该段在方块中的长度是多少,以便我可以构建权重矩阵,这对于代数重建方法至关重要。