题意:有n条线段,问有没有一条直线使得所有线段在这条直线上的投影至少有一个共同点。 思路:逆向思维,很明显这个问题可以转化为是否有一条直线穿过所有线段,若有,问题要求的直线与该直线垂直,并且公共点为垂足。 因此只需要枚举每两个端点形成的直线,判断是否和所有线段相交。证明,若存在一条与所有线段相交的直 ...
分类:
其他好文 时间:
2016-08-01 20:59:50
阅读次数:
178
这篇文章将介绍计算几何中一个基础而重要的工具——叉积。 在这之前,我们先要解决一些基本问题。 点、线段的代码表示 结合结构体或者类的知识,这里其实很好理解,但是在具体的编码过程中怎么写,这个根据个人有很大的灵活性。 比如对于点,就可以用如下的语句表达: struct point { double x ...
分类:
其他好文 时间:
2016-08-01 20:58:26
阅读次数:
297
今天开始学习计算几何,百度了两篇文章,与君共勉! 计算几何入门题推荐 计算几何基础知识 题意:有一个盒子,被n块木板分成n+1个区域,每个木板从左到右出现,并且不交叉。 有m个玩具(可以看成点)放在这个盒子里,问每个区域分别有多少个玩具。 思路:首先,用叉积判断玩具是否在木板的左边,再用二分找到符合 ...
分类:
其他好文 时间:
2016-08-01 17:33:59
阅读次数:
141
目的: 给出不共线的三个点A,B,C的坐标,推断A,B,C是顺时针给出的还是逆时针给出的? 利用矢量叉积推断是逆时针还是顺时针。 设矢量P = ( x1 , y1 ),Q = ( x2 , y2 ) ,则P,Q矢量叉积定义为 P × Q = x1 * y2 - x2 * y1,也就是 |P| * | ...
分类:
其他好文 时间:
2016-06-04 01:50:04
阅读次数:
213
原文地址:http://www.cnblogs.com/ch3656468/archive/2011/03/02/1969303.html 基本的叉积、点积和凸包等东西就不多说什么了,网上一搜一大堆,切一些题目基本熟悉了就差不多了。 一些基本的题目可以自己搜索,比如这个blog:http://blo ...
分类:
其他好文 时间:
2016-06-02 06:06:21
阅读次数:
259
我也算是刚入门计算几何吧,想写一篇入门的模板,让那些和我一样刚入门的人都能看懂就好。 首先要有一些理论知识,这可以百度,我就不多说了,通过百度,你要知道: ①叉积可以判断3个点共线,还可以判断2个点构成直线,第3个点在直线的左边还是右边。 ②判断两条线段相交要有2个条件,一个是矩形的什么定理(名字太 ...
分类:
其他好文 时间:
2016-05-24 14:59:09
阅读次数:
126
在微信中看到的,感觉挺不错,在这里贴一下
1、矢量减法
设二维矢量 P = (x1,y1) ,Q = (x2,y2)
则矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )
显然有性质 P - Q = - ( Q - P )
如不加说明,下面所有的点都看作矢量,两点的减法就是矢量相减;
2、矢量叉积
设矢量P = (x1,y1) ,Q = ...
分类:
编程语言 时间:
2016-05-21 11:46:20
阅读次数:
221
、矢量减法
设二维矢量 P = (x1,y1) ,Q = (x2,y2)
则矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )
显然有性质 P - Q = - ( Q - P )
如不加说明,下面所有的点都看作矢量,两点的减法就是矢量相减;
2、矢量叉积
设矢量P = (x1,y1) ,Q = (x2,y2)
则矢量叉积定义为: P × Q = x1*y2 ...
分类:
编程语言 时间:
2016-05-20 19:39:02
阅读次数:
336
Space Ant Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3967 Accepted: 2489 Description The most exciting space discovery occurred at the ...
分类:
其他好文 时间:
2016-05-19 23:09:13
阅读次数:
275