zoukankan      html  css  js  c++  java
  • 计算三角形面积

    1. 海伦公式

    s=sqrt(p*(p-a)*(p-b)*(p-c))   其中a, b, c分别为三角形三边长, p为半周长;

    代码:

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <math.h>
     4 #define distance(a, b) sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))
     5 using namespace std;
     6 
     7 const double res=1e-6;
     8 struct node{
     9     double x, y;
    10 };
    11 
    12 double get_area(node a, node b, node c){//海伦公式计算三角形面积
    13     double ab=distance(a, b);
    14     double ac=distance(a, c);
    15     double bc=distance(b, c);
    16     double s=(ab+ac+bc)/2;
    17     double area=sqrt(s*(s-ab)*(s-ac)*(s-bc));
    18     return area;
    19 }
    View Code

    2. 用行列式计算三角形面积:

    三角形面积等于三个定点构成行列式绝对值/2

          x1 y1 1

    s = x2 y2 1

          x3 y3 1

    area = fabs(s)/2

    代码:

    1 struct node{
    2     double x, y;
    3 };
    4 
    5 double get_area(node a, node b, node c){ //***用行列式计算三角形面积
    6     double area=fabs(a.x*b.y+a.y*c.x+b.x*c.y-a.x*c.y-a.y*b.x-b.y*c.x);
    7     return area;
    8 }
    View Code
  • 相关阅读:
    关于Android中的三级缓存
    Android中的自定义控件(二)
    Android中的自定义控件(一)
    安卓四大组件之内容提供者
    实施面试题
    实施相关资料
    短路运算符
    第二章SQL映射文件
    第一章 初始MyBatis
    周测
  • 原文地址:https://www.cnblogs.com/geloutingyu/p/6601974.html
Copyright © 2011-2022 走看看