首页 > 其他分享 >单视图几何

单视图几何

时间:2023-07-01 09:44:37浏览次数:42  
标签:直线 平行线 几何 影消线 视图 平行 平面 无穷远

无穷远点(也称理想点)和无穷远线和无穷远平面

2D:

这个无穷只能在齐次坐标下表示,在欧式坐标系下并不方便

所有理想都可以写成(x1,x2,0),并由比率x1:x2指定一个具体的理想点

直线的齐次表示:

性质1:

对于直线ax+by+c=0,我们可以用向量(a,b,c)T来表示,而且对于任何非零常数k直线ax+by+c=0和(ka)x+(kb)y+kc=0是同一条直线,因此(a,b,c)T和k(a,b,c)T也是同一条直线。

直线的方向向量和法向量:

   

点在线上的表示形式:

注意以上点都是齐次坐标

两条平行线的交点是无穷远点:

下面对于为什么是(b,-a,0)T做出解释:

此处用到了性质1

无穷远直线:

平行直线都会交于一个无穷远的点,所有无穷远的点会构成一条无穷远的线

3D:

点在面上:

三维空间的直线:

首先注意的是Ax+By+Cz+D=0是面的方程,因此三维空间中的直线我们没法用方程表示,只能写出它的方向向量,记作(a,b,c)T注意这个地方和上面的参数a,b,c可不相同。那么两条直线的交线是(a,b,c,0)T再说一遍注意这个地方和上面的参数a,b,c可不相同.

无穷远面:

平行的平面都会交于一条无穷远线,所有的无穷远线的集合就是一个无穷远面。

或则说:

每一个平面都会对应一个无穷远线,平面上的所有点都会汇聚到这条无穷远线上,所有平行平面的无穷远线是同一根,所有无穷远线集合就是一个无穷点面。

用(0,0,0,1)T来表示

影消点和影消线:

点到点的映射

这个地方解释了仿射变换后平行性为什么不在保持:两条平行线交于无穷远点,而经过透视变换,两条平行线不再保持平行性,也就是不再交于无穷远点,交于我们可以看到的点,那么原来两条平行直线在无穷远处的交点经过透视变换就变成有穷远点,我们可以看见的点,也就是无穷远点不再是无穷远点。

而仿射变换保持了平行性:两条平行线在仿射变换后还是平行线,原来交于无穷远点还是交于无穷远点,因此无穷远点还是无穷远点。

也就是无穷远被保持意味着平行性也被保持。

线到线的映射

可以通过立体图形来理解,无穷远线被保持意味着无穷远面之间还是平行的

影消点:

M是投影矩阵,是透视变换,p是像素坐标

 根据相机内参和直线的方向求直线的影消点:

K是相机内参,注意这里的直线方向是相机坐标系下的,因此不考虑外参矩阵

影消线 

 根据相机内参和平面的影消线求平面的法向量:

个人理解是,平面上的任意一点都会汇聚到该平面的无穷远线上(因为平面上任意一条线都会经过任意一点,而该直线上会和无穷远线交于无穷远点,因此直线上所有点也会汇聚到该无穷远点上)无穷远线上的点在像素平面上投影的像素点就是平面上的点在像素平面上投影的像素点,该像素点在影消线上。影消线只有通过无穷远线的投影才能得到,因此平面上的点不能直接投影在影消线上

 

两条直线的夹角:

w的性质

 

标签:直线,平行线,几何,影消线,视图,平行,平面,无穷远
From: https://www.cnblogs.com/Sandals-little/p/17518870.html

相关文章

  • 【九】MySQL数据库之视图,触发器与存储过程
    【九】MySQL数据库之视图,触发器与存储过程视图,触发器与存储过程【一】视图视图是一个虚拟表(非真实存在)其本质是【根据SQL语句获取动态的数据集,并为其命名】用户使用时只需使用【名称】即可获取结果集可以将该结果集当做表来使用。使用视图我们可以把查询过程中的临......
  • 视图
    创建create[orreplace]view视图名称[(列名列表)]asselect语句--如果要替换视图,要加上orreplace 视图的检查选项当使用WITHCHECKOPTION子句创建视图时,MySL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySOL允许基于另一个视图创......
  • @血源萌新☜ 怎么推导 黎曼几何 球面短程线 ?
    怎么推导黎曼几何球面短程线,  我问过   @血源萌新☜  两次, 一次是在反相吧, 一次是在高级民科吧,  见  反相吧 《【水】老杨终于露出了维相真面目》     https://tieba.baidu.com/p/8297248311   15楼, 高级民科吧   《4维度正方......
  • thinkphp6:使用view视图/模板(thinkphp v6.0.12LTS)
    一,在使用之前,需要用composer安装需要的view模块:参见:https://blog.imgtouch.com/index.php/2023/06/29/thinkphp6-bao-cuo-driver-think-not-supported/二,php代码:<?phpdeclare(strict_types=1);namespaceapp\controller;useapp\BaseController;usethink\fa......
  • 单视图几何
    无穷远点(也称理想点)和无穷远线和无穷远平面2D:这个无穷只能在齐次坐标下表示,在欧式坐标系下并不方便所有理想都可以写成(x1,x2,0),并由比率x1:x2指定一个具体的理想点直线的齐次表示:性质1:对于直线ax+by+c=0,我们可以用向量(a,b,c)T来表示,而且对于任何非零常数k直线ax+by+c=0......
  • 几何题2
    $\triangleABC$的内心为\(I\),内切圆分别切边\(BC\)、\(CA\)、\(AB\)于\(D\)、\(E\)、\(F\).直线\(BI\)、\(CI\)、\(DI\)分别交\(EF\)于\(M\)、\(N\)、\(K\).直线\(BN\)、\(CM\)交于点\(P\),直线\(AK\)、\(BC\)交于点\(G\).过\(I\)垂直于\(PG\)的直线,......
  • 07前后端项目上传gitee,后端多方式登录接口,发送短信功能,发送短信封装,短信验证码接口,短
    1前后端项目上传到gitee#公司里: -前端一个仓库---》一个团队-后端一个仓库---》一个团队-微服务:两三个人一个服务---》一个项目一个仓库-网上开源软件,前后端都在一起#在远端建立前端仓库#本地代码提交到远成仓库2后端多方式......
  • django 如何在序列化器中抛出错误 并且在视图中捕捉返回给前端
    1.在create()中抛出错误classYourSerializer(serializers.Serializer):defcreate(self,validated_data):#进行数据验证是否满足条件#得到数据过程以省略condition=Falseifnotcondition:#抛出ValidationError异常,......
  • 微信小程序开发《3. 视图与渲染》
    1.组件的基本使用组件这里不详细记录了,就当做一个帮助文档来阅读;官方文档2.数据的绑定主要通过{{xxx}}来绑定数据2.1.js文件里面data的设置Page({data:{text:'这里是内容!',}})2.2.wxml里面的设置<text>{{text}}</text>3.渲染标签的使用可以通过事件来进行切换;.j......
  • django之视图层
    三板斧HttpResponse返回字符串类型render返回html页面并且在返回给浏览器之前还可以给html文件传值redirect重定向"""#视图函数必须要返回一个HttpResponse对象正确研究三者的源码即可得处结论Theviewapp01.views.indexdidn'treturnanHttpRes......