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. java知识点归集

    将工作中,或者看书的过程中碰到的自己之前没有掌握的知识点进行归纳,暂时就碰到什么写什么,后续有一定量的话进行整理: 1.  list实现 相关文章:https://zhuanlan.zhihu.com ...

  2. 7--Python入门--条件和循环

    5.1 条件语句 条件语句基本框架如下:if 判断语句1: 执行语句块1elif 判断语句2: 执行语句块2else: 执行语句块3 a = 10 if a%2 == 0 : #这里使用了取余函数% ...

  3. shell中括号的特殊用法 linux if多条件判断

    一.   bash [  ] 单双括号 基本要素: Ø  [ ] 两个符号左右都要有空格分隔 Ø  内部操作符与操作变量之间要有空格:如  [  “a”  =  “b”  ] Ø  字符串比较中,&g ...

  4. 微信小程序富文本中的图片大小超出屏幕

    这个问题我在小程序社区中提的,后来有个帮我回答了这个问题,我试了一下可以. 解决办法是过滤富文本内容,给图片标签添加一个样式,限制图片的最大宽度. replace(/\<img/gi,   '& ...

  5. linux权限相关操作

    Linux权限管理是Linux中一个十分重要的概念,也是系统安全性的重要保障.这里主要介绍Linux的基本权限和默认权限,通过理论讲解与实验演示,可以详细了解到权限的相关操作及其重要性. 文件权限 [ ...

  6. mysql 基本函数以及初学语句

    创建数据库create database 数据库名: 查看数据库列表show databases; 选择数据库use 数据库名: 删除数据库drop database 数据库名: 创建表CREATE ...

  7. 作用域&&闭包

    在了解闭包之前,先了解作用域一,作用域简单来说就是变量和函数可以访问的范围,在es5中变量作用域一般分为全局作用域和局部作用域,这个主要依据是全局变量还是局部变量 情景1: <script> ...

  8. PTA——黑洞数

    PTA 7-44 黑洞数 我的程序,一个用例通不过 #include<stdio.h> void sort(int *a,int n); int main() { ; scanf(&quo ...

  9. Js高级 事件冒泡

    什么叫事件冒泡 当给父子元素的同一事件绑定方法时,触发了子元素身上的事件,执行完毕之后,也会触发父级元素的相同事件,这种传播机制叫事件冒泡. 取消事件冒泡 Event对象有个属性叫cancelBubb ...

  10. 使用maven profile指定配置文件打包适用多环境

    新建maven项目,   在pom.xml中添加 profile节点信息如下: <profiles> <profile> <!-- 开发环境 --> <id& ...