ACM计算几何

Wesley13
• 阅读 716

本文出自:http://blog.csdn.net/svitter

北大ACM计算几何:线与线求交,线与面求交,求凸包,半平面求交等

Computational Geometry

计算几何

ACM中基本是最麻烦的部分。
    几何代码都要自己写,STL中也没有。基本上。
    struct point
    数乘,差乘,计算几何题目抄。一个数字由于误差积累造成大。
    避免误差。
    注意:
        a=b <=> |a-b| < e
        a<b <=> a-b < -e
        a<=b <=> a-b < e
        e 多10^-8
        四舍六入五差 +- e
        精度问题。(流行技巧)
        !!慎用

    矢量(向量)
        主要就是向量。(不用平面几何)
        点积
        夹角
        a.b反映的是投影。
        垂直
        正交的东西。缩放(单位长度)
        投影长度如何算?投影模。
        矢量的对称,入射出射光。
        计算几何和解析几何不同。

   二维叉积。叉积在二维空间里是一个数字。
        三维空间中是一个向量。
        叉积满足逆交换律。axb = -bxa
        !!计算几何中最常用的概念。
        叉积可以算面积。
        绝对值的叉积很少用,一般都是基于叉积的。
        格林公式?
        边缘积分也是这个。
        axb的正负。??
        a.b可以求出a在b的前面还是后面。(矢量的前后)
        axb可以求出左右。

        将矢量看成列矢量。
        重新理解坐标(a,b) = a * (1, 0) + b*(0,1);
        矩阵的逆制。
        cmath中-Pi, Pi

    点和向量非常不同。
        不要写两个结构。
        点可以假设成从(0,0)出发的向量。
        利用矢量表示。
        !!一个点和一个方向向量表示直线!!
        视实际情况而定。

    直线相交
            如果两条直线平行则不想交
            点击=0是垂直。
            重合即平行加点相同。
            !!排除部分情况。
            
    简单多边形的三角化
            三角剖分
            既有正部分,也有负部分。

   求质点组的重心
            (a+b+c)/3
            把三角形转换成为质点 

    凸集
            !!大胆猜想,不用求证。
        
    水平序Grahan扫描算法
        不容易出错。

    旋转卡壳算法
        如何计算n个点中,距离最大的两个点的距离?
        对種点,是一个二元关系。

    半平面,一办平面。
        高维度空间可以被n-1维空间切开。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
隐私集合求交(PSI)协议研究综述
隐私集合求交(PSI)是安全多方计算(MPC)中的一种密码学技术,它允许参与计算的双方,在不获取对方额外信息(除交集外的其它信息)的基础上,计算出双方数据的交集。隐私集合求交在数据共享,广告转化率,联系人发现等领域有着广泛的应用空间。本文对隐私集合求交的各项实现技术做了介绍和对比,对隐私集合求交的原理进行了分析,并进一步阐述了隐私集合求交目前面临的挑战和发展前景。
Wesley13 Wesley13
3年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Wesley13 Wesley13
3年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Easter79 Easter79
3年前
Swift项目兼容Objective
!456.jpg(http://static.oschina.net/uploads/img/201509/13172704_1KcG.jpg"1433497731426906.jpg")本文是投稿文章,作者:一叶(博客(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2F00red
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这