2D欧氏空间R2中,点的表示是A(x1,y1), B(x2,y2),二维参数,线的表示是L: y=kx+b,是二维参数;

如何表示点在线上面?可以扩展为(k,-1,b)* (x1,y1,1)t = 0 ,如果不扩展,不在一个大统一的计算框架下面,且 两条平行线的交点没法表示,说明欧氏空间符合现实的理解方式,不符合数学计算美学;

于是大佬们想办法提出了用R3 来表示 2D射影空间:IP2。个人暂时还是无法理解全:

将A(x1,y1), B(x2,y2)等点扩充到 A(x1,y1,1)t, B(x2,y2,1)t , L以ax+by+c=0来表示,即L(a,b,c),如果点P(x1,x2,1)t,在线L上面 有   P t * L = 0,这样 点线就统一了(我们其实知道,这个是点的齐次坐标)

这样表示后,我们发现 kA,kB (k!=0)... 也都在L或者kL上面,是不是变成了矢量的感觉..

索性我们就规定,矢量等价原则

          R2中一点A(x1,y1),当k!=0 时,IP  k(x1,y1,1) 都对应于R2中的A这一点

                         R2中一线L(a,b,c),当k!=0 时,IP  k(a,b,c) 都对应于R2中的L这一条线

这样规定后,

      点x(x1,y1,z1),线L(a,b,c)的自由度都降为了2,

      点x在直线l上的充要条件是xt * l = 0

      两直线 l 与 l' 的 交点是 (l X l')叉乘,右手法则

      两点x与x'之间的连线是,(x X x')叉乘,右手法则

无穷远点 与 无穷远线

    R2中两平行线 交于 无穷远点,在IP2中计算后,表示为 (x,y,0),维度变成了一维,映衬了n个平行直线交于同一点。

    无穷远点在无穷远线上面,以 l(0,0,1) 来表示

现在几何都统一到代数计算下面了。

      

2D射影空间,为何引入射影空间的更多相关文章

  1. CSS3 Transitions, Transforms和Animation的使用

    一.前言 CSS3动画相关的几个属性是:transition, transform, animation:分别理解为过渡,变换,动画.虽意义相近,但具体的功能和在CSS3中承担的工作有一定的差异. t ...

  2. WWDC 2013 Session笔记 - UIKit Dynamics入门

    本文涉及到的WWDC2013 Session有 1.Session 206 Getting Started with UIKit Dynamics 2.Session 221 Advanced Tec ...

  3. CSS3 Transitions, Transforms和Animation使用简介与应用展示

    CSS3 Transitions, Transforms和Animation使用简介与应用展示 by zhangxinxu from http://www.zhangxinxu.com本文地址:htt ...

  4. iOS基础 - UIDynamic

    一.UIKit动力学 UIKit动力学最大的特点是将现实世界动力驱动的动画引入了UIKit,比如重力,铰链连接,碰撞,悬挂等效果,即将2D物理引擎引入了UIKit 注意:UIKit动力学的引入,并不是 ...

  5. 从java1到java9每个版本都有什么新特性?

    每次出新版本,大家大概都会这么问,"Java X会有什么特性呢?" .在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在哪 ...

  6. Java 发展历史

    Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆 ...

  7. [Java]-Java的版本演化

    一.Java SE 8 Java SE 8发行于2014年3月18日,代号culture,这是一个在Java历史上的重大发布 Java SE 8 新特性: Lambda Expressions(Lam ...

  8. iOS UIKit Dynamics入门 UIKit动力学,实现重力、连接、碰撞、悬挂等动画效果

    本文为转载文章 版权归原文所有 什么是UIKit动力学(UIKit Dynamics) 其实就是UIKit的一套动画和交互体系.我们现在进行UI动画基本都是使用CoreAnimation或者UIVie ...

  9. Java 的版本历史与特性

    Java SE 8[2014-03-14发行] Lambda表达式 Pipelines和Streams Date和Time API Default方法 Type注解 Nashhorn JavaScri ...

随机推荐

  1. wpf UI 元素类型

  2. Java学习笔记40(sql:将数据库内数据存入对象中)

    新建一个数据表: use qy97; create table student( id int primary key auto_increment, sname ), gander ), age i ...

  3. Fibonacci Heaps

    Mergeable heapsA mergeable heap is any data structure that supports the following five operations,in ...

  4. SpringBoot(三)thymeleaf+JPA+MySql

    接着上一节的 第一步:在pom文件中加入以下代码: <!--JPA--> <dependency> <groupId>org.springframework.boo ...

  5. jsp弹窗并跳转

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  6. webpack配置(入口出口)

    const path=require('path'); //是node.js的path模块 //单入口,单出口 module.exports={ // 入口文件 entry:{ entry:'./sr ...

  7. Sublime Keymap 设置

    深深受 Emacs 组合键的影响,在编辑的时候使用组合键快速移动,而不比像 VIM 需要切换模式,但不得不吐槽 Emacs 的插件安装那个叫恶心,所以尝试了新生代产品 Sublime,但是还是离不开 ...

  8. python 查找目录下 文件名中含有某字符串的文件

    有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...

  9. mybatis(一、原理,一对多,多对一查询)

    MyBatis框架及原理分析 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: 封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换 ...

  10. java中的映射表HashMap、TreeMap

    集(set)是集合(collection),集合不是集. HashMap是散列映射.TreeMap对键进行排序了. map的三个视图:键集.值集合.键/值集. Set<K> keySet( ...