算法学习笔记之计算几何--三角形,多边形与圆

这篇博客总结了计算几何中关于三角形、多边形和圆的基础知识,包括三角形的面积、点在图形内的判断、四心的概念及其坐标计算,多边形有向面积的求解,以及直线与圆、圆与圆的交点等问题,提供了相关算法和代码实现。
摘要由CSDN通过智能技术生成

Introduction

相比前两节这一节的内容较少设计到算法知识,不过多边形与圆是集合中十分基础的研究对象,ACM竞赛中也经常涉及,所以在这里将常见的相关知识总结一下。

三角形

三角形的面积

直接使用公式:

SABC=|12AB×AC|

// 三角形面积
double TriangleArea(Point a, Point b, Point c) {
    return Det(b - a, c - a) / 2.0;
}

判断点在三角形内

判断点 P 是否在三角形 ABC 内主要有两种方法:

  1. 用求凸包时运用过的叉积法
  2. 面积法

第一种不在赘述,只要顺次求一遍叉积看结果是否为同一符号即可。第二种的话若点 P 在三角形 ABC 内则有 SABC=SPAB+SPBC+SPCA

三角形的心

三角形的四心总结如下:

名称 定义 图示 备注
内心 三内角角平分线交点 三角形内切圆圆心
外心 三边垂直平分线交点 三角形外接圆圆心
垂心 三条高线交点
重心 三条中线交点 中线被重心以1:2的比例划分(靠近角的一端较长)

三角形的四心有一首打油诗:

内心全靠角平分,
外心中点垂线伸,
垂心垂直画三高,
形心角连线中心。

求重心

求重心坐标十分简单,即为三角形三顶点坐标的平均值。

设三角形三顶点为 A,B,C ,重心坐标公式为:

G=13(xi,yi)

// 三角形重心
Point Centroid(Point a, Point b, Point) {
    return (a + b + c) / 3.0;
}

求内心

求内心稍为麻烦。先来引入一个引理:

引理:

E为AB上一点,F为AC上一点,若AE:EB=m:l,AF:FC=n:l,则BF与CE的交点I的坐标为 (l

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值