平面直角坐标变换

  平移坐标变换

    定义:若二平面直角坐标系{Oij}{O′;i′,j}满足i=i′,j=j′,则坐标系{O′;i′,j}可看成是由{Oij}经过平移得到的,称由坐标系{Oij}到坐标系{O′;i′,j}的变换为平移坐标变换

       平移变换公式

       设平面上一点M在新系{O′;i′,j}与旧系{Oij}下的坐标分别为

      x′,y′),(x,y),而O′在旧系下的坐标为(a,b),则

       xi+yj=  = + =ai+bj+xi+yj

            =ai+bj+xi+yj=a+x′)i+b+y′)j

           ——平移坐标变换公式

  旋转坐标变换

 定义:若二坐标系{Oij}{O′;i′,j}满足OO′,另∠(ij′)=θ

        则坐标系{O′;i′,j}可看成是由坐标系{Oij}O旋转θ角得到的,称由{Oij}{O′;i′,j}的变换为旋转坐标变换

       旋转变换公式

由于∠(ii′)=0,∴∠(ij′)= +θ

   i=cosθi+sinθjj=cos +θ)i+sin +θ)j=-sinθi+cosθj

   xi+yj= = =xi+yj=x′(cosθi+sinθj+y′(-sinθi+cosθj

          =xcosθ-ysinθ)i+xsinθ+ycosθ)j

    

   x,y表示x′,y′,有

       

   一般坐标变换:

  称由坐标系{Oij}得坐标系{O′;i′,j}的变换为一般坐标变换

: 一般坐标变换可分两步来完成,首先将坐标系{Oij}平移成

   {O′;i′,j},再将此坐标系绕O′旋转θ=∠(ii′)角,即得

   {O′;i′,j}

   一般变换公式

   设平面上任一点关于旧系{Oij}与新系{O′;i′,j}的坐标分别为(x,y

   x′,y′),关于{O′;ij}的坐标为(x″,y″),而O′在{Oij}下的坐标为(a,b),则

         

   

   

   x,y表示x′,y′,有

   

:上述坐标变换亦可先旋转,再平移而完成。

  :设有二坐标系{Oij}{O′;i′,j},且知i′,j′所在直线在坐标系{Oij}下的方程为 x+ y+ =0 x+ y+ =0,试求坐标变换公式。

  :设平面上任一点P在旧系与新系下的坐标分别为(x,y)(x′,y′)

     Pi′所在直线的距离用新坐标表示为

    y′∣=

    从而  y=±

    同理  x=±

         

   注:上式±号的选取应注意到

      ± =±  

   i′所在直线为2x-y+3=0j′所在直线为x+2y-2=0,则坐标变换公式为

         

  坐标变换下,二次曲线方程的系数的变化规律:

  1 在平移下

    设将坐标原点平移O′( ),则平移公式为

     

   则在新系{O′;ij} x+ ²+2 +x′)( +y′)+ +y′)²

                       +2 x+ +2 y+ + =0

    若记 x′,y′)≡Fx+ y+

                      = x²+2 xy+ y²+2 x+2 + ′,则 =           = + + =F1

       =           =a21 + + =F2

      =           = ²+2 + ²+2 +2 +

                               =F

   可见:在平移变换下,二次曲线方程的

    1)二次项系数不变;

    2)一次项系数变为 ), );

    3)常数项变为F

   从而若取 )为二次曲线Fxy=0的中心,则在新系下,方程中将无一次项。

 2 在旋转变换下,设旋转角为θ,则平面上一点在旧系与新系下的坐标(x,y)(x′,y′)间满足

  

   ∴二次曲线在新系下的方程为

    F′(x′,y′)=Fxcosθ-ysinθ,+xsinθ+ycosθ)

     = xcosθ-ysinθ)²+2 xcosθ-ysinθ)(+xsinθ+ycosθ)+

       +xsinθ+ycosθ)²+2 xcosθ-ysinθ)

