已知三点计算三角形面积

1、#转化为通过三边计算三角形面积

 1 import math
 2 def cal_area(p1,p2,p3):
 9 a = float(math.sqrt((p2[0]-p3[0])*(p2[0]-p3[0])+(p2[1]-p3[1])*(p2[1]-p3[1])))
10 b = float(math.sqrt((p1[0]-p3[0])*(p1[0]-p3[0])+(p1[1]-p3[1])*(p1[1]-p3[1])))
11 c = float(math.sqrt((p1[0]-p2[0])*(p1[0]-p2[0])+(p1[1]-p2[1])*(p1[1]-p2[1])))
12 s = (a+b+c)/2
13 S = (s*(s-a)*(s-b)*(s-c))**0.5
14 return S

2、#通过三点直接求面积

1 def calc_area(p1, p2, p3):
2         (x1, y1), (x2, y2), (x3, y3) = p1,p2,p3
3         return 0.5 * abs(x2 * y3 + x1 * y2 + x3 * y1 - x3 * y2 - x2 * y1 - x1 * y3)

原文地址:https://www.cnblogs.com/lmh001/p/9859121.html

时间: 2024-08-19 11:08:03

已知三点计算三角形面积的相关文章

Scala实现:已知三点坐标,求最短距离(如果在垂足不在线段内,最短距离为到其中一点的直线距离)

/** * 已知三点坐标,求其中一点到另两点的垂线距离 * (如果在垂足不在线段内,最短距离为到其中一点的直线距离) * Created by wzq on 17-11-2. */object Point2lineDistance { def main(args: Array[String]) { val v: Double = pointToLine(-3, 0, 3, 0, 0, 3) System.out.println(v) } def pointToLine(x1: Int, y1:

计算三角形面积

double numberone, double numberTwo, double numberThree//三条边,注意两边之和大于第三编double doubleS = 0;            double doubleArea = 0;            doubleS = (numberone + numberTwo + numberThree) / 2;            doubleArea = Math.Sqrt(doubleS * (doubleS - number

已知三点求圆心与半径

已知三点求圆心与半径  [email protected] http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求圆心和圆半径的方法(当然三个点不能共线,共线的三个点不能构成圆). 原理:相互连接三个点,选取其中的任意两条直线,通过对这两条直线的中心做垂线,两条垂线的交点就是圆心,以此点为圆心,以此点到任意一点的距离为半径画圆. 三个点分别计为pt1, pt2, pt3:取直线p1p2和p1p3(也可以取其他直线

【TOJ 2034】C++实验:面积排序(已知三点,利用二阶行列式求三角形面积)

描述 给定三角形.矩形.圆等二维几何图形,请根据面积从大到小进行排序. 主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { vector<CShape*> vec; //为了使用多态,使用指针数组 string name; int num[3]= {}; //用于存储3种形状的ID while(cin>>name) { if(name=="rectangle") { CPoint p1, p2; cin>>p

*1034计算三角形面积

1 #include<cstdio> 2 using namespace std; 3 int main() 4 { 5 double x1,y1,x2,y2,x3,y3,s; 6 scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3); 7 s=(x1*y2+y1*x3+x2*y3-x1*y3-y1*x2-y2*x3)/2; 8 printf("%.2lf"

Java入门:基础算法之计算三角形面积

本部分介绍如何计算三角形面积. /** * @author: 理工云课堂 * @description: 程序计算三角形的面积.三角形的底和高由用户输入 */ import java.util.Scanner; class AreaTriangleDemo { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.println("Enter the width

Luogu-P1027 Car的旅行路线 已知三点确定矩形 + 最短路

传送门:https://www.luogu.org/problemnew/show/P1027 题意: 图中有n个城市,每个城市有4个机场在矩形的四个顶点上.一个城市间的机场可以通过高铁通达,不同城市间要通过飞机.现在问从s到t城市最少需要多少的费用. 思路: 已知矩形的三个顶点,可以用勾股定理确定斜边后,利用平行四边形原理——两对对角顶点的x之和是相同的,y之和也是相同的得到第四个顶点.然后用求最短路的dji即可. #include <algorithm> #include <iter

已知三点,求三角形面积

已经知道三角形三点A(X1,Y1) B(X2,Y2) C(X3,Y3) \[ \vec{AB} = (X2-X1,Y2-Y1) \] \[ \vec{AC} = (X3-X1,Y3-Y1) \] \[ ||n|| = \vec{AB} \times \vec{AC} = |\vec{AB}|\cdot|\vec{AB}|*Sin<\vec{AB},\vec{AC}> \] \[ 因为 |\vec{AB}|*Sin<\vec{AB},\vec{AC}> 为三角形的高 \] \[ 所以

已知三个点坐标,求由这三个点构成的多边形的最大面积。

给出A(x0, y0) B(x1, y1) C(x2, y2) 1.求3边a,b,c 2. 先求外接圆半径.(一定存在) 海伦公式 + 正弦定理   得  R = a * b * c / (4 * S)   S = sqrt(q * (q - a) * (q - b) * (q -c));  q = (a + b + c) / 2; -----因为是正多边形. 那么只要求出一边与两半径围成的面积 * N 就好. 3. 余弦定理 求3个角. 求最大公约数就是  正多边形 每一份   最小的角度.