1.判断点是否在直线上:

.

1.差积为零

2.点击小于零

bool  OnSegment(Point P,Point A,Point B)
{return dcmp(Cross(A-P,B-P))==0 && dcmp(Dot(A-P,B-P))<=0; } 

2.点到直线的距离:

double DistanceToLine(Point P,Point A,Point B){Vector v1=B-A,v2=P-A;return fabs(Cross(v1,v2))/Length(v1);}

3.点到线段的距离:

分四种情况:

double DistanceToseg(Point P,Point A,Point B){if(A==B) return Length(P-A);Vector v1=B-A,v2=P-A,v3=P-B;if(dcmp(Dot(v1,v2))<0) return Length(v2);if(dcmp(Dot(v1,v3))>0) return Length(v3);return fabs(Cross(v1,v2))/Length(v1); }

4.求俩直线的交点:

Point GetLineIntersection(Line A,Line B){vector u=A.p-B.p;double t=Cross(B.v,u)/Cross(A.v,B.v);return A.p+A.v*t;}

计算几何(二维)-基本组件(1)相关推荐

  1. qrcode 自定义二维码组件

    qrcode 自定义二维码组件 vue 自定组件 1.安装 qrcode npm install --save qrcode 2.介绍 toCanvas.toDataURL 用法 // toCanva ...

  2. C++笔记-学习算法与实现-计算几何-二维向量和线段运算

    判断正负号   给定一个double类型的数,判断它的符号: const double eps = 1e-8; int cmp(double x) {if (fabs(x) < eps) ret ...

  3. Vue生成带图片logo以及文字的二维码组件,可下载二维码为图片,附组件调用代码--核心qrcode

    目录 1.初始化qrcode 2.二维码生成以及下载组件代码 可以自己控制是否生成logo以及文字说明 3.父页面调用组件代码 1.初始化qrcode cnpm install --save qrco ...

  4. 计算几何 —— 二维几何基础 —— 距离度量方法

    [概述] 在数据挖掘中,经常需要计算样本之间的相似度,通常做法是计算样本之间的距离. 比如判断 A.B.C 三种商品之间的相似性,可以先按照商品特征构建 A.B.C 各自的向量,然后求向量间的距离,距 ...

  5. 计算几何 —— 二维几何基础

    [理论] 1.距离度量方法:点击这里 2.三角形的面积:点击这里 3.平面分割问题:点击这里 [例题] Building A New Barn(POJ-3269)(曼哈顿距离):点击这里 Aladdi ...

  6. 计算几何 —— 二维几何基础 —— 三角形的面积

    [海伦公式] 在平面内,有一个三角形,设其三边长分别为 a.b.c,面积为 S ,则有:  其中, double calculate(double a,double b,double c){doubl ...

  7. 计算几何--二维几何前置基础知识

    内容参考书籍--<算法竞赛入门经典训练指南> 在平面坐标系下,向量和点一样用两个数,x和y表示.判断相等使用"三态函数"dcmp,减少精度问题.另外,向量有一个所谓的& ...

  8. [计算几何] (二维)圆与直线的交点

    给出圆心O的坐标, 和半径r, 再给出点A,B的坐标构成直线AB, 求出圆与直线AB交点的坐标 如下图 Step1: 首先求出圆心c在直线l 上的投影点pr的坐标 可通过求解向量p1pr(p1pr的长 ...

  9. vue2.0 自定义 生成二维码(QRCode)组件

    1.自定义 生成二维码组件 QRCode.vue <!-- 生成二维码 组件 --> <template><canvasclass="qrcode-canvas ...

  10. Vue开发跨端应用(七)添加生成二维码

    二维码组件:QRCode npm i qrcode -s 这里需要注意的是不能放在 created 事件里面,需要放在 mounted事件 var QRCode = require('qrcode') ...

最新文章

  1. Go 知识点(03)— 非缓冲 channel 的长度始终为 0
  2. centOS7.4服务器 yum安装 搭建lamp环境
  3. ipad php mysql_PHP中的MYSQL常用函数
  4. python 版本比较函数 LooseVersion StrictVersion
  5. 大学生如何让自己的简历闪闪放光?
  6. 2010年终人生的思考
  7. colorWithPatternImage, stretchableImageWithLeftCapWidth
  8. 革命性新特性 | 单一应用跨多Kubernetes集群的部署与管理 1
  9. oracle detele,Oracle中,一个Delete操作的流程
  10. html学习 - 检测浏览器是否支持Canvas
  11. 计算机画图讲课ppt,画图教学课件
  12. 成都拓嘉辰丰:拼多多一件代发的产品退货怎么做?
  13. 2021年数维杯数学建模A题外卖骑手的送餐危机求解全过程文档及程序
  14. Vue Whitelabel Error Page错误
  15. Windows 下解决 VsCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误
  16. 转载:优启通添加软件方法(一些 EXLOAD 简单的应用例子 )
  17. 逃不开的安迪-比尔定律,在智能机器人时代该如何破解?
  18. 系统部署服务器位置,室内定位系统在实际项目中的部署
  19. 工作居住证 TO 户口
  20. 微信支付--敏感词加密

热门文章

  1. 【ARM-Linux开发】Rico Board上编译USB WiFi RT3070驱动
  2. 【BZOJ 4247】挂饰
  3. @WebServlet注解无效访问servlet报404
  4. js replace 中文分号_在JS中用Replace 全部替换字符
  5. el-table默认打钩
  6. 巨杉数据库SequoiaDB助力商业银行云化架构升级
  7. 2019中国计算机高引学者榜单出炉,164人入选,周志华位列第二
  8. ss VS netstat 解析
  9. C++中字符三兄弟(WCHAR、CHAR、TCHAR)
  10. 如何实现100W的秒杀系统!(淘宝最高54万TPS)!带你走进阿里并发