这个版本还不能处理三点共线的情况(处理起来其实比较麻烦) 可以用atan2来排序(较为简单,但是精度误差大),也可以用叉积排序(比较优秀) atan2 #include <iostream> #include <cstdio> #include <cstring> #include <algorit ...
分类:
编程语言 时间:
2020-02-19 23:43:34
阅读次数:
81
模 $|(x,y)|=\sqrt{x^2+y^2}$ 点积 $(ax,ay) (bx,by)=ax bx+ay by$ 叉积 $(ax,ay)\times(bx,by)=ax by ay bx$ 夹角 $$表示从$\vec a$逆时针旋转到$\vec b$的角度。 $\cos=\frac{\vec ...
分类:
其他好文 时间:
2020-02-19 21:12:44
阅读次数:
90
1. 点、线、凸边形 1 /******************************************************* 2 二维几何基础 3 【注意】数组下标从1开始。 4 ***************************************************** ...
分类:
其他好文 时间:
2020-01-28 17:44:30
阅读次数:
83
交互 问题就是如何确定点的顺序 只有一个点肯定不行 需要除$1$号点找一个基准点 也就是和$1$号点相邻的点 这个可以通过$n$次叉积问出来 然后就是确定顺序 通过叉积确定比较困难 因为一次只能问出来两个点的相对顺序 这样需要$n^2$次 考虑面积询问 可以通过面积询问确定 其他点到两点连线距离 凸 ...
分类:
其他好文 时间:
2020-01-28 09:34:55
阅读次数:
77
例题: "P1452 " . 题意:找到所有点对的最大距离。 一个凸包可以把所有点给包含进去,很明显最大距离点对是凸包上的点的点对。于是现在求凸包的最长直径。 旋转卡壳 依次按照极角枚举凸包上的边,找出与这条边最远距离的顶点,寻找这个点可以通过叉积算三角形面积实现。很明显顺次枚举边时,顶点也是顺次移 ...
分类:
其他好文 时间:
2019-12-04 13:40:34
阅读次数:
83
我们随机选取点1,2作为凸包的一个分割线,那么我们可以直接枚举剩下n-2个点找到他们和向量1-2的叉积大小与正负,然后我们可以根据叉积的正负,先将他们分割出两个区域,在向量1-2的下方还是上方,接下来找到距离向量1-2最高的点id1和最低点id2,接下来在通过向量id1-1再次分割再上方的点,同样最 ...
分类:
其他好文 时间:
2019-11-23 17:59:52
阅读次数:
67
题目链接:https://vjudge.net/problem/POJ-2007 题意:乱序给出凸包的所有顶点,按极角序输出顶点。 思路:按极角排序一次即可。 AC code: #include<cstdio> #include<cstring> #include<algorithm> #inclu ...
分类:
编程语言 时间:
2019-11-09 13:43:52
阅读次数:
87
数学上的内积、外积和叉积 内积 也即是:点积、标量积或者数量积 从代数角度看,先对两个数字序列中的每组对应元素求积,再对所有积求和,结果即为点积。从几何角度看,点积则是两个向量的长度与它们夹角余弦的积。 "具体解释" 外积 也即是:张量积 在线性代数中一般指两个向量的张量积,其结果为一矩阵,也就是矩 ...
分类:
编程语言 时间:
2019-11-08 21:24:39
阅读次数:
168
题目链接: "1127. 多边形面积(计算几何)" 题意 按逆时针顺序给出 $n$ 个点的坐标,求这些点围成的多边形的面积。 思路 选择多边形上的一个点,然后每次枚举之后的两个点,计算叉积,注意要保留符号,对所有的叉积的结果相加就是多边形的面积。 举个栗子: 计算上图多边形 $ABCDEFGH$ 的 ...
分类:
其他好文 时间:
2019-10-16 23:39:37
阅读次数:
170
Problem 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面)。如果共面,输出"Yes",否则输出"No"。 Solution 叉积。。。 Code include include include include include include d ...
分类:
其他好文 时间:
2019-10-12 23:04:35
阅读次数:
108