计算几何
文章平均质量分 72
曼切斯特的流氓
007
展开
-
线段交点(图解)
线段交点线段交点问题,通常给出4个点的坐标,求出交点坐标,我们通过交点构造出向量,利用向量的知识求解。图示从图中可以看到,4个端点p1,p2,p3,p4,交点x,以及向量p1p2、p1p3、p2p4、p3p4,以及通过p3到直线p1p2的距离h1,p4到p1p2的距离h2,以及通过向量p1p2、p1p3所围成的平行四边形。推导交点坐标1、先求出h1、h2的长度,进而求出h1比h2我们利用外积模的几何意义:|axb|=|a|x|b|sinθ=所围成平行四边形面积,在求出向量p1p2原创 2021-04-24 17:34:40 · 1964 阅读 · 0 评论 -
线段的逆时针方向(顺时针、正上方、正下方、线段上)、相交判断(图解)
#include <bits/stdc++.h>using namespace std;class Point{public: double x,y; Point(double x=0,double y=0):x(x),y(y) {} //向量加法 Point operator+(Point p) { return Point(x+p.x,y+p.y); } //向量减法 Point operato原创 2021-04-24 15:25:15 · 6980 阅读 · 0 评论 -
两点间距离、点到直线距离、点到线段距离、线段到线段距离
两点之间的距离直接运用两点间距离公式 (x2-x1)^ 2+(y2-y1)^ 2开根号//两点间距离double getDistancePP(Point a,Point b){//这个代码是部分代码,有些逻辑没有展现完全,大家往下看! Point c(b.x-a.x,b.y-a.y);//返回一个新的点 return c.abs();//取模}点到直线距离通常给出3个点,其中两个点构成一条直线,求另外一个点到直线的距离,我们将点与点的关系转换为向量之间关系进而利用向原创 2021-04-22 21:59:54 · 5908 阅读 · 1 评论 -
投影、映像(关于直线的对称点)
这个是向量的定义这个是内积、外积、平行、正交这章我们了解一下投影和映象。投影通常给出两条向量,两条向量从同一个点始发,也就是给出3个点,求出其中一个点向另外两个点构成向量的投影点坐标图示这是一个数学问题,首先|b|*cosθ=h通过内积公式a·b=|a|x|b|cosθ可以推出cosθ=a·b➗|a|x|b|带入|b|*cosθ=h 推出 h=a·b➗|a|我们可以得出 r=|a|比h的公式 r=|a|/h=a·b/|a|^2最后我们用向量a乘以r得出向量c最后再用向量a的起始原创 2021-04-21 21:48:16 · 701 阅读 · 0 评论 -
向量的外积、内积、正交、平行判断
内积内积又称:点积、点称、数量积定义:设向量a(ax,ay),向量b(bx,by)之间的夹角为θ,(0<=θ<=180)那么a、b的内积a·b=|a|x|b|cosθ=ax * bx+ay * by(横乘横,加上,纵乘纵)内积中间是点不是x号我们通过公式可以看出向量内积后得到的是一个数而非向量!代码实现内积(后面有完整代码)//向量内积double dot(Vector a,Vector b){ return a.x*b.x+a.y*b.y;}外积原创 2021-04-21 18:25:40 · 5538 阅读 · 0 评论 -
向量定义Vector
向量定义向量是一条有向线段,在平面坐标系中我们表示从原点出发的向量!一般定义一个Point类,包括横纵坐标(x,y)、Point初始化、重载运算符+,-向量尺缩:k*向量a, 重载操作符 *向量比较大小,两个向量是否相等!向量的模,向量的范数(模的平方)#include <bits/stdc++.h>using namespace std;class Point{public: double x,y; Point(double x=原创 2021-04-21 15:52:59 · 477 阅读 · 0 评论