+2 +xsinθ+ycosθ)+   =0

若记F′(x′,y′)≡ x′²+2 xy+ y′²+2 x+2 y+  

 可见,在旋转变换下,二次曲线方程

  1)二次项系数一般可变,但新系下方程的二次项系数仅与旧系下方程的二次项系数及旋转角θ有关;

  2)一次项系数一般也可边,但新方程中有一次项〈═〉旧方程有一次项;

  3)常数项不变。

  的公式表达式可见,若选取α角,使

 

    ceg2θ=

  作旋转变换,则新方程中将不会交叉乘积项。

相关资料请留意http://blog.youkuaiyun.com/begtostudy 的更新。

 
### 地理坐标与平面直角坐标的转换方法 #### 高斯-克吕格投影简介 高斯-克吕格投影是一种等角横切椭圆柱投影,能够将球面上的地理坐标(经度 \(B\) 和纬度 \(L\))映射到平面上的直角坐标 \((x, y)\)[^1]。这种投影广泛应用于地图制图和测量领域。 #### 转换公式 在高斯-克吕格投影中,地理坐标向平面直角坐标的转换称为 **正算**,其核心在于利用一系列复杂的数学表达式完成这一过程。以下是具体的转换公式: 对于给定的地理坐标 \(B\)(经度)、\(L\)(纬度),可以通过以下步骤计算对应的平面直角坐标 \(x\) 和 \(y\): 1. 定义中央子午线经度为 \(B_0\); 2. 计算经差 \(\Delta B = B - B_0\); 3. 使用地球椭球参数(如长半轴 \(a\)、扁率 \(f\) 或第一偏心率平方 \(e^2\))构建多项式展开形式来近似表示 \(x\) 和 \(y\) 的关系[^2]: \[ x = N(L) \cdot (\tan L / R) \cdot [\Delta B^2/2 - 5\Delta B^4/24 + ... ] \] 其中, - \(N(L)\): 子午圈曲率半径函数; - \(R\): 大地水准面平均曲率半径; 而 \(y\) 则由下述公式给出: \[ y = M(L) + N(L) \cdot [(\Delta B)^3/6 - (\Delta B)^5/120 + ... ] \] 这里 \(M(L)\) 表示从赤道至当前纬度沿子午线弧长积分的结果。 上述公式的具体实现依赖于精确的数值算法以及特定区域所选用的标准椭球模型。 ```python import math def gauss_kruger_projection(B, L, a=6378137, f_inv=298.257222101): """ 将地理坐标 (B,L) 转换成高斯-克吕格平面直角坐标 (x,y) 参数: B(float): 经度(单位: 弧度) L(float): 纬度(单位: 弧度) a(float): 椭球体长半轴长度(meters), 默认WGS84值. f_inv(float): 扁率倒数, 默认WGS84值. 返回: tuple(x, y): 平面直角坐标 (meters). """ e_sqrd = 2 * (1/f_inv) - (1/f_inv)**2 delta_B = B - central_meridian_radians # 中央子午线需提前定义好并转成弧度制 sin_L = math.sin(L); cos_L = math.cos(L); t = tan_L_squared = math.tan(L)**2; n_prime = eta_squared = e_sqrd/(1-e_sqrd*sin_L**2); A_coefficients = [ ((delta_B**2)/2), (((5*t+3)*eta_squared+(t-tan_L_squared)*(n_prime**2))/24*(delta_B**4)), ... ] x = sum(A_coefficients[i]*cos_L**(i*2+1) for i in range(len(A_coefficients))) C_coefficients = [ (delta_B**3/6), ((t+n_prime-n_prime**2)/720*(delta_B**5)) ] y = meridional_arc_length(L,a,f_inv)+sum(C_coefficients[j]*(cos_L**(j*2))*(sin_L**(j))for j in range(len(C_coefficients))) return x, y ``` 注意以上代码仅为示意性质,实际应用时还需考虑更多细节处理,比如输入数据的有效范围验证等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值