62.[GIS基础]笛卡尔坐标系

2023-11-16

转载请注明原始链接:http://blog.csdn.net/a464057216/article/details/54578069

后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站,持续学习持续进步。
在这里插入图片描述

笛卡尔坐标系

2D平面中指定x轴向右为正、y轴向上为正的坐标系为标准格式。所有的2D坐标系都是等价的,在坐标轴互相垂直的情况下,任意一个2D坐标系总能通过旋转、翻转得到标准坐标系。

计算机图形学屏幕坐标系:屏幕左上角为原点,以原点向右为x轴正方向,原点向下为y轴正方向。

存在完全不同的两种3D坐标系:左手坐标系、右手坐标系,左右手坐标系分别有24种。
这里写图片描述
如果两个坐标系同属于左手坐标系或者同属于右手坐标系,则可以通过旋转来重合,否则不可以。左右手坐标系的互相转换,最简单的就是翻转一个轴的符号(比如上图中改变z轴的符号)。
计算机图形学习惯使用左手坐标系,线性代数习惯使用右手坐标系。做算法推算之前一定要明确坐标系类型!

本博文类目GIS下所有文章约定是采用左手坐标系,当“右”和“前”不明确时(比如世界坐标系),以+x表示“东”,+z表示“北”。

多坐标系

世界坐标系是一个特殊坐标系,它建立了描述其他坐标系需要的参考框架。能够用世界坐标系描述其他坐标系的位置,而不能用更大的、外部的坐标系描述世界坐标系。从非技术意义上讲,世界坐标系建立的是我们所关心的最大坐标系,而不必真的是整个世界。

物体坐标系/模型坐标系/身体坐标系是和特定物体相关联的坐标系。当物体移动或改变方向时,和该物体相关联的坐标系将随之移动或改变方向。比如行驶中,驾驶指令“向左转”或者“向东转”,“向左转”是物体坐标系的概念,“向东转”是世界坐标系的概念。

摄像机坐标系是一种特殊的物体坐标系,摄像机在原点,x轴向右,z轴向前(朝向屏幕内或摄像机方向),y轴向上(不是世界的上方,而是摄像机本身的上方):
这里写图片描述
上图中,摄像机能够观察到的金字塔区域称为平截锥体

**惯性坐标系(inertial coordinates)**的原点与物体坐标系重合,轴平行于世界坐标系的轴。使用惯性坐标系是为了方便物体坐标系和世界坐标系的转换。物体坐标系与惯性坐标系之间转换只需要旋转,惯性坐标系与世界坐标系之间转换只需要平移。

坐标系的嵌套

计算世界坐标系中相邻物体间的关系,需要知道每个物体在世界坐标系中的位置和方向,即知道物体坐标系的原点在世界坐标系中的位置和轴在世界坐标系中的方向。物体坐标系中的点的世界坐标系的位置可以通过物体坐标系和世界坐标系的位置关系换算出来。

世界坐标系可以看作物体坐标系的父空间。对于机器人坐标系,机器人手臂上下运动,可以看作手臂坐标系相对于机器人坐标系上下运动,即手臂坐标系是机器人坐标系的子空间。如果机器人手臂掉落,则手臂坐标系变为世界坐标系的子空间,即嵌套的坐标系是可以动态更新的。

描述子坐标系在父坐标系中的位置,只需要描述子坐标系的原点在父坐标系中的位置和子坐标系的轴在父坐标系中的方向即可。

坐标变换/坐标系转换

坐标变换:已知点在某个坐标系中的位置,求点在另一个坐标系中的位置的过程。

如果觉得我的文章对您有帮助,欢迎关注我(CSDN:Mars Loo的博客)或者为这篇文章点赞,谢谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

