计算几何-点积/叉积

关于本篇博文

作者 北屿 http://www.cnblogs.com/beiyuoi/

转载请保留该文字


写在前面

个人总结的点积叉积的概念和应用qwq.


更新记录

20160521-点积/叉积定义 几何意义 运算 基础应用 性质

20160609-题目简讲-Toys


点积

点积,又名点乘积、数量积,高中数学课本必修四向量提到了

  • 定义

\[a\cdot b=\left|a\right|\times\left|b\right|cos<a,b>\]

  • 几何意义 \(a\)在\(b\) 上的正投影乘\(b\)的模长
  • 坐标运算

\[a(x_{1},y_{1}),b(x_{2},y_{2})=>a\cdot b=x_{1}x_{2}+y_{1}y_{2}\]

  • 应用 计算\(a\)和\(b\) 的长度和夹角
  • 性质 满足各种规律 交换律,结合律,分配律什么的
  • 注意 \(a\cdot b\) 的结果是个数值而不是向量

叉积

叉积,又称向量积

  • 定义

\(p_1 \times p_2 =\begin{vmatrix}x_1 & x_2 \\y_1 & y_2\end{vmatrix} = x_1y_2 - x_2y_1\)

\(p_1 \times p_2 = |p_1|\cdot|p_2|\sin \alpha\)

  • 几何意义 向量\(p_1 p_2\) 围成的四边形面积
  • 坐标运算 如定义所示
  • 应用 计算多边形周长面积,判断直线相交以及相互关系在直线左边或右边
  • 性质 满足各种规律 \(p_1 \times p_2 = -p_2 \times p_1\)
  • 判断直线位置关系

若 \(p_1 \times p_2<0\) ,则 \(p_1\) 在 \(p_2\) 的逆时针方向;

若 \(p_1 \times p_2>0\) ,则 \(p_1\) 在 \(p_2\) 的顺时针方向;

特殊的 若 \(p_1 \times p_2=0\) 则 \(p_1 p_2\) 共线


题目简讲

  • POJ 2318 TOYS(计算几何+叉积+二分)

题目大意:给出n条不想交的直线,把平面分成n+1的区域,给出m个点,询问每个区域出现的点的个数。

Sol:对于每个点属于哪个区域,显然区域具有单调性,用叉积判断点在直线的左边还是右边二分就可以了。判断方法就是判断这个点和分别和直线上下两边界端点形成的两条直线的位置关系,显然如果在左边的话,上边界和该点 与 下边界和该点 的叉积为负,反之为正。

时间: 2024-10-10 05:21:30

计算几何-点积/叉积的相关文章

转:点积&amp;叉积

一.点积(又称"数量积"."内积") 1.理论知识 在数学中,点积的定义为a·b=|a|·|b|cos<a,b> [注:粗体小写字母表示向量,<a,b>表示向量a,b的夹角,取值范围为[0,π]].从定义上,我们知道向量的点积得到的是一个数值.而不是向量(这点大家要注意了!要与叉积进行区别).另外点积中的夹角<a,b>没有顺序可言,即<a,b>=<b,a>(或a·b=b·a).所以我们可以通过点积得到两个向

TOYS - POJ 2318(计算几何,叉积判断)

题目大意:给你一个矩形的左上角和右下角的坐标,然后这个矩形有 N 个隔板分割成 N+1 个区域,下面有 M 组坐标,求出来每个区域包含的坐标数. 分析:做的第一道计算几何题目....使用叉积判断方向,然后使用二分查询找到点所在的区域. 代码如下: ============================================================================================================================ #

【转】计算几何题目推荐

打算转下来好好做计算几何了. 原文地址:http://blog.sina.com.cn/s/blog_49c5866c0100f3om.html 其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠.3.要注意代码的组织,因为计算几何的题目很容易上两百行

计算几何 : 凸包学习笔记 --- Graham 扫描法

凸包 (只针对二维平面内的凸包) 一.定义 简单的说,在一个二维平面内有n个点的集合S,现在要你选择一个点集C,C中的点构成一个凸多边形G,使得S集合的所有点要么在G内,要么在G上,并且保证这个凸多边形的面积最小,我们要求的就是这个C集合. 二.算法 求凸包的算法很多,常用的有两种: 1.  Graham扫描法,运行时间为O(nlgn). 2.  Jarvis步进法,运行时间为O(nh),h为凸包中的顶点数. 这里主要讨论第一种算法:Graham扫描法 Graham扫描法: 基本思想:使用一个栈

计算几何专题

ACM计算几何题目推荐 一. 点,线,面,形基本关系,点积叉积的理解      POJ 2318 TOYS && POJ 2398 Toy Storage  点与线段的位置    POJ 3304 Segments  线段与直线的位置    POJ 1269 Intersecting Lines  直线位置    POJ 1556 The Doors  线段相交+最短路   POJ 2653 Pick-up sticks  线段相交    POJ 1066 Treasure Hunt  线

计算几何模版

此模板包含了一些基本简单的二维几何问题, 1三角形外接圆            2三角形内切圆 3过圆外某点切线的角度    4过某条直线外一点半径为r的圆 5和两条相交直线相切的半径为r的圆         6和两个相离的圆相切的圆 1.计算向量点积, 叉积, 长度, 夹角, 向量的旋转(逆时针), 向量的单位法线 2.计算两点距离, 点到直线距离,两直线交点, 点到线段距离, 点在直线的投影,将直线AB沿法线方向平移d得到的直线EF 3. 圆与直线的交点(相离,没有交点, 相切一个交点, 相

省选板块

部分摘抄自网络 同样的,加粗是重点,星号是选学 图论 网络流(dinic,ISAP选一个,费用流写EK就行.*zkw费用流),二分图 点分治,边分治,*动态点分治 树链剖分,动态树,树分块 虚树,*prufer编码 *仙人掌算法 数据结构 带权并查集 Splay(作为平衡树和维护区间),Treap,替罪羊树 线段树(权值线段树),树状数组,*线段树合并 树套树 主席树,可持久化trie,*其它可持久化数据结构 二维线段树,*KDtree *舞蹈链,*二进制分组,*左偏树,*超哥线段树,*后缀平衡

痴心不改

 2014ACM集训总结 第二次参加ACM集训,可这一次的集训感受大不同以往. 首先这假期学的内容不是那么简单,在学习和刷题的过程中,智商压制现象很严重. 其次,这个假期发生了很多事情,身边的家伙陆续的退役,其实还有我的两个队友. 所以,心中很矛盾,也很复杂,无法用语言表达,只能慢慢调整,让自己恢复正常的感觉. 最后的4场比赛,没有真心的投入,一场中途才赶到实验室,两场提前离场.总的来说,是我逃避现实,我不知道如何面对现实. 一个假期过后,该学会的没有学会,反而留下一堆乱麻,不知道从何捋起.

算法纲要

基本 枚举.贪心.递归.分治.递推.模拟 STL(pair.vector.set.map.queue.string.algorithm) 构造.位运算.常数优化 数据结构 队列.堆.栈.链表 排序(插入.冒泡.快速.归并.堆.桶.基数) 二分查找.散列表 并查集.哈夫曼树 排序二叉树.左偏树.平衡树(Splay/Treap/SBT) 树状数组.线段树.归并树.划分树.主席树.树套树 树链剖分.动态树 1/2维RMQ.LCA(在线/离线).稀疏表.字典树 字符串 KMP.扩展KMP AC自动机 后