计算几何——认识基本object:点、线、面 。
认识基本object:点、线、面
一、点
点用P(x, y)来表示;如:
typedef pair<double, double> _pair;
_pair point[MAXN];
二、线
①两点式
L: (y- y1)/ (y2- y1)= (x- x1)/ (x2- x1).
需要条件:用于已知两点坐标的情况。P1(x1, y1); P2(x2, y2);
在使用上几乎没有什么缺点。
typedef pair<double, double> _pair;
_pair point[MAXN];
typedef pair<_pair, _pair> _line;
/*两点确定一条直线; _pair P1; _pair P2;*/
_line Line[MAXN];
②斜截式
L: y= kx+ b;
需要条件:用于已知斜率和y轴截距。k; b;
优点:能够简单 快速&直观 的推出关系式,如计算两条直线交点。
缺点:一些特殊情况不适用,如当k 不存在时。
③点斜式
L: y- y1= k(x- x1);
需要条件:用于已知斜率和一点坐标的情况。k; P1(x1, y1);
缺点:同样依赖于斜率,当斜率不存在时不适用。
④截距式
L: (x/ a)+ (y/ b)= 1;
需要条件:用于已知所有截距的情况。x轴截距a; y轴截距b;
⑤一般式
L: ax+ by+ c= 0;
缺点:除了求交点或点到直线距离,其他方面都是缺点。不推荐使用。
三、面
1、圆
用圆心O(x, y)和半径R 来表示
typedef pair<double, double> _pair;
_pair point[MAXN];
typedef pair<_pair, double> _round;
/*圆心_pair O; 半径double R*/
_round Round[MAXN];
2、半平面 (待填)
用一个向量来表示 半平面,向量逆时针的方向为半平面的内部。
typedef pair<double, double> _pair;
typedef pair<_pair, _pair> _line;
/*确定一条向量; 向量OP:_pair O; _pair P;*/
Ps:平面内的一条直线把这个平面分成两部分,每一部分对这个平面来说,都叫做半平面。包括这条直线的半平面叫做闭半平面,否则叫做开半平面。

Ps: 一般的,我们默认向量的逆时针方向为半平面的内部。上图中即为向量的左半平面。
end;
计算几何——认识基本object:点、线、面 。的更多相关文章
- 【BZOJ】1610: [Usaco2008 Feb]Line连线游戏(几何)
http://www.lydsy.com/JudgeOnline/problem.php?id=1610 两种做法,一种计算几何,一种解析几何,但是计算几何的复杂度远远搞出解析集合(虽然精度最高) 计 ...
- [模板] 计算几何2: 自适应Simpson/凸包/半平面交/旋转卡壳/闵可夫斯基和
一些基本的定义在这里: [模板] 计算几何1(基础): 点/向量/线/圆/多边形/其他运算 自适应Simpson Simpson's Rule: \[ \int ^b_a f(x)dx\approx ...
- Python爬取CSDN博客文章
0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...
- HDOJ 题目分类
HDOJ 题目分类 /* * 一:简单题 */ 1000: 入门用:1001: 用高斯求和公式要防溢出1004:1012:1013: 对9取余好了1017:1021:1027: ...
- 火币Huobi API
本文介绍火币Huobi API REST API 简介 火币为用户提供了一套全新的API,可以帮用户快速接入火币PRO站及HADAX站的交易系统,实现程序化交易. 访问地址 适用站点 适用功能 适用交 ...
- iOS开发 - 多线程实现方案之NSThread篇
NSThread API //类方法:创建一个线程 + (void)detachNewThreadWithBlock:(void (^)(void))block API_AVAILABLE(macos ...
- JAVA中this和super用法
参考网上资料和自行理解总结java中this和super中各自用法及其差异 <一>. this的用法 构造方法是创建java对象的重要途径,通过new关键字调用构造器时,构造器返回该类的对 ...
- js创世纪--刨根问底原型和原型链
原型和原型链 看图说话: 1.对象内部具有[[Prototype]]属性,该属性不可直接访问,浏览器通过__proto__(两条'_')可以让用户读写该内部属性,最重要的是,该属性指向创建本对象的原型 ...
- hdu 4643 GSM 计算几何 - 点线关系
/* hdu 4643 GSM 计算几何 - 点线关系 N个城市,任意两个城市之间都有沿他们之间直线的铁路 M个基站 问从城市A到城市B需要切换几次基站 当从基站a切换到基站b时,切换的地点就是ab的 ...
随机推荐
- Java Socket实战之二:多线程通信
转自:http://developer.51cto.com/art/201202/317544.htm 上一篇文章说到怎样写一个最简单的Java Socket通信,但是在上一篇文章中的例子有一个问题就 ...
- CollabNetSubversionEdge 4.0.4教程
CollabNetSubversionEdge是svn的集成环境,集合subversion,apache,viewvc, 参考网址:http://blog.miniasp.com/post/2011/ ...
- HDU 5944 Fxx and string (暴力)
题意:给定一个字符串,问有多少个三元组满足 i, j, k组成一个等比数列,并且s[i] = 'y', s[j] = 'r', s[k] = 'x',且j/i ,j/k中至少一个是整数. 析:直接暴力 ...
- tools:context=".MainActivity的作用 (转载)
转自:http://blog.csdn.net/caiwenfeng_for_23/article/details/8373569 <TextView android:layout_width= ...
- bzoj 3503: [Cqoi2014]和谐矩阵【高斯消元】
如果确定了第一行,那么可以推出来整个矩阵,矩阵合法的条件是n+1行全是0 所以推出来n+1行和1行的关系,然后用异或高斯消元来解即可 #include<iostream> #include ...
- 【OpenJ_Bailian - 4001】 Catch That Cow(bfs+优先队列)
Catch That Cow Descriptions: Farmer John has been informed of the location of a fugitive cow and wan ...
- centos 7添加快捷键
转自:http://www.cnblogs.com/flying607/p/5730867.html centos7中不自带启动终端的快捷键,可以自定义添加. 点击右上角的用户名,点击设置,在设置面板 ...
- 【学习笔记】SIFT尺度不变特征 (配合UCF-CRCV课程视频)
SIFT尺度不变特征 D. Lowe. Distinctive image features from scale-invariant key points, IJCV 2004 -Lecture 0 ...
- java获取公网ip以及物理地址和代理商
package ipconfig; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr ...
- SSH---整合Struts2&Spring&Hibernate(实例)
一.SSH回顾 Struts2:核心为过滤器+拦截器.过程:Filter--->FilterDispatcher-->ActionMapper-->ActionProxy--> ...