我正试图从自主代理的纸张转向行为中实现避障行为。我所坚持的是如何将全局坐标(2d)转换为我的角色的本地坐标?
基本上我说我在1.0,敌人是10,0。我想将原点移动到1,0所以我得到9,0作为敌人坐标。
我最终做了什么,
转换为本地,
[1 0 -tx] [x]
[0 1 -ty] x [y]
[0 0 1] [1]
然后回到全球使用,
[1 0 tx] [x]
[0 1 ty] x [y]
[0 0 1] [1]
tx,ty是本地char coords和x,y是敌人char coords。
答案 0 :(得分:1)
只需减去积分。
相对=位置 - 移动轴点。
(10,0) - (1,0)=(9,0)
修改强>
使用Affine transformation转换整个x,y平面:
仅针对数字问题,让我们选择另一个观点:(3,7)
[x] = [ 1 0 -3 ] = [x`] = x -3
[y] [ 0 1 -7 ] = [y`] = y -7
[1] [ 0 0 1 ] = [1 ] = we don't care
<强> Transformation matrix 强>