将矩阵映射到坐标平面上

问题描述 投票:0回答:1

我正在研究如何将矩阵映射到坐标平面上。例如,我们考虑一个 4x4 矩阵。我希望这个矩阵映射到坐标平面上,x 轴上的点范围为 -2 到 +2,y 轴上的点范围为 -2 到 +2。矩阵的中心应始终位于点 (0,0)。因此,点(-1.5,1.7)应该对应于矩阵[0][0]点。有没有一种技术可以实现这一点?

python numpy machine-learning math algebra
1个回答
0
投票

在 4x4 的情况下,如果您的点位于坐标 x,y:

i = math.trunc(2+x)
j = math.trunc(2-y)
value = m[j,i]

value 将表示 x,y 坐标处的矩阵值。对于更一般的情况,如果您的矩阵有大小(高度,宽度),则代码为:

i = math.trunc( width/2 + x )
j = math.trunc( height/2 - y )
value = m[j,i]

如果 x、y 坐标超出范围,这会造成混乱,因此您可能需要。

if i<0: i=0
if i>= width: i=width-1
if j<0: j=0
if j>= height: j=height-1

参见如何将数字限制在指定范围内? (Python)以获得更好的建议如何做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.