Skip to content

/ch3/examples/coordinateTransform.cpp 关于书中3.6.2章节的代码例子 #307

@xingzai1

Description

@xingzai1

小萝卜们的坐标系为R1和R2。小萝卜一号的位姿为q1=[0.35,0.2,0.3,0.1]T,t1=[0.3,0.1,0.1]T。小萝卜二号的位姿为q2=[−0.5,0.4,−0.1,0.2]T,t2=[−0.1,0.5,0.3]T。也就是世界坐标系到相机坐标系的变换关系。现在,小萝卜一号看到某个点在自身的坐标系下坐标为pR1=[0.5,0,0.2],求该向量在小萝卜二号坐标系下的坐标
代码中计算小萝卜一号坐标系下的p1点转换到世界坐标系下,作者用的T1w.inverse()p1把p1转换到世界坐标系下,但是我理解把p1转换到世界坐标系下应该是T1wp1,并且我也通过修改代码来验证我的理解是对的。假设小萝卜一号和二号在世界坐标系下都没有姿态的变化,即q1=[1,0,0,0]T, q2=[1,0,0,0]T,它们只有位移的变化,。那么把之前的点p1通过新的T1w*p1得到的值是[0.8,0.1,0.3]T,这个对于我理解是一个正确的在世界坐标系的坐标位置,如果按书中代码提供的T1w.inverse()*p1得到的p1值是[0.2,-0.1,0.1]T,则不是一个正确的答案。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions