zoukankan      html  css  js  c++  java
  • 坐标的平移旋转

    平移:
    假设M是原点为(0,0,0)的坐标系,N是原点为(2,2,2)的坐标系,点P(px,py,pz)是M中的一点,那么点P在N中的坐标P‘是多少呢?
    p'x = px - 2;p'y = py - 2;p'z = pz - 2;换成矩阵看看:

    [java] view plaincopy
    1. p'x = |px| + |-2|  
    2. p'y = |py| + |-2|  
    3. p'z = |pz| + |-2|  

    换成齐次坐标就为:

    [java] view plaincopy
    1. |p'x|   | 1 0 0 tx|   |px|  
    2. |p'y| = | 0 1 0 ty| * |py|  
    3. |p'z|   | 0 0 1 tz|   |pz|  
    4. 1 |   | 0 0 0  1|   |1 |  

    对上面来讲:tx=-2,ty=-2;tz=-2;

    旋转:
    假设M是原点为(0,0,0)的坐标系,点p(px,py,pz)绕z轴逆时针旋转a度到点p',那么点p'是多少呢?
    p'x = px*cosa - py*sina
    p'y = px*sina + py*cosa
    p'z = z
    换成齐次坐标就为:

    [java] view plaincopy
    1. |x'|   |cosa -sina 0 0|   |x|  
    2. |y'| = |sina  cosa 0 0| * |y|  
    3. |z'|   |0      0   1 0|   |z|  
    4. |1 |   |0      0   0 1|   |1|  

    那么绕x轴呢?
    p'y = py*cosa - pz*sina
    p'z = py*sina + pz*cosa
    p'x = x
    换成齐次坐标就为:

    [java] view plaincopy
    1. |x'|   |1  0     0   0|   |x|  
    2. |y'| = |0 cosa -sina 0| * |y|  
    3. |z'|   |0 sina  cosa 0|   |z|  
    4. |1 |   |0  0     0   1|   |1|  

    那么绕y轴呢?
    p'z = pz*cosa - px*sina
    p'zx =pz*sina + px*cosa
    p'y = y
    换成齐次坐标就为:

    [java] view plaincopy
    1. |x'|   | cosa 0 sina 0|   |x|  
    2. |y'| = | 0    1  0   0| * |y|  
    3. |z'|   |-sina 0 cosa 0|   |z|  
    4. |1 |   | 0    0  0   1|   |1|  

    缩放:
    假设M是原点为(0,0,0)的坐标系,点P(px,py,pz)沿x轴缩放sx,沿y轴缩放sy,沿z轴缩放sz后的坐标p'是多少呢?
    p'x = px * sx
    p'y = py * sy
    p'z = pz * sz
    换成齐次坐标就为:

    [java] view plaincopy
    1. |x'|   |sx 0  0  0|   |x|  
    2. |y'| = |0  sy 0  0| * |y|  
    3. |z'|   |0  0  sz 0|   |z|  
    4. |1 |   |0  0  0  1|   |1|
  • 相关阅读:
    Mac下截图快捷键
    在Mac下显示所有文件
    Mac 下格式化U盘
    在Mac OS X系统下 用dd命令将iso镜像写入u盘
    微信公众号全局返回码说明和接口频率限制说明
    Mac Git 学习笔记
    vim编程配置方法
    解决“Xlib.h not found when building graphviz on Mac OS X 10.8”错误
    Java-Session服务器端会话技术
    Java-记住上一次访问时间案例
  • 原文地址:https://www.cnblogs.com/zfluo/p/5131840.html
Copyright © 2011-2022 走看看