精华内容
下载资源
问答
  • 2020年高中数学第二章平面解析几何初步2.4空间直角坐标系2.4.1空间直角坐标系2.4.2空间两点距离公式课时跟踪检测新人教B版必修2
  • 2019版高中数学第二章平面解析几何初步2.4空间直角坐标系2.4.2空间两点距离公式练习新人教B版必修2
  • 坐标系下的两点距离公式

    万次阅读 2018-10-26 11:00:05
    已知两点经纬度计算球面距离公式,一搜一大堆,形式如下: 可是至于这个公式为什么是这样的,今天推导了一下,详细推导过程如下。首先画个图(图1),要不然空间想象能力差的话容易犯糊涂。首先对图1做个大致的...

    https://blog.csdn.net/yu412346928/article/details/42966001

    已知两点经纬度计算球面距离的公式,一搜一大堆,形式如下:

    可是至于这个公式为什么是这样的,今天推导了一下,详细推导过程如下。首先画个图(图1),要不然空间想象能力差的话容易犯糊涂。首先对图1做个大致的说明,红色的半圆表示赤道,蓝色的圆弧表示本初子午线(也就是经度为0的子午线)。球最上方是北极点,点A和点B分别为要计算的两个点,坐标分别为A(jA,wA)和B(jB,wB)。

    图1 示意图

     

    再开始推导之前,我们需要在图中绘制一些辅助线,便于后面的描述和推导。如图1所示,A(jA,wA),B(jB,wB)两点分别为球面上的两点,坐标为经纬度表示。延A、B两点分别做垂直于赤道平面的垂线交赤道面为C、D两点。连接C、D两点,然后过A做CD的平行线交BD与点E。至此,所有的辅助线绘制完毕。假设地球为一个规则的圆球,半径为R(其实地球是一个椭球体,赤道的半径比极地的半径稍微大一点点)。

    第一步:确定已知条件,

     

    第二步:在直角和直角中有:

     

    第三步:在平面ABCD中,有:

     

    第四步:在直角中,使用勾股定理可以得到AB的直线长度。如下:

     

    第五步:这里需要引入一个公式(5),就是大名鼎鼎的余弦定理,假设三角形的三个角为A,B,C,则有:

    把上面的公式(1)、(2)、(3)、(5)带入(4)中,然后整理可以得到:

     

    最后,通过整理得到AB之间的直线距离为:

    第六步:我们已经知道AB的直线距离,那么AB的弧长距离可以先通过计算中对应的圆心角,然后用弧长公式计算出来。这里在依旧使用余弦定理公式(5),经过变形可以得到:

     

    把式(6)带入式(7),化简得到:

     

    最终,我们得到了一个关于圆心角的余弦值的公式:

     

    第七步:知道圆心角,计算弧长的公式很简单,使用半径乘以圆心角(弧度单位)即可:

     

    所以最后我们就得到了球面上AB的距离应该是:

    最后使用公式(10)就可以编写代码来计算球面上任意两点间的最短距离了。这里使用的是一个规则的球来代替的椭球的,肯定会有误差的,一般都用这个公式来进行计算。代码就不写了,也就一两句话就出来了。最后需要注意的就是,需要把经纬度都化成弧度单位。

    …………………………………………………华丽的分割线………………………………………………
    ……………………………………以下内容更新于2013年1月30日…………………………………………

    昨天使用立体几何的知识推导了一下球面两点的距离公式,发现比较复杂,今天想到一个简单的方法,使用空间直角坐标系来推导,很方便。首先我们需要建立一个空间坐标系:在赤道平面内,X轴由球心O指向本初子午线,Y轴在赤道平面内垂直于X轴,Z轴垂直于赤道平面朝向北极。还是假设AB两点的经纬度坐标为:A(jA,wA),B(jB,wB)。由该坐标系的定义以及经纬度的定义可以把上面的AB两点的坐标转换为该坐标系中的坐标如下:

     

    由两点距离公式可以得到AB的直线距离为:

     

    对于球面上的任意一个点(X,Y,Z),都有:

     

    把上面的公式整理就可以得到(下面用到了一个积化和差公式):

     

    好了,大功告成,是不是比用立体几何要简单的多。接下来就是用上面的弦长和弧长的关系来计算AB的弧长就可以了。

    展开全文
  • #include <math.h> #include <stdio.h> double dist(double x1, double y1, double x2, double y2){ return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * ... puts("求两点间距离。 \n"); puts("点A: ".

    在这里插入图片描述

    #include <math.h>
    #include <stdio.h>
    
    double dist(double x1, double y1, double x2, double y2){
    	return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
    }
    
    int main(void){
    	double x1, y1;
    	double x2, y2;
    	
    	puts("求两点间的距离。 \n");
    	puts("点A: ");
    	printf("X坐标:");
    	scanf("%lf", &x1);
    	printf("Y坐标:");
    	scanf("%lf", &y1);
    	printf("A (%lf, %lf)\n", x1, y1);
    	
    	
    	puts("点B: ");
    	printf("X坐标:");
    	scanf("%lf", &x2); 
    	printf("Y坐标:");
    	scanf("%lf", &y2); 
    	printf("B(%lf, %lf)\n", x2, y2);
    	
    	printf("两点之间的距离d = %f\n", dist(x1, y1, x2, y2));
    	
    	return 0;
    }
    

    运行结果:
    在这里插入图片描述
    注:
    double sqrt(double x)函数:
    计算x的平方根(实参为复数时会发生定义域错误)。

    使用结构体计算两点的距离
    #include <math.h>
    #include <stdio.h>
    #define sqr(n) ((n) * (n))
    
    typedef struct{
    	double x;
    	double y;
    } Point;
    
    double distance_of(Point pa, Point pb){
    	return sqrt(sqr(pa.x - pb.x) + sqr(pa.y - pb.y));
    }
    
    int main(void){
    	Point crnt, dest;
    	
    	printf("当前地点的X坐标:");
    	scanf("%lf", &crnt.x); 
    	
    	printf("当前地点的Y坐标:");
    	scanf("%lf", &crnt.y); 
    	
    	printf("目的地点的Y坐标:");
    	scanf("%lf", &dest.x); 
    	
    	printf("目的地点的Y坐标:");
    	scanf("%lf", &dest.y); 
    	
    	printf("到目的地的距离为 %.2f。\n", distance_of(crnt, dest));
    	
    	return 0; 
    }
    
    展开全文
  • 平面内直角坐标系中坐标旋转变换公式

    万次阅读 多人点赞 2017-10-24 20:14:46
    平面内直角坐标系中坐标旋转变换公式今天做数字图像处理作业时遇到一个关于图片旋转变换的问题,要用到坐标的旋转变换公式,突然不记得公式是怎么来的了,于是乎,就琢磨了一番。。。首先上公式:逆时针(如下图):...

    首先上公式:

    逆时针(如下图):
    x1=xcos(β)-ysin(β);
    y1=ycos(β)+xsin(β);

    顺时针(图未给出):
    x1=xcos(β)+ysin(β);
    y1=ycos(β)-xsin(β);

    其中x,y表示物体相对于旋转点旋转β的角度之前的坐标,x1,y1表示物体旋转β后相对于旋转点的坐标。此公式仅为在下图坐标中的变换公式,坐标系的选取不同可能会有不同的结果,但是推导方式一样,请大家注意。

    下面是推导过程:

    从数学上来说,此公式可以用来计算某个点绕另外一点旋转一定角度后的坐标,例如:A(x,y)绕B(a,b)旋转β度后的位置为C(c,d),则x,y,a,b,β,c,d有如下关系式:

    这里写图片描述
    1.设A点旋转前的角度为δ,则旋转(逆时针)到C点后角度为δ+β

    2.求A,B两点的距离:dist1=|AB|=y/sin(δ)=x/cos(δ)

    3.求C,B两点的距离:dist2=|CB|=d/sin(δ+β)=c/cos(δ+β)

    4.显然dist1=dist2,设dist1=r所以:
      r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)
      
    5.由三角函数两角和差公式知:
      sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
      cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
      
      所以得出:
    c=r*cos(δ+β)=r*cos(δ)cos(β)-r*sin(δ)sin(β)=xcos(β)-ysin(β)
      d=r*sin(δ+β)=r*sin(δ)cos(β)+r*cos(δ)sin(β)=ycos(β)+xsin(β)

    即旋转后的坐标c,d只与旋转前的坐标x,y及旋转的角度β有关
    从图中可以很容易理解出A点旋转后的C点总是在圆周上运动,圆周的半径为|AB|,利用这点就可以使物体绕圆周运动,即旋转物体。

    另外,顺时针旋转可以理解为逆时针一个负角度,根据sin(),cos()的奇偶性,即sin(-β)=-sin(β),cos(-β)=cos(β),可得顺时针旋转的变换公式:

    x1=xcos(β)+ysin(β);
    y1=ycos(β)-xsin(β);

    展开全文
  • 世界坐标系、相机坐标系、图像平面坐标系

    万次阅读 多人点赞 2018-07-12 18:04:09
    一、四个坐标系简介和转换 相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法才能有更好的理解。...我觉得首先我们要理解相机模型中的四个平面坐标系的关系:像素平面坐标系(u,v...

    一、四个坐标系简介和转换

    相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法才能有更好的理解。本人研究了好长时间,几乎每天都重复看几遍,最终才会明白其推导过程。
         我觉得首先我们要理解相机模型中的四个平面坐标系的关系:像素平面坐标系(u,v)、像平面坐标系(图像物理坐标第(x,y)、相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw),在每一篇介绍相机模型的文章中都有介绍。
         我刚开始理解时,看着那一堆的公式十分的头晕,我相信很多初学者和我一样,但仔细想想,只不过是,我们假设了一些参数,使四个坐标系之间的坐标联系起来,这样我们就可以从拍摄的图片上一个点坐标一路反推出世界中的那个点的坐标,这样就达到了我们的目的,三维重建。而那些我们假设的参数,就是我们要标定的内外参数。


    1、像素坐标与像平面坐标系之间的关系 
          确定他们的关系之前,我们可以假设每一个像素在u轴和v轴方向上的物理尺寸为dx和dy。仔细看下他们的模型可以推出以下公式(这个还是比较好理解的):






    解释:1、dx,dy,u0,v0其实都是我们假设出来的参数,dxdy表示感光芯片上像素的实际大小,是连接像素坐标系和真实尺寸坐标系的,u0,v0是图像平面中心,最终是要我们求的内外参数。
    得出这个公式后我们可以运用线性代数的知识把方程用矩阵形式表示:

    当然我们也可以用另一种矩阵形式表示:

    2、相机坐标系与世界坐标系之间的关系 

         这两个坐标系之间的关系我们可以旋转矩阵R和平移矩阵T来得到以下关系:


                                           

                                                                        公式4

       解释:1、 在这个公式中,R为3*3矩阵,T为3*1,0为(0,0,0),简化用Lw表示后为4*4矩阵。

    3、成像投影关系(相机坐标系与像平面坐标系) 


         在相机模型中我们可以得到以下公式:


                                           

                                                                     公式5

               解释:1、

    同样我们用矩阵形式表示:

                                              

                                                                           公式6


    4、得到公式


    而我们可以将以上公式综合一下就可以得到:

      

    因此,内参数矩阵可以表示为:

    =


    外参矩阵可以表示为:,由旋转矩阵R和平移向量T组成


    当然在好多资料上都有这种做法:



    上图中表示的情况是像素坐标系和图像物理坐标系的两个坐标轴不是平行的关系,像素坐标系的两个坐标轴也不是垂直90°的关系,而图像物理坐标系的两个坐标轴是垂直关系。所以,我们在转换两个坐标轴的坐标之间的关系时就必须考虑像素坐标系两个坐标轴之间的夹角了。就有了上面的不同的内参矩阵,理解了就好了。


    二、图像坐标:我想和世界坐标谈谈(B)

             玉米将在这篇博文中,对图像坐标与世界坐标的这场对话中涉及的第二个问题:谈话方式,进行总结。世界坐标是怎样变换进摄像机,投影成图像坐标的呢?

            玉米做了一个简单的图示,在这里做一个提纲。图中显示,世界坐标系通过刚体变换到达摄像机坐标系,然后摄像机坐标系通过透视投影变换到达图像坐标系。可以看出,世界坐标与图像坐标的关系建立在刚体变换和透视投影变换的基础上。为了奖励刚体变和透视投影变换沟通了“世界上最远的距离”,玉米在图上奖励了他们两朵小红花。哈哈


     首先,让我们来看一下刚体变换是如何将世界坐标系与图像坐标系联系起来的吧。这里,先对刚体变换做一个介绍:

            刚体变换(regidbody motion):三维空间中, 当物体不发生形变时,对一个几何物体作旋转, 平移运动,称之为刚体变换

    因为世界坐标系和摄像机坐标都是右手坐标系,所以其不会发生形变。我们想把世界坐标系下的坐标转换到摄像机坐标下的坐标,如下图所示,可以通过刚体变换的方式。空间中一个坐标系,总可以通过刚体变换转换到另外一个个坐标系的。转一转,走一走,就到另外一个坐标系下了。以前可能是面朝大海,经过平移旋转,最终可能只能面朝冰山了,哈哈


    下面让我来看一下,二者之间刚体变化的数学表达。


    其中,XC代表摄像机坐标系,X代表世界坐标系。R代表旋转,T代表平移。R、T与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsic parameter)可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。

             R则为分别绕XYZ三轴旋转的效果之和。如下面所示:



     R=r1*r2*r3.其由三个方向的θ控制,故具有三个自由度。

               好了,刚体变换就讲完了。大家应该都了解,世界坐标系到摄像机坐标系之间的转换过程了吧。

              接下来,让我们看看摄像机坐标下的坐标如何投影到图像坐标系下,最终变为照片中的一个像素。这其中包含两个过程:一是从摄像机坐标到“空间图像坐标”(x,y)所发生的透视投影;二是从“连续图像坐标”到“离散图像坐标”(u,v)。后者我们已经在第一篇博文中解释过。所以在这里,主要介绍一下透视投影。

             透视投影(perspective projection): 用中心投影法将形体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图。有一点像皮影戏。它符合人们心理习惯,即离视点近的物体大,离视点远的物体小,不平行于成像平面的平行线会相交于消隐点(vanish point)。

             啰嗦这么多,其实大家看看示意图,看看公式,秒懂。


      以图中B(XB,YB)点为例,在小孔成像摄像机模型下(几何分析的最常用模型)。这里的f为摄像机的焦距,其属于摄像机的内参数(intrinsic parameter)。其在成像平面上的投影点b(xb,yb)的坐标利用简单的相似三角形比例关系很容易求出:


    上面两式也阐明了摄像机坐标与图像坐标之间的透视投影关系。

                好吧,现在玉米已经把图像坐标与世界坐标之间的这场对话所需经历的三个波折的过程加以了解释。即:刚体变换、透视投影、(x,y)换(u,v)(ps.这个在上一篇博文中讲过)。接下来玉米用一张图把三个过程连接起来。实现从世界坐标(X,Y,Z)到(u,v)之间的转换。让图像坐标与世界坐标直接对话。

             下图中的转换关系,都是用齐次坐标表达的,大家会发现这样的表达非常整洁。

             其实这张图显示的过程还有一个名字:摄像机模型(camera model)。其实也就是摄像机的几何模型了。

             将三者相乘,可以把这三个过程和在一起,写成一个矩阵:


    P就是世界坐标到图像坐标的直接联系人,P就表示了一个投影相机,有下面公式:


    注意在表示齐次坐标时,需要在符号上面加个小帽子。除去齐次坐标控制位P23P具有11个自由度。


           摄像机模型及其中涉及的坐标系等,是弄清3D重建几何框架的基础。可以把它们视为基本运算关系。后面对于三维重建几何框架的推导,都是要用到三个基本坐标系和摄像机模型的。

            </div>
                </div>
    
    展开全文
  • 不知道啥时候在网上...//高斯平面坐标系 struct CRDCARTESIAN {  double x;  double y;  double z; } ; //大地坐标系(可以是 北京54坐标系,西安80坐标系,WGS84坐标系(GPS 坐标)) struct CRDGEODETIC {  d
  • 本篇学习了空间直角坐标系、大地坐标系、平面坐标系、高斯平面直角坐标系。这个个坐标系有时很容易弄混淆! ( 一)空间直角坐标系 空间直角坐标系的坐标原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴指向...
  • 本篇学习了空间直角坐标系、大地坐标系、平面坐标系、高斯平面直角坐标系。这个个坐标系有时很容易弄混淆!  ( 一)空间直角坐标系  空间直角坐标系的坐标原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴...
  • 团队的第一反应自然是按照两点间距离公式, 遍历N个已知点,然后排序获得前10个最短距离的结果。 只是,我从来不是一个规规矩矩的人。我一直推崇用人类直觉思维来编程,而不要被僵化的程序思想束缚。 传统距离公式,...
  • 在高考数学里,空间直线与平面的平行有关的知识内容和题型,一直是近几年高考命题的热点,成为立体几何重要的基础考点。如何巧妙快速的判定空间直线与平面平行位置关系,如何在平面内寻找一条直线,探索该直线与平面...
  • §1 平面直角坐标系及其变换   1.直角坐标系(笛卡儿坐标系坐标系:O-XY M(x,y),x为横坐标,y为纵坐标. 在Ⅰ、Ⅱ、Ⅲ、Ⅳ四个象限中坐标x,y的符号为: 象限 Ⅰ ...
  • 经纬度坐标映射到平面直角坐标系

    万次阅读 2017-03-17 20:27:22
    本文介绍了测量中常见的坐标系,并总结了一些坐标系投影的方法和工具,以及一些源码,主要关于从经纬度坐标到平面直角坐标系,即空间大地坐标系平面直角坐标系的映射。
  • 第三章平面坐标之独立坐标系

    千次阅读 2018-12-21 14:37:57
    实际测量中,长度的变形主要由...建立独立坐标系就是为了减小长度变形,明确了这个变形的原因后,就知道如何建立独立坐标系了,要么改变中央子午线减少高斯投影变形,要么改变投影面,减少高程引起的长度变形,...
  • 地理坐标系与投影坐标系的区别

    万次阅读 多人点赞 2018-08-17 22:57:17
    1.基本概念 平时开展GIS开发、研究、应用工作,总会... 投影坐标系是平面坐标系,参考平面是水平面,坐标单位是米、千米等。 地理坐标系转换到投影坐标系的过程理解为投影,即将不规则的地球曲面转换为平面。 ...
  • lua--平面两点间距离

    千次阅读 2014-06-26 11:51:04
    --平面两点间距离 function mapshopwidget.twoPointToDistance(x1,y1,x2,y2) return math.sqrt(math.pow((y2-y1),2)+math.pow((x2-x1),2)) end
  • 平面距离公式

    2016-05-17 02:00:56
    平面距离 维基百科_Vector 前导知识 平面的一般式方程 向量的模(长度) 向量的数量积 1. 平面的一般式方程 Ax +By +Cz + D = 0 其中n = (A, B, C)是平面的法向量,D是将平面平移到坐标原点所需距离(所以D=...
  • 平面距离公式推导

    万次阅读 2015-02-04 10:09:26
    平面距离公式 准备知识 平面的一般式方程 Ax +By +Cz + D = 0 其中n = (A, B, C)是平面的法向量,D是将平面平移到坐标原点所需距离(所以D=0时,平面过原点) 向量的模(长度) 给定一个向量V...
  • public class Point {  public double x;  public double y;  public Point(double x,double y){ ... System.out.println("("+c1.x+","+c1.y+")"+"("+c2.x+","+c2.y+")"+"之间的距离为"+c3);  } }
  • #include <stdio.h> #include <math.h> double dist(double x1,double y1,double x2,double y2) { return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } int main() { double x1,y1,x2,y2;... printf("%.2f
  • 在GIS开发过程中,空间直角坐标系与求坐标系内的点坐标互相转化是很经常的事情,比如:给你两个点以及这两个点各自的经纬度数据,需要求解给定两点在空间坐标系内的直线距离以及两点之间的方位角,方位角就是从正北...
  • 摄像机矩阵由内参矩阵和外参矩阵组成,对摄像机矩阵进行QR分解可以得到内参矩阵和...外参包括旋转矩阵R3×3、平移向量T3×1,它们共同描述了如何把从世界坐标系转换到摄像机坐标系,旋转矩阵描述了世界坐标系的坐...
  •  我觉得首先我们要理解相机模型中的四个平面坐标系的关系:像素平面坐标系(u,v)、像平面坐标系(图像物理坐标第(x,y)、相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw),在每一篇介绍相机模型

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,053
精华内容 4,421
关键字:

平面坐标系两点间距离公式