计算几何——认识基本object:点、线、面 。
2024-09-30 16:14:35
认识基本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;
最新文章
- 前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯
- SQL 事务
- S2小测--索引--视图
- BZOJ1086 [SCOI2005]王室联邦
- PHP中使用的变量
- android错误系列之导出数据库出错Failed to pull selection
- 【剑指offer】面试题27:二叉搜索树与双向链表
- 【斗地主技巧】斗地主算法逻辑中的天之道<;转>;
- Move WriteBuffer ReadBuffer String
- Dubbo分布式服务子系统的划分
- 听说,霸都.NET技术社区准备搞线下聚会了?
- CSS实现单行、多行文本超出部分显示省略号
- Linux-基础学习(三)-Nginx学习
- java中引用的概念
- C#_IO操作_查询指定文件夹下的每个子文件夹占空间的大小
- sczd
- mycql 多表联合查询
- Convert ResultSet to JSON and XML
- 基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |
- oracle全量、增量备份
热门文章
- Cortex-M3 / M4 Hard Fault Handler (转载)
- TensorFlow博客翻译——用TensorFlow在云端进行机器学习
- Find offset of first/last found substring
- 【react-native】持续踩坑总结
- Qt - 锁屏界面加虚拟小键盘
- 背包DP HDOJ 5410 CRB and His Birthday
- PHP获取今天内的时间 今天开始和结束的时间戳
- 题解报告:hdu 1421 搬寝室(递推dp)
- [转]为革命保护视力 --- 给 Visual Studio 换颜色
- Java中static修饰符