代数的再構成法の重み行列を見つけたいです。このために、グリッドとの線の交点を見つける必要があります。線との直接線の交点を見つけることができますが、交差した線セグメントのグリッド番号を保存する必要があります。したがって、グリッドの最初の正方形がグリッドと交差しない場合、重み行列の最初の要素にゼロを置くとします。
私が線の交点で試したコードは次のとおりです。
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
parametersで定義された線があります。y = m*x + h
この線はグリッド (つまり、ピクセル) を横切ります。
グリッドの各正方形(a, b)
(つまり、正方形) について、指定された線がこの正方形と交差するかどうか[a, a+1]x[b, b+1]
を判断したいと考えています。代数再構成法に不可欠です。