62.[GIS基础]笛卡尔坐标系 的相关文章

  • 使用 mongodb 或 cassandra 的空间数据

    我正在考虑处理大量数据 例如 gt 10 G 的概念验证 这需要每秒至少 200 次以上的写入 以及每秒大约 50 次以上的空间相关数据读取 这也是一个不断增长的系统 目前 出于性能原因 我正在考虑将这些大容量数据移动到 NoSql 大表类
  • 在MySql中使用空间函数查找两个坐标之间的距离的正确方法

    我正在尝试使用 Mysql 和 PostgresSQL 中的空间函数来计算两个位置之间的距离 我从谷歌获取了纬度和经度 详情如下 位置一 纬度 42 260223 经度 71 800010 位置二 纬度 42 245647 经度 71 80
  • gdal/ogr:如何真正裁剪 shapefile?

    给定一个欧洲国家对应的SHP文件 and 给定与法国对应的定义区域 例如 West 005 48 W East 010 E North 051 30 N South 041 N 如何仅获取与 gdal 定义的区域相交的点 几何图形 所以我的
  • 数组上的 MongoDB 地理空间索引(多键 + 地理空间)

    这是我的数据的简化版本 gt db foo insert name jim locations 10 10 3 6 1 2 gt db foo insert name john locations 1 5 2 4 我希望能够做类似的事情 g
  • 无法让 Python IDLE 识别 OGR/GDAL 模块

    Folks 刚刚开始使用 OGR 和 Python 来执行各种地理空间任务 我在 OSGEO4w 之外工作 并在我的计算机上安装了带有 Python 绑定的 GDAL 以及 Python v 2 7 8 也就是说 我可以运行 python
  • 在生成 PDF 时,如何将 Google 地图(或其他 GIS 地图)输出嵌入到 PDF 中?

    我需要在服务器端生成 PDF 文档 其中包括地图 标记等 但据我所知 由于 JavaScript 依赖 这对于 Google 地图来说是不可能的 有没有办法使用 Google Maps API 来实现此目的 或者是否有其他免费 或便宜 的替
  • Mysql 函数 MBRContains 不准确

    我有以下多边形 在图像中您可以看到它覆盖的区域 POLYGON 74 05100448502202 4 7239278424321 74 05092938316898 4 7241416902206 74 04830618275201 4
  • 如何在 php 中添加形状文件 (.shp) 并在 php 文件中使用该形状文件数据?

    我必须在 php 中开发一个项目 并且必须包含形状文件 并且该形状文件需要转换为 kml 文件 我知道如何将形状文件转换为 kml 文件 但我不知道如何将形状文件导入 导入到 php 项目中 我还有包含更多信息的形状文件的支持文件 其中一些
  • R中的光栅层

    我有一个包含多个 adf 文件的 GIS 项目 由于我是 ArcMap 的新手 我不知道如何使用它们 我设法使用光栅库将它们读入 r r lt raster w001001 adf 当查看 sum r 时 我得到 sum r class R
  • 如何有效地将纬度/经度地理编码反转为行政区

    我正在处理纽约市出租车数据集 该数据集的列包括日期时间 接送纬度 经度 下车纬度 经度等 现在我想对纬度 经度进行反向地理编码以找到行政区 社区 我碰到geopy并发现这样的事情完美地工作 from geopy geocoders impo
  • 更改 ggplot2 中栅格图的颜色

    由于一些不相关的原因 我尝试使用 ggplot2 而不是栅格包绘图函数来制作栅格图 我想缩放颜色 使图上的最低温度为蓝色 图上的最高温度为红色 而中间范围为白色 我已经尝试了 ggplot2 中的许多功能 但始终未能获得所需的结果 这就是我
  • GPS/GIS 计算:根据运动/每小时预测未来位置的算法?

    寻找资源或算法来在导航应用程序中计算以下内容 如果我当前的 GPS 位置为 0 0 并且我以 15 英里 小时的速度前进 32 度 我如何计算 10 秒后我的位置 i e GPSCoordinate predictedCoord GPSCo
  • 将 DMS 坐标转换为 R 中的十进制

    我有以下 DMS 格式的坐标 我需要将它们转换为十进制 Libraries gt library sp gt library magrittr Latitide Longitude as strings gt lat lt 21d11m24
  • 查找信标的两个地理位置之间的点

    假设我们有两个beacons放置在道路两侧 我们知道他们的latitude and longitude它们所在的位置 我们将它们视为一个位置 我们还知道distance两者之间以米为单位beacons 使用半正矢公式测量 我们的设备正在这两
  • 将 R data.frame 转换为 Javascript 数组

    我想将数据框的某些列保存为特定格式 JavaScript 格式 我尝试过使用toJSON from rjson包但这不起作用 我的结果应该是这样的 http leaflet github io Leaflet markercluster e
  • 如何使用共享数据库在 Heroku 上进行 GIS 查询?

    我有一张带有纬度和经度的地理编码位置表 我希望我的数据库查询返回它们的过滤列表 按距固定点的距离排序 我探索过以下几个选项 Postgresql 的 Earthdistance 贡献 http www postgresql org docs
  • Pentaho CE 上的地图可视化

    我正在运行 Pentaho ce 5 3 我已经使用星型模式立方体对其进行了测试 并且工作正常 现在我想将 Postgis 中存储的维度 包括空间维度 的 mdx 查询可视化为地图 不知道是否可行 或者我应该为此添加任何插件吗 根据您想要可
  • 通过非 sf 列内连接两个 sf 对象

    我尝试使用内连接或左连接连接两个 sf 数据帧 这些数据框内部都有几何列 我不断收到错误 check join x y 中的错误 y 应该是一个数据框 对于空间连接 请使用 st joinFALSE 下面的可重现示例 df1 lt data
  • 如何确定地址是否在地图上的某些边界内?

    我正在对此进行一些初步研究 但我对这个主题知之甚少 我需要创建一个解决方案 可以获取一个地址 然后确定该地址是否在某些预定义的边界内 可能是一系列相连的街道 有人对从哪里开始有一些建议吗 首先 您需要对地址进行地理编码 http code
  • 使用多边形图层下方的轮廓线切割多边形

    我想根据高程将多边形图层切割成两部分 上部和下部 多边形可能是凸的或凹的 并且切割的位置可能彼此不同 等高线的间隔为 5m 这意味着我可能需要生成一个具有更紧凑的等高线的等高线 例如 1m 的间隔 关于如何做到这一点的任何想法 在 ArcG

随机推荐

  • opencv实践项目-人脸检测

    目录 1 opencv CascadeClassifier人脸检测步骤 2 CascadeClassifier分类器简介 2 1 从文件中加载级联分类器 2 2 目标检测方法 3 代码实现 1 opencv CascadeClassifie
  • SRVE0255E: A WebGroup/Virtual Host to handle /p2pd/servlet/dispatch has not been defined.

    Technote troubleshooting Problem Abstract When setting up IBM Cognos within IBM WebSphere the URI is not accessible The
  • 【MySQL】轻松学习 普通索引

    目录 引言 一 普通索引的创建 1 创建表时定义索引 2 已存在的表上创建索引 3 ALTER TABLE 语句创建索引 二 查看索引执行情况 引言 创建索引是指在某个表的一列或多列上建立一个索引 以便提高对表的访问速度 创建索引有3种方式
  • umijs----路由(修改路由的某一个path )

    1 在src下创建app js ts tsx 2 修改路由 export function patchRoutes routes routes为 umirc ts中设置的routes数组 可以使用数组的方法插入删除 运行时在最前面插入一个路
  • Webpack配置Vue热更新

    Webpack配置Vue热更新 需要的包 cnpm i vue webpack webpack cli webpack dev server html webpack plugin clean webpack plugin style lo
  • 【正点原子MP157连载】第七章 认识HAL库-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南

    1 实验平台 正点原子STM32MP157开发板 2 购买链接 https item taobao com item htm id 629270721801 3 全套实验源码 手册 视频下载地址 http www openedv com t
  • selenium4

    1 单选框和复选框 单选框 type radio 定位 gt 点击 判断是否被选中 元素 is selected 复选框 type checkbox 只选择一个 gt 同单选框一样 全选 定位所有复选框 遍历 判断是否被选中 点击 选择部分
  • java入门六:java基础终章

    1 static关键字 静态变量和类一起加载 final修饰后的类无法被继承 2 抽象类 abstract修饰符可以用来修饰方法也可以修饰类 如果修饰方法 那么该方法就是抽象方法 如果修饰类 那么该类就是抽象类 抽象类中可以没有抽象方法 但
  • Linux Shell程序设计(2)

    实验十一 Shell程序设计 2 一 实验要求 综合运用shell编程知识进行设计性编程 二 实验内容和实验步骤 1 实验内容 假设你作为某工厂生产管理员 需要负责统计各车间每天生产的产品数据 你的计算机安装了双硬盘 为了保证数据安全 你在
  • 【定位问题】Mybatis-plus的selectPage()分页查询不生效问题

    背景 项目需要从mybits切换到mubits plus 但是我在进行分页查询的时候 发现一直不生效 问题原因 添加监听器 配置如下 Configuration MapperScan com baomidou mybatisplus sam
  • parted创建硬盘分区并创建LVM

    目的 将两个三T的硬盘做成LVM sdc sdd 一 parted将硬盘进行分区 1 parted的命令方式 Parted 命令分为两种模式 命令行模式和交互模式 1 命令行模式 parted option device command 该
  • 【原创】第一个iOS应用程序

    摘要 第一个iOS应用程序 包括获取控件 绑定事件 设置属性等内容 iOS Objective C 目录 第一章 窗口与应用程序 第二章 添加视图 2 1 从nib文件初始化视图 2 2 使用脚本添加视图 第三章 添加子视图 3 1 通过x
  • 制作自己的 Kindle 电子书

    想象以下场景 你刚收到一台新的 Kindle Paperwhite 心中已然响起了轰轰烈烈的 我今年 或这个冬天 一定要阅读 100 本书 结果发现 想看的书 Amazon 上找不到 或者排版很糟糕 如何解决 自己动手做呗 准备工作 我使用
  • UE4 UI实现改键功能

    主要内容 本文主要讲解如何在UI中实现自定义按键的功能类似于游戏中的改键操作 用到的是UE4自带的第三人称案例 因为第三人称自带了小白人和几个按键绑定就不用再手动去设置 实现步骤 1 创建两个UMG用来展示UI效果 1 创建WBP Key
  • C++链表合并

    有l1和l2两个链表 这两个链表降序排列 把l2合并到l1中 并按降序排列 同时清空l2链表 例如l1 9 8 7 6 l2 12 11 10 5 4 3 2 1 合并后l1 12 11 10 9 8 7 6 5 4 3 2 1 l2 in
  • 【Android】利用intent启动浏览器

    文章目录 一 默认浏览器 二 指定浏览器 三 选择浏览器 一 默认浏览器 需要设置Action和Date属性 构造 Uri uri Uri parse https www baidu com Intent intent new Intent
  • SCADE Suite 状态机之变量隐式赋值

    SCADE Suite 状态机之变量隐式赋值 1 变量的隐式赋值 目的 简化模型设计 Last 只要没有显示赋值 便取上一周期的数值 Default 只要没有显示赋值 便取默认设置的数值 优先级更高 设置方法 2 定义变量的Last值 1
  • LeetCode 817:链表组件(计数)

    解法一 常规解法 建图 DFS 时间复杂度O n O n 空间复杂度因为需要存储图 所以是O n 这种方法是通解 对于所有图都适用 Definition for singly linked list struct ListNode int
  • lua元表以及元方法

    知微出凡 lua元表以及元方法 lua中的变量是没有数据类型的 值有类型 类型有八种nil number boolean string function thread userdata以及table Lua 中的每个值都可以有一个 元表 这
  • 62.[GIS基础]笛卡尔坐标系

    文章目录 笛卡尔坐标系 多坐标系 坐标系的嵌套 坐标变换 坐标系转换 转载请注明原始链接 http blog csdn net a464057216 article details 54578069 后续此博客不再更新 欢迎大家搜索关注微信