精华内容
下载资源
问答
  • 仿射坐标系中椭圆曲线算法的新快速算法
  • 椭圆曲线上点的表示分成仿射坐标系表示和射影坐标表示形式,首先来看看仿射坐标表示形式。 素域Fp上的椭圆曲线E由(仿射)方程y2=x3+ax+b决定,设曲线上的两个点为P1=(x1,y1),P2=(x2,y2),并且记椭圆曲线加法...

            椭圆曲线上点的表示分成仿射坐标系表示和射影坐标表示形式,首先来看看仿射坐标表示形式。

    素域Fp上的椭圆曲线E由(仿射)方程y2=x3+ax+b决定,设曲线上的两个点为P1=(x1,y1),P2=(x2,y2),并且记椭圆曲线加法群的单位元为,称为无穷远点或者零点。如果P1≠-P2,则P3=P1+P2=(x3,y3),可以由如下公式计算出来:

                                     

    当P1≠P2时,计算P3需要1次逆运算、2次乘法运算和1次平方运算,简记为1I+2M+1S(这里的I表示逆运算,M表示乘法运算,S表示平方运算,下同)。由于素域上的加法和减法比逆、乘法和平方快的多(参见[3],表2),所以可以忽略加法和减法的时耗,甚至小常数(比如2、3)与大整数的乘法也可以忽略不计。

    当P1=P2时,计算P3需要1I+2M+2S。

            然而,计算素域Fp上的逆是很耗时的(参见[3],§3.6),所以采用射影坐标以尽量避免做逆运算。

    展开全文
  • 仿射变换和透视变换和图像坐标系、相机坐标系和世界坐标系的定义开篇仿射变换透视变换图像坐标系、相机坐标系和世界坐标系三维的点投影在二维平面上坐标系和坐标变换公式合体Zhang方法 开篇 本文主要介绍计算机视觉...

    开篇

    本文主要介绍计算机视觉的位姿估计,相机标定原理,和zhang方法求解内外相机参数。

    仿射变换

    这个是一般的仿射变换的公式。

    为了能够更好的理解它,我们首先来看看下面几幅图:

    在这里插入图片描述
    上面的x和y分别代表像素的坐标,然后x0,y0代表的是平移量。然后生成了新的位置u和v。然后旋转也是一样的。首先这个旋转一定要在原点,所以一般opencv的第一步就是把这个图像的中心放到原点。最终在平移回去
    在这里插入图片描述

    上面这个是缩放的公式,都是大同小异,一样的到底。把x放大Sx倍,把y放大Sy倍。那么现在再来看看咱们上面的那仿射变换的公式。
    在这里插入图片描述
    其中A中的对角线决定 缩放,反对角线决定 旋转 或 错切。
    这就好比缩放的公式乘以了旋转的公式加上了平移的变化。
    这里有一点要注意的就是多边形的图片不能用仿射变换,因为会导致四边形的边消失,可以看看这个:https://www.zhihu.com/question/20666664/answer/15790507
    (个人认为是在Shear的过程中,多边形可能会在某个值重合成一条线,这里我也不太明白,有大牛可以告知一下)
    这里一般来说,opencv中的实现需要咱们提供至少6个点,其中三个点是输入,后三个是输出。

    透视变换

    先上一张图,其实我觉得透视变换就是仿射变换的升级版。
    在这里插入图片描述
    在这里插入图片描述
    透视变换就是从左图转换到了右图。相信也很容易理解。相当于换了个视角来看事物。如下图:
    在这里插入图片描述
    下面来看看公式:
    在这里插入图片描述
    opencv的实现和仿射变换差不多,不过这个是需要至少4个点集才能进行。就比如上面那个公路的图,首先自己要决定点在哪里,这个图的话肯定选择的是白线上的点,得到坐标之后,如果想变成一个类似于长方形的(就是右图)的图像的话,这里的点的坐标也是需要自己决定的,如果想要使刚刚左图中选择的点成为一些比如平行等关系,需要自己合理安排一下,然后套到公式里面进行暴力求解,求得这9个值。

    图像坐标系、相机坐标系和世界坐标系

    图像左边西和相机坐标系和时间坐标系都是可以用过线性变化来互相转化的。先看看这幅图:
    在这里插入图片描述
    图中壶的位置是图像坐标系,也可以说是物体坐标系,两个相机有两个不同的相机坐标系,然后相机和物体存在的这个房间或者什么地方可以被叫做世界坐标系。
    怎么样才能从一个坐标系变换到另外一个坐标系呢?
    首先来看看坐标系是如何旋转的。
    在这里插入图片描述
    同理,上图是绕Z轴旋转的示意图,当然也可以绕x或y轴旋转。
    在这里插入图片描述
    那么从一个坐标系可以通过各种旋转加平移变成另外一个坐标系。通过上面的等式,我们可以看到物体点P通过旋转位移便可以得到在相机坐标系的坐标

    三维的点投影在二维平面上

    这个说白了就是一个小孔成像模型,摄像机通过小孔,把成像映射在平面的点上。
    在这里插入图片描述
    对应的公式就是上面图右下角的公式,便可以得到对应的二维平面坐标

    坐标系和坐标变换

    在这里插入图片描述
    首先,图像坐标系和像素坐标系都是二维的。只不过他们的度量单位和原点不同而已。像素坐标系是以每个像素为基本单位,就好比说咱们一副3*3的图像一共有9个像素一个道理。但图像坐标系的单位是mm,dx,dy分别代表的是一个像素点的长和宽,单位是mm。

    公式合体

    在这里插入图片描述
    其中,在这里插入图片描述算是外参矩阵,后面的RT矩阵是内参矩阵。看下图
    在这里插入图片描述
    很明显我们最后有了12个未知数,然后每一个点可以为我们带来二个式子。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    所以现在就是解方程了,只要有6个点切非共面(如果不满足这个的话求出来的解不满足正交矩阵,咱们的R旋转矩阵一定是正交矩阵),变可以得出内参和外参。
    需要注意的是这里的求出来的解是内参加外参的一个矩阵。所以这里需要QR分解出来R。具体的求解方法可以看看opencv solvePnp函数。
    还有就是这个内参数:
    现以NiKon D700相机为例,焦距 f = 35mm 最高分辨率:4256×2832 传感器尺寸:36.0×23.9 mm
    根据以上定义可以有:
    u0= 4256/2 = 2128 v0= 2832/2 = 1416 dx = 36.0/4256 dy = 23.9/2832
    fx = f/dx = 4137.8 fy = f/dy = 4147.3
    分辨率可以从显示分辨率与图像分辨率两个方向来分类。
    [1]显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个图像想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目。显示分辨率一定的情况下,显示屏越小图像越清晰,反之,显示屏大小固定时,显示分辨率越高图像越清晰。
    [2]图像分辨率则是单位英寸中所包含的像素点数,其定义更趋近于分辨率本身的定义。

    Zhang方法

    在这里插入图片描述
    在这里插入图片描述
    需要小心的是,当我们使用真实的数据求解时,将计算得到的r向量放在一起(R=(r1,r2,r3)),我们并不能得到精确的旋转矩阵R,使得R为正交阵。

    为了解决这个问题,我们常使用强制的方法,即对R进行奇异值分解,R=UDVT,U,V为正交阵,D为对角阵,如果R是正交阵,那么奇异值分解后的对角阵D是单位阵,那么我们将单位阵I代替对角阵D,进而重构出满足正交条件的R.

    奇异值分解的含义: https://www.cnblogs.com/endlesscoding/p/10033527.html
    从上面的图片的压缩结果中可以看出来,奇异值可以被看作成一个矩阵的代表值,或者说,奇异值能够代表这个矩阵的信息。当奇异值越大时,它代表的信息越多。因此,我们取前面若干个最大的奇异值,就可以基本上还原出数据本身。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    我对这个的理解就是咱们一般用的照相机之类的拍照都会有一定的误差,而这个误差就出现在透镜的凸凹的状况。一般我们用一个相机拍摄一个三维的东西,咱们会有物体真实的角点,和图片上的角点,然后用这些先计算一遍,不考虑畸变的外参数和内参数。然后在通过一个叫做Brown的方法来计算畸变参数。然后我们就可以用这些参数去估计坐标系旋转。

    展开全文
  • 自由质点测地线仿射参量时空坐标系,卞保民,赖小明,以时序t为自变量,可给出自由质点空间测地线的参数方程组{Xi(t)},借助于仿射参量R(t)变换实现测地线微分方程的齐次化,推导出仿射参量R�
  • 4、九点标定中的图像机械坐标系仿射(涉及较多二维点集的坐标系仿射) 5、总结 1、图像定位中的矩形框仿射坐标系仿射) vector_angle_to_rigid( : :Row1,Column1,Angle1,Row2,Column2,Angle2:...

    仿射在机器视觉中起到了很重要的作用,且应用范围十分广泛,下面我们一一道来

    总目录

    1、图像定位中的矩形框仿射(坐标系仿射)

    2、图像定位中的工件坐标仿射(坐标系仿射)

    3、图像刚性变换(更加灵活,功能更丰富的坐标系仿射)

    4、九点标定中的图像机械坐标系仿射(涉及较多二维点集的坐标系仿射)

    5、总结

     

    1、图像定位中的矩形框仿射(坐标系仿射)

    vector_angle_to_rigid( : : Row1Column1Angle1Row2Column2Angle2 : HomMat2D)

    根据坐标点和角度信息求坐标系仿射关系

    示例代码:

    find_scaled_shape_model (ImageReduced, ModelShapeID, rad(-10), rad(20), cvlScaleMin, cvlScaleMax, cvlMatchScore, 1, 0.5, 'least_squares', [6,1], 0.75, dShim_Row_Pix, dShim_Col_Pix, dAngle, dScale, dScore)
    clear_shape_model(ModelShapeID)
    
    **************************************************************
    *******************显示模板匹配的结果**************************
    **************************************************************
    for i := 0 to |dScore| - 1 by 1
        vector_angle_to_rigid (0, 0, 0, dShim_Row_Pix[i], dShim_Col_Pix[i], dAngle[i], MovementOfObject)    
        hom_mat2d_scale (MovementOfObject, dScale[i], dScale[i], dShim_Row_Pix[i], dShim_Col_Pix[i], MoveAndScalingOfObject)
        affine_trans_contour_xld (hxldShapeModel, ModelAtNewPosition, MoveAndScalingOfObject)
        gen_cross_contour_xld (Cross, dShim_Row_Pix, dShim_Col_Pix, 60, 2)
        count_obj (ModelAtNewPosition, Number)
    endfor
    if(|dScore|>=1)
        ************************************************************************
        *******************read files  affine trans region**********************
        ************************************************************************
        **read BaseAOI Information And Affine region
        vector_angle_to_rigid (MatchModelRow, MatchModelCol, MatchModelAngle, dShim_Row_Pix, dShim_Col_Pix, dAngle, HomMat2D) 
        hom_mat2d_scale (HomMat2D, dScale, dScale, dShim_Row_Pix, dShim_Col_Pix, HomMat2DFirst)
        affine_trans_region (OrigMaskRegion, MaskRegionOutput, HomMat2DFirst, 'true')
    endif

    2、图像定位中的工件坐标仿射(坐标系仿射)

    这部分是矩形框仿射后的下一步工作,目的是更加精确的得到仿射区域(仿射坐标由图纸给出,前提是有足够的稳定特征来建立工件坐标系,比如直线,圆,椭圆,矩形等特征)

    示例代码:

    *建立工件坐标
    fit_line_contour_xld (ContourUp, 'tukey', -1, 0, 5, 2, RowBegin_T, ColBegin_T, RowEnd_T, ColEnd_T, Nr1, Nc1, Dist1)
    fit_line_contour_xld (ContourDw, 'tukey', -1, 0, 5, 2, RowBegin_B, ColBegin_B, RowEnd_B, ColEnd_B, Nr1, Nc1, Dist1)
    
    *求坐标原点(方法比较多,根据实际需求,可以是两直线交点;Y轴上某点到X轴投影点;X轴上某点到Y轴上投影点,等等等等)
    intersection_ll ( RowBeginLeft_L, ColBeginLeft_L, RowEndLeft_L, ColEndLeft_L,BaseLine_BeginRow, BaseLine_BeginCOl, BaseLine_EndRow, BaseLine_EndCOl,RowOrig,ColumnOrig, IsParallel)
    gen_cross_contour_xld (Basic_Center_cross, RowOrig, ColumnOrig, 60, 2)
    Basic_Inter_Row := RowOrig
    Basic_inter_Column := ColumnOrig
    PI :=3.1415926
    angle_lx (BaseLine_BeginRow, BaseLine_BeginCOl, BaseLine_EndRow, BaseLine_EndCOl, Angle)
    dAngleVertical := Angle + PI/2
    gen_contour_polygon_xld (BaseAxiseY, 
    [Basic_Inter_Row - 700*sin(-dAngleVertical),Basic_Inter_Row+700*sin(-dAngleVertical)],    [Basic_inter_Column -700*cos(dAngleVertical),Basic_inter_Column+700*cos(dAngleVertical)])
    
    count_obj(BaseAxiseY,BaseAxiseYNumber)
    if(BaseAxiseYNumber=1)
        gen_contour_polygon_xld (BaseAxiseX, \
          [BaseLine_BeginRow-700*sin(-Angle),BaseLine_EndRow+700*sin(-Angle)],\
          [BaseLine_BeginCOl-700*cos(Angle),BaseLine_EndCOl+700*cos(Angle)])
        disp_obj(BaseAxiseX,window2)
        disp_obj(BaseAxiseY,window2)
    endif
            
    *仿射工件坐标
    BasicAngle := Angle
    Basic_Y :=Basic_Inter_Row
    Basic_X :=Basic_inter_Column
    Basic_Angle := rad(90)+BasicAngle
    vector_angle_to_rigid(0,0,0,Basic_Y, Basic_X,Basic_Angle,HomMat2D_AxiI)      
    affine_trans_point_2d(HomMat2D_AxiI,Search_BasicX/(Scale_XB),Search_BasicY/(Scale_YB),Qx, Qy)
    gen_cross_contour_xld (Cross, Qx, Qy, 60, Angle)    
    tuple_gen_const(|Search_BasicY|,Angle,Rectangle_TA)
    gen_rectangle2(TRectangle,Qx, Qy,Rectangle_TA,Rectangle_TL1,Rectangle_TL2)

    3、图像刚性变换(更加灵活,功能更丰富的坐标系仿射)

    1)旋转,平移,伸缩,倾斜

    ** 建立一个空的仿射句柄
    hom_mat2d_identity (HomMat2DIdentity)
    ** 对二维点集进行Sx,Sy的比例缩放
    hom_mat2d_scale (HomMat2DIdentity, Sx, Sy, 0, 0, HomMat2DScale)
    ** 对二维点集投影到XY坐标轴倾斜角度为Theta的坐标系
    hom_mat2d_slant (HomMat2DScale, Theta, 'y', 0, 0, HomMat2DSlant)
    ** 对二维点集角度为Phi的旋转
    hom_mat2d_rotate (HomMat2DSlant, Phi, 0, 0, HomMat2DRotate)
    ** 对二维点集进行Tx,Ty的偏移
    hom_mat2d_translate (HomMat2DRotate, Tx, Ty, HomMat2D)

    2)正向变换

    ** 1、正向仿射
    ** 建立一个空的仿射句柄
    hom_mat2d_identity (HomMat2DIdentity)
    ** 对二维点集进行Sx,Sy的比例缩放
    hom_mat2d_scale (HomMat2DIdentity, Sx, Sy, 0, 0, HomMat2DScale)
    ** 对二维点集投影到XY坐标轴倾斜角度为Theta的坐标系
    hom_mat2d_slant (HomMat2DScale, Theta, 'y', 0, 0, HomMat2DSlant)
    ** 对二维点集角度为Phi的旋转
    hom_mat2d_rotate (HomMat2DSlant, Phi, 0, 0, HomMat2DRotate)
    ** 对二维点集进行Tx,Ty的偏移
    hom_mat2d_translate (HomMat2DRotate, Tx, Ty, HomMat2D)
    

    3)逆向变换

    ** 2、逆向仿射
    ** 建立一个空的仿射句柄
    hom_mat2d_identity (HomMat2DIdentity)
    ** 对二维点集进行Tx,Ty的偏移
    hom_mat2d_translate (HomMat2DIdentity, -Tx, -Ty, HomMat2DTranslate)
    ** 对二维点集角度为Phi的旋转
    hom_mat2d_rotate (HomMat2DTranslate, -Phi, 0, 0, HomMat2DRotate)
    ** 对二维点集投影到XY坐标轴倾斜角度为Theta的坐标系
    hom_mat2d_slant (HomMat2DRotate, -Theta, 'y', 0, 0, HomMat2DSlant)
    ** 对二维点集进行Sx,Sy的比例缩放
    hom_mat2d_scale (HomMat2DSlant, -Sx, -Sy, 0, 0, HomMat2D)

    测试代码

    dev_set_draw ('margin')
    read_image (Image, 'printer_chip/printer_chip_01')
    
    gen_rectangle2 (Rectangle, 300, 200, 0, 100, 20)
    PI := 3.1415926
    Sx := 0.5
    Sy := 1.5
    Theta := 0
    Phi := PI/15
    Tx := 20
    Ty := 10
    
    ** 1、正向仿射
    ** 建立一个空的仿射句柄
    hom_mat2d_identity (HomMat2DIdentity)
    ** 对二维点集进行Sx,Sy的比例缩放
    hom_mat2d_scale (HomMat2DIdentity, Sx, Sy, 0, 0, HomMat2DScale)
    ** 对二维点集投影到XY坐标轴倾斜角度为Theta的坐标系
    hom_mat2d_slant (HomMat2DScale, Theta, 'y', 0, 0, HomMat2DSlant)
    ** 对二维点集角度为Phi的旋转
    hom_mat2d_rotate (HomMat2DSlant, Phi, 0, 0, HomMat2DRotate)
    ** 对二维点集进行Tx,Ty的偏移
    hom_mat2d_translate (HomMat2DRotate, Tx, Ty, HomMat2D)
    affine_trans_region (Rectangle, RegionAffineTrans, HomMat2D, 'nearest_neighbor')
    dev_set_color ('green')
    dev_display (Rectangle)
    dev_display (RegionAffineTrans)
    stop ()
    
    ** 2、逆向仿射
    ** 建立一个空的仿射句柄
    hom_mat2d_identity (HomMat2DIdentity)
    ** 对二维点集进行Tx,Ty的偏移
    hom_mat2d_translate (HomMat2DIdentity, -Tx, -Ty, HomMat2DTranslate)
    ** 对二维点集角度为Phi的旋转
    hom_mat2d_rotate (HomMat2DTranslate, -Phi, 0, 0, HomMat2DRotate)
    ** 对二维点集投影到XY坐标轴倾斜角度为Theta的坐标系
    hom_mat2d_slant (HomMat2DRotate, -Theta, 'y', 0, 0, HomMat2DSlant)
    ** 对二维点集进行Sx,Sy的比例缩放
    hom_mat2d_scale (HomMat2DSlant, 1.0/Sx, 1.0/Sy, 0, 0, HomMat2D)
    affine_trans_region (RegionAffineTrans, RegionAffineTransInvert, HomMat2D, 'nearest_neighbor')
    
    dev_set_color ('red')
    dev_display (RegionAffineTransInvert)
    
    

    测试效果

    原region ->正向仿射region;正向仿射region->逆向仿射region;

    如图所示,原region == 逆向仿射region,可见正仿射矩阵和逆仿射矩阵的正确性!

     

    4、九点标定中的图像机械坐标系仿射(涉及较多二维点集的坐标系仿射)

    vector_to_hom_mat2d( : : PxPyQxQy : HomMat2D)

    至少三个点对应两组二维点集的仿射变换,并将其返回为齐次变换矩阵HomMat2d,参数Sx和Sy分别决定变换如何缩放原始x轴和y轴。这两个比例因子总是正的。角度θ表示转换后的坐标轴是正交的(θ=0)还是倾斜的。如果,则转换包含反射。角度Phi确定转换的x轴相对于原始x轴的旋转。参数Tx和Ty决定了两个坐标系的平移。可由六个变换参数通过以下运算符序列构造:

      hom_mat2d_identity (HomMat2DIdentity)
      hom_mat2d_scale (HomMat2DIdentity, Sx, Sy, 0, 0, HomMat2DScale)
      hom_mat2d_slant (HomMat2DScale, Theta, 'y', 0, 0, HomMat2DSlant)
      hom_mat2d_rotate (HomMat2DSlant, Phi, 0, 0, HomMat2DRotate)
      hom_mat2d_translate (HomMat2DRotate, Tx, Ty, HomMat2D)

    等价矩阵变换公式:

    在视觉引导中,图像坐标系和机械坐标系标定时,vector_to_hom_mat2d很容易就可以将这个非线性仿射关系求出来,而这个算子就是视觉引导的核心,难点在过程,关于视觉引导我们将在后续专题《halcon学习拓展系列—相机视觉引导机械手旋转+平移抓取物料》详解,这里只做捎带

     

    5、总结

    1)在量测和组装中,坐标系仿射均扮演很重要好的角色,这个拿不下,很难做到高精准的量测,组装

    2)量测中,精确的坐标系,可以准确的找到定位区域,收严直线拟合,圆拟合的搜索区域,避开干扰项,更加准确的得出量测结果

    3)组装中,良好的视觉引导,精确的图像坐标系和机械坐标系标定,可以准确的引导机械手的抓取位置,做到任意位置,任意角度的抓取

    所有的所有,最关键的是:把坐标系仿射的概念搞清楚了,都有哪些仿射,是否只是简单的旋转和平移,仿射关系如何用矩阵表述,如何用脚本实现,如何根据坐标系仿射来解决实际问题!

     

     

     

     

     

    展开全文
  • 笛卡尔坐标系与测量平面坐标系之间的仿射变换.
  • 笛卡尔坐标系

    千次阅读 2010-08-05 08:06:00
    笛卡尔坐标系 <br />笛卡尔坐标系 (Cartesian coordinates... <br />仿射坐标系和笛卡尔坐标系平面向空间的推广 <br />相交于原点的三条不共面的数轴构成空间的仿射坐标系。三条数轴上度量单位相

    笛卡尔坐标系

    笛卡尔坐标系 (Cartesian coordinates) 就是直角坐标系和斜角坐标系的统称。

    相交于原点的两条数轴,构成了平面仿射坐标系。如两条数轴上的度量单位相等,则称此仿射坐标系为笛卡尔坐标系。两条数轴互相垂直的笛卡尔坐标系,称为笛卡尔直角坐标系,否则称为笛卡尔斜角坐标系。

    仿射坐标系和笛卡尔坐标系平面向空间的推广

    相交于原点的三条不共面的数轴构成空间的仿射坐标系。三条数轴上度量单位相等的仿射坐标系被称为空间笛卡尔坐标系。三条数轴互相垂直的笛卡尔坐标系被称为空间笛卡尔直角坐标系,否则被称为空间笛卡尔斜角坐标系。

    笛卡尔坐标,它表示了点在空间中的位置,但却和直角坐标有区别,两种坐标可以相互转换。举个例子:某个点的笛卡尔坐标是493 ,454, 967,那它的X轴坐标就是4+9+3=16,Y轴坐标是4+5+4=13,Z轴坐标是9+6+7=22,因此这个点的直角坐标是(16, 13, 22),坐标值不可能为负数(因为三个自然数相加无法成为负数)。

    笛卡尔和笛卡尔坐标系的产生

    据说有一天,法国哲学家、数学家笛卡尔生病卧床,病情很重,尽管如此他还反复思考一个问题:几何图形是直观的,而代数方程是比较抽象的,能不能把几何图形与代数方程结合起来,也就是说能不能用几何图形来表示方程呢?要想达到此目的,关键是如何把组成几何图形的点和满足方程的每一组“数”挂上钩,他苦苦思索,拼命琢磨,通过什么样的方法,才能把“点”和“数”联系起来。突然,他看见屋顶角上的一只蜘蛛,拉着丝垂了下来,一会功夫,蜘蛛又顺着丝爬上去,在上边左右拉丝。蜘蛛的“表演”使笛卡尔的思路豁然开朗。他想,可以把蜘蛛看做一个点,它在屋子里可以上、下、左、右运动,能不能把蜘蛛的每个位置用一组数确定下来呢?他又想,屋子里相邻的两面墙与地面交出了三条线,如果把地面上的墙角作为起点,把交出来的三条线作为三根数轴,那么空间中任意一点的位置就可以用这三根数轴上找到有顺序的三个数。反过来,任意给一组三个有顺序的数也可以在空间中找出一点P与之对应,同样道理,用一组数(x、y)可以表示平面上的一个点,平面上的一个点也可以有用一组两个有顺序的数来表示,这就是坐标系的雏形。

      直角坐标系的创建,在代数和几何上架起了一座桥粱,它使几何概念用数来表示,几何图形也可以用代数形式来表示。由此笛卡尔在创立直角坐标系的基础上,创造了用代数的方法来研究几何图形的数学分支——解析几何, 他大胆设想:如果把几何图形看成是动点的运动轨迹,就可以把几何图形看成是由具有某种共同特征的点组成的。举一个例子来说,我们可以把图看作是动点到定点距离相等的点的轨迹,如果我们再把点看作是组成几何图形的基本元素,把数看作是组成方程的解,于是代数和几何就这样合为一家人了

    展开全文
  • 笛卡尔坐标系与右手定则

    万次阅读 2013-05-11 11:09:39
     相交于原点的两条数轴,构成了平面仿射坐标系。如两条数轴上的度量单位相等,则称此仿射坐标系为笛卡尔坐标系。两条数轴互相垂直的笛卡尔坐标系,称为笛卡尔直角坐标系,否则称为笛卡尔斜角坐标系。  仿射坐标系...
  • 坐标系

    万次阅读 2020-03-11 11:06:23
    坐标系(coordinate system、CS) 由两个、三个甚至更多个...坐标轴不必相互垂直的仿射(affine)坐标系;用经纬度、高程来确定点位置的椭球面(ellipsoidal)坐标系等。 坐标参照系(coordinate reference system...
  • 笛卡尔坐标系和矢量

    2020-10-24 09:22:52
    在三坐标测量中的笛卡尔坐标系是指相交于原点的三条数轴, 构成了空间仿射坐标系。笛卡尔坐标系有如下特点: 三个轴的原点为同一个点, 三个轴两两垂直, 遵守螺旋准则。在工业设计过程中,通常为右手坐标系,遵守...
  • WebGIS开发过程中会遇到这样一种情况:需要使用OpenLayers加载一个未校准的CAD导出的位图;并且还需要通过经纬度坐标...由于从CAD导出的位图并不带有定位信息,所以需要通过仿射变换将图上的像素坐标转换到地理坐标...
  • 几何变换——关于透视变换和仿射变换以及齐次坐标系的讨论 2019/10/26 FesianXu 前言 在本文首先介绍了引入齐次坐标系的必要性,随后介绍了在几何变换中常见的投射变换和仿射变换,这俩种变换在计算机视觉问题中...
  • 笛卡尔坐标系 笛卡尔坐标系就是直角坐标系和斜角坐标系的统称。相交于原点的两条数轴,构成了平面放射坐标系(http://www.docin.com/p-4003026.html)。如两条数轴上的度量单位相等,则称此放射坐标系为笛卡尔...
  • 从手写字符匹配开始,简要解释局部仿射变换(local affine transformation) FesianXu 2020/09/07 at UESTC 前言最近笔者看论文[1]的时候发现有个术语local affine transformation,也就是所谓的局部仿射变换,仿射...
  • 1)HALCON标准坐标系:亚像素精确坐标系 标准坐标系,图像坐标系 定义:像素中心坐标,HALCON标准子像素坐标系 原点位于左上角(-0.5,-0.5)像素中心;右下角(rows+0.5,cols+0.5) 用途: affine_trans_point_2d 以_2d...
  • 点击蓝字了解更多精彩//////////////////////不同于我们中学时代爱恨交加的直角坐标系,仿射坐标系是一种更为基础、更为本质的坐标系形式(我们也可以将直角坐标系看作一类特殊的仿射坐标系)。仿射坐标系不要求其坐标...
  • 最近看一个程序云里雾里 于是彻底研究了一顿,如果有错误,各位不吝指出 平移和旋转的顺序会影响最终结果,比如雷达坐标系转车辆坐标系那,车辆坐标系是参考系,因此需要先旋转雷达坐标系与车辆坐标系平行,才能通过...
  • 从左手坐标系到右手坐标系的变换

    千次阅读 2019-03-13 15:26:40
    该博客主要参照论文: ...提取码:hiuc 文章目录1.坐标点的转换2. 旋转的转换2.1 Conversion of Heading2.1 Conversion of Pitch2.1 Conversion of Bank3. 旋转变换的组合4....左手坐标系和右手坐标系之间的...
  • 仿射变换与齐次坐标

    千次阅读 2018-06-08 21:51:31
    仿射变换与齐次坐标October 12, 2011gcchengLeave a commentGo to comments仿射变换(Affine Transformation)和齐次坐标系(Homogeneous Coordinate)是计算机图形学中经常碰到的基本概念。这篇文章主要讲述什么是...
  • 机器人坐标系变换 https://wenku.baidu.com/view/eebf7912866fb84ae45c8dd5.html?sxts=1600217363607&word=%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%BD%8D%E5%A7%BF  参考链接: ...
  • 坐标系(coordinate system、CS):由两个、三个甚至更...坐标轴不必相互垂直的仿射(affine)坐标系;用经纬度、高程来确定点位置的椭球面(ellipsoidal)坐标系等。 坐标参照系(coordinate reference system、CRS
  • 齐次坐标系(Homogeneous Coordinate) 定义: 所谓线性变换是指两个线性空间的映射,一个变换是线性变换,必须满足两个条件,也就是我们经常说的线性条件: additivity homogeneity 理解: 在《3D数学基础:...
  • 不同坐标系的转换,涉及到仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。本文利用GDAL读取仿射矩阵,GDAL利用pip install gdal即可,如果失败,下载...
  • 二维平面坐标系转换

    2021-04-25 14:26:03
    通常用坐标转换矩阵实现同一点在不同坐标系的转换,即指将两个点之间的仿射关系以转换矩阵的形式表现出来,转换矩阵作用于原始点的坐标,得到相对应的通过(平移,缩放,旋转)得到的新的点的坐标。 平移: 点P(x,...
  • 不同坐标系的转换,涉及到仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。本文利用GDAL读取仿射矩阵,GDAL利用pip install gdal即可,如果失败,下载...
  • 坐标系的转换

    2018-03-27 15:58:20
    如下图,我们会有下面的需求,在坐标系1中,绘出一个图像, 这个图形自身的坐标系是2, 它里面又绘出了3个图形自身坐标系的一些东西。这个变化过程如下图, 通过一个个的仿射变换矩阵完成变化。 一些相关基础知识:...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 359
精华内容 143
关键字:

仿射坐标系