三角形的面积

著名的海伦公式,利用三角形的三条边进行三角形面积求解问题

struct Point{

  int x;

  int y;

//int z; 如果是空间中的点

};

double count_triangle_area(Point a, Point b, Point c) {
    double area = -1;
    double side[3];   side[0] = sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2));
    side[1] = sqrt(pow(a.x - z.x, 2) + pow(a.y - z.y, 2));
    side[2] = sqrt(pow(b.x - z.x, 2) + pow(b.y - z.y, 2));   //side[0] = sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2) + pow(a.z - b.z, 2));  //side[1] = sqrt(pow(a.x - c.x, 2) + pow(a.y - c.y, 2) + pow(a.z - c.z, 2));  //side[2] = sqrt(pow(c.x - b.x, 2) + pow(c.y - b.y, 2) + pow(c.z - b.z, 2)); 
   if (side[0] + side[1] <= side[2] || side[0] + side[2] <= side[1] || side[1] + side[2] <= side[0])         return area;   double p = (side[0] + side[1] + side[2]) / 2;   area = sqrt(p*(p - side[0])*(p - side[1])*(p - side[2]));   return area; }
时间: 2024-08-01 19:29:02

三角形的面积的相关文章

求三角形的面积

1.数学知识 求三角形的面积 三边的边长分别为:a, b, c; 公式:s = (a + b + c) / 2; area = √s * ( s - a) * (s - b) * (s -c); 2.源代码 #include<iostream> #include<cmath> using namespace std; bool TriangleArea(double a, double b, double c, double &area) { if(a + b <=

利用向量积(叉积)计算三角形的面积和多边形的面积

利用向量积(叉积)计算三角形的面积和多边形的面积: 向量的数量积和向量积: (1)  向量的数量积   (1)  向量的向量积 两个向量a和b的叉积(向量积)可以被定义为: 在这里θ表示两向量之间的角夹角(0° ≤ θ ≤ 180°),它位于这两个矢量 所定义的平面上. 向量积的模(长度)可以解释成以a和b为邻边的平行四边形的面积.求三角形ABC的面积,根据向量积的意义,得到: a=axi+ayj+azk; b=bxi+byj+bzk; a×b=(aybz-azby)i+(azbx-axbz)j

The Area of an Arbitrary Triangle-任意三角形的面积

The Area of an Arbitrary Triangle-任意三角形的面积,允许重复计算: //The Area of an Arbitrary Triangle-任意三角形的面积 #include<iostream> #include<cmath> using namespace std; bool IsTriangle(double a,double b,double c); void areafun(double a,double b,double c,double

书写一个程序,可以根据用户的选择,分别运算圆形、长方形、三角形的面积

#include <stdio.h> #define PI 3.14 void main(){ int num; printf("请选择您要执行的操作:1.计算圆形面积2.长方形面积3.三角形面积\n"); scanf("%d",&num); switch (num) { case 1: { double r,area; printf("请输入圆形的半径:\n"); scanf("%lf",&r);

计算圆形、矩形、三角形的面积

class Progarm { static void Main(string[] argm) { Console.WriteLine("选择以下图形(输入图形序列号)"); Console.WriteLine("1.圆形,2.矩形,3.三角形); string str = Console.ReadLine(); switch(str) { case "1": Console.WriteLine("请录入圆的半径:"); int  r

zoj 1806 This Takes the Cake 计算凸四边形和三角形的面积

题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=806 题意: 凸四边形上 有8个点, 4个顶点 , 和 每2个顶点的中点.经过这8个点的每一条线段,将四边形分成2份, 求这两份面积最近的面积. 分析:  枚举, 每条线段, 计算 一边面积 S(较小), 另一边 面积 s1 = sum - S  ,   找使 S / S1 最大的 面积, 即可. 代码如下: double add(double a, double

经典封装之计算三角形的面积

<!doctype html> <html> <head> <meta charset="utf-8"> <title>计算三角形的面积</title> <script> //创建一个计算三角形 function test(){ var h,d,s; h=5; d=8; s=h*d/2; alert(s); } test(); //活数据 function mj(h,j){ var s; s=h*j/2

【转载】利用向量积(叉积)计算三角形的面积和多边形的面积

向量的数量积和向量积: (1)  向量的数量积   (1)  向量的向量积 两个向量a和b的叉积(向量积)可以被定义为: 在这里θ表示两向量之间的角夹角(0° ≤ θ ≤ 180°),它位于这两个矢量 所定义的平面上. 向量积的模(长度)可以解释成以a和b为邻边的平行四边形的面积.求三角形ABC的面积,根据向量积的意义,得到: a=axi+ayj+azk; b=bxi+byj+bzk; a×b=(aybz-azby)i+(azbx-axbz)j+(axby-aybx)k,为了帮助记忆,利用三阶行

1022: 求三角形的面积

1022: 求三角形的面积 时间限制:1秒 内存限制:128MB 提交:109 正确:94 题目描述 给出三角形的三条边,求三角形的面积. 输入 输入三角形的三条边长(实数),数据之间用空格隔开. 输出 输出三角形的面积,结果保留2位小数. 样例输入 Copy Sample Input 2.5 4 5 样例输出 Copy Sample Output 4.95 提示 输入的三条边确保能组成三角形,用海伦公式或其他方法均可. 题解 #include<stdio.h> #include<mat

1005. 三角形最大面积

1005. 三角形最大面积 中文English 平面上有一系列点.返回由其中三个点可以形成的三角形最大面积. 样例 样例: 输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 输出: 2 解释: 这五个点如图所示,红色三角形面积最大. 注意事项 3 <= points.length <= 50.点不会重复.-50 <= points[i][j] <= 50.结果误差在10^(-6)以内可以被认为是正确的. 输入测试数据 (每行一个参数)如何理解