• 计算几何


    逆时针转90度 (-y,x);

    关于精度误差

    判断(a,b)相等 (fabs(a-b)<eps)

    判断(a,b)不相等 (fabs(a-b)>eps)

    判断(:::a<b:a+eps<b)

    判断:(aleq b:a<b+eps)


    点积

    (acdot b=|a||b|cos heta)

    就等于(a)的模长乘上(b)(a)上投影的长度

    满足分配律,交换律 ((a+b)cdot c=acdot c+bcdot c)

    假如(a(x_1,y_1),b(x_2,y_2)) 那么(acdot b=x_1x_2+y_1y_2)

    (aot b Leftrightarrow acdot b=0)

    夹角小于90度点积大于0

    夹角大于90度点积小于0


    叉积

    (a imes b=|a||b|sin heta)

    (a,b)为向量,( heta)(a)旋转到(b)的夹角

    (b)(a)左边为正,右边为负

    表示的是(ab)围成的平行四边形的面积

    (a imes b=b imes -a)

    满足分配律

    假如(a(x_1,y_1),b(x_2,y_2)) 那么(a imes b=x_1y_2-x_2y_1)

    可以用叉积判断两个向量的左右关系,判断平行

    可以用来求三角形面积

    甚至可以求点到直线的距离!!


    向量旋转

    (a)旋转( heta)

    先把(a)缩放到1,设原角为(alpha)

    然后(a')就是((cos(alpha+ heta),sin(alpha+ heta)))

    就是((xcos heta-ysin heta,xsin heta+ycos heta))


    直线交点

    [O=A+(B-A) imesfrac{S_{ACD}}{S_{ACD}+S_{BCD}} ]

    特判是否平行


    多边形面积

    对于一个多边形定点按逆时针排序

    [s=frac 1 2 (P_n imes P_1+sum_{i=1}^{n-1}P_i imes P_{i+1}) ]


    圆的交点

    1547776934621

    用余弦定理(^{[1]}) 算出( heta)然后把(D)转过去就行了

    余弦定理表达式

    三角形

    img


    两圆公切线


    皮克定理

    2S=2a+b-2,其中a表示多边形内部的点数,b表示多边形边界上的点数,S表示多边形的面积。


    凸包

    能包围住所有点的最小的凸多边形

    Andrew

    把所有点按横坐标第一关键字,纵坐标第二关键字排序

    第一个点肯定在凸包上,用栈维护下凸包

    然后倒过来枚举,求上凸包

  • 相关阅读:
    [转]IUnkown生命周期管理
    [转] com 基本数据类型
    Centos 7 修改开机等待时间 Alex
    乌班图的安装常用命令 Alex
    Ubuntu切换root用户 Alex
    乌班图开启关闭防火墙 Alex
    Ubuntu远程root用户登录 Alex
    Centos 8 更改为阿里云源 Alex
    LVS调度之搭建NAT模型实现 Alex
    解决挂载mount: wrong fs type, bad option, bad superblock on Alex
  • 原文地址:https://www.cnblogs.com/ZUTTER/p/10289390.html
Copyright © 2020-2023  润新知