ACM常用几何基本数学公式
1. 海伦公式求面积
公式描述:公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。
2. 矢量向量求面积
3. 点到直线的距离公式
方法一:距离公式直接求
公式描述:公式中的直线方程为Ax+By+C=0,点P的坐标为(x0,y0)。但是直线方程不是够直接。推荐使用方法二。
方法二:先用海伦公式求面积然后求三角形高
4. 点到线段的距离公式[或:点到线段最近的点]
有以下四种情况:
- 点在线段上,距离为0;
- 线段是一个点,用两点公式求;
- 三点构成直角三角形或者钝角三角形,那么直角或者钝角即为点到线段最近的点;
- 三点构成锐角三角形,那么距离为三角形的高,点到线段最近的点。
以下是具体代码, 代码已经在 51 Nod 1298 圆与三角形 测试过了。
#include <cmath>
#include <queue>
#include <vector>
#include <cstdio>
#include <string>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
//#pragma comment(linker, "/STACK:1024000000,1024000000")
#define FIN freopen("input.txt","r",stdin)
#define FOUT freopen("output.txt","w",stdout)
#define fst first
#define snd second
typedef __i