一、点。

l        点的坐标A(x1, y1),B(x2, y2)

二、向量。

l        向量AB = (x2-x1, y2-y1) = (x3,y3) ,CD = (x4, y4)。

l        向量的模|AB| = sqrt(x3*x3 + y3*y3) 即向量的长度。

三、点积。

l        点积的结果为一个数值。

l        数值计算方法AB * CD = x3*x4 + y3*y4。

l        几何意义AB * CD = |AB| * |CD| * cos(a),a为向量AB逆时针转向CD的角度,0<=a<360,也可以认为是两向量的夹角,0<=a<=180。一般用于求夹角,a = acos( (AB * CD) / (|AB| * |CD|) )。也可:|CD| * cos(a) = AB * CD / |AB|,即向量CD在AB上的投影。

四、叉积。

l        叉积的结果为一个向量。

l        AB×CD数值= x3*y4 – x4*y3。

l        方向由右手螺旋定则判定。

l        几何意义:AB×CD = |AB| * |CD| * sin(a),取绝对值即是以AB和CD为边的平行四边形面积。

五、线段相交的判定(判定线段AB和线段CD是否相交,属于哪种相交)。

l        规范相交:交点只有一个,且不是线段的端点。

1、充要条件:点A和点B在CD的两侧并且点C和点D在AB的两侧。

2、如何判断点A在向量CD的左侧还是右侧:CA×CD的数值大于0则左侧,小于0则右侧。于是CA×CD的数值和CB×CD的数值异号,点A和点B在CD的两侧,同理可判断点C和点D是否在AB的两侧(注意,必须严格异号)。

l        不规范相交:交点为某个线段的端点,甚至两线段有一段重合。

1、充要条件,一条线段的一个端点在另一条线段上。即A在CD上或B在CD上或C在AB上或D在AB上。

2、A在线段CD上的充要条件:

a)        AC×AD = 0,几何意义,AC和AD组成的平行四边形的面积为0,即A、C、D三点共线。

b)        A点在CD之间,A.x处于C.x和D.x之间并且A.y处于C.y和D.y之间

转至http://www.cppblog.com/shiming413/archive/2007/08/21/30494.html

转载于:https://www.cnblogs.com/TonyNeal/p/jisuanjihe1.html

【学习】计算几何初步相关推荐

  1. Spring源码学习的初步体会

    Spring源码学习的初步体会: 深入学习和巩固java的基础知识,其中的java知识范围全部,可以边研究源码边巩固复习基础知识 体会其中用到的设计思想:其中包含的设计原则和设计模式. 加深对spri ...

  2. 大型机学习之初步了解-大型机的现状与前景

    大型机学习之初步了解-大型机的现状与前景 关于大型机的现状和前景,据我的一点小小的所知首先就是IBM仍在开发和维护它的那一系列机器,并在拿它不停地赚钱.但是业界对于大型机的存在有两种声音,一种就是互联 ...

  3. 申请深造计算机专业的理由,申请理由和到境外留学期间学习的初步计划.doc

    申请理由和到境外留学期间学习的初步计划 申请理由和到境外留学期间学习的初步计划 申请理由和到境外留学期间学习的初步计划 第一篇_出国留学学习计划书 出国留学学习计划书 一,既给大使馆申请出国证件用的 ...

  4. 超表面学习一 初步印象

    超表面学习中 第一章 初步认识 一.传统超表面 1.吸波 2.反射相位 3.透射相位 4.电磁带隙 引申出来的超表面基础应用: 1.透波透镜(对应透射相位) 分为近场和远场 近场:贝塞尔波束等等 远场 ...

  5. 第一篇博客(关于IT学习的初步想法)

    目录 一.个人介绍 二.编程目标 三.如何学习编程 四.每周投入时间 五.最想进入的IT公司 六.总结 一.个人介绍 我是一名大一学生,目前就读计算机相关专业.想做的事有很多,但现在自己能力有限,希望 ...

  6. 最优化学习 下降算法初步与线搜索方法

    下降算法初步与线搜索方法 迭代下降算法 线搜索基本思路 线搜索方法 均匀搜索法 黄金区间法(0.618法) 基于导数信息的二分法 非精确线搜索 全部笔记的汇总贴:最优化学习目录 迭代下降算法 迭代的策 ...

  7. Netty学习记录-初步认识Netty及I/O模型

    Netty学习记录 Netty简介 Netty特征 Netty架构结构图 Netty如今使用的场景 IO了解 BIO: BIO演变的NIO的过程 NIO: NIO三大核心(重点) NIO非阻塞网络编程 ...

  8. Sass学习笔记 -- 初步了解函数、运算、条件判断及循环

    函数 sass定义了很多函数可供使用,当然你也可以自己定义函数,以@fuction开始.sass的官方函数链接为:sass fuction,实际项目中我们使用最多的应该是颜色函数,而颜色函数中又以li ...

  9. 经过前面几天的学习已经初步了解到了Java 今天开始学习Java的 对象与类

    在了解对象与类之前,首先先学习方法 01.方法概述 概述:说白了就是用来存储一段代码 特点: 方法只有先定义才能使用 方法不会自动执行,必须调用才会执行(方法不调用,不会执行) 02.方法定义和调用( ...

最新文章

  1. 在Eclipse中创建Maven多模块工程的例子
  2. ORACLE1.22 %type %rowtype
  3. 怎么让经纬度在脑子里不串门?
  4. 【最新合集】PAT甲级最优题解(题解+解析+代码)
  5. python数据分析入门
  6. python classmethod用处_Python classmethod类方法修饰符
  7. 前端利器!让AI根据手绘原型生成HTML | 教程+代码
  8. VS2008的绿色精简版,只有VC2008部分
  9. iOS进阶经常去的网站
  10. 头歌平台(EduCoder)—— 数据挖掘算法原理与实践:数据预处理
  11. S7-1200使用集成库FB285控制G120变频器的基本步骤
  12. 2021寒假MISC打卡DAY1
  13. Android方法耗时监控工具
  14. android ae动画教程,AE动画转Web代码工具指北-Lottie
  15. java 配置文件加密_Spring cloud config 配置文件加密方式
  16. 疫情下,数字化转型成功的“光明”
  17. 台湾POWEREX电源拆解测试,告诉发烧友什么叫专业
  18. 【CCF推荐专区】计算机类优质SCIEI好刊,期刊质量高,部分期刊仅有少量版面
  19. python中file方法
  20. 初中计算机竞赛面试题目及答案,2019上半年初中信息技术教师资格面试真题及答案(第四批)...

热门文章

  1. [YTU]_2532(投简历)
  2. opencv 图像的腐蚀与膨胀
  3. 工程管理专业就业前景_网络工程师就业前景如何?
  4. 【解决方法】java.lang.ClassNotFoundException:
  5. 锐捷交换机清除mac-address-table(mac地址表)
  6. 求连通块个数(使用并查集)
  7. 第四讲 一阶线性ODE换元法
  8. c# 说说开发通用通信库,尤其是分布式服务的通信
  9. Docker Machine 简介
  10. PyCharm的配置与安装