首页 > 代码库 > 三角形面积计算(海伦公式或叉积绝对值的一半)
三角形面积计算(海伦公式或叉积绝对值的一半)
#include <iostream>#include <cmath>using namespace std;struct Point{ float x; float y; Point(float a, float b) : x(a), y(b) { }};double Length(Point & A, Point & B){ return sqrt(pow(A.x - B.x, 2) + pow(A.y - B.y, 2));}double Area1(Point & A, Point & B, Point & C){ double a, b, c; a = Length(A, B); b = Length(B, C); c = Length(C, A); double p = (a + b + c) / 2; return sqrt((p - a) * (p - b) * (p - c) * p);//海伦公式计算三角形面积}double CrossProduct(Point & v1, Point & v2){ return v1.x * v2.y - v1.y * v2.x;}int main(){ Point A(10, 2); Point B(3, 4); Point C(5, 7); Point v1(B.x - A.x, B.y - A.y); //向量AB Point v2(C.x - A.x, C.y - A.y); //向量AC cout << CrossProduct(v1, v2) << endl; cout << Area1(A, B, C) << endl; return 0;}
三角形面积计算(海伦公式或叉积绝对值的一半)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。