zoukankan      html  css  js  c++  java
  • golang实现已知三角形三点坐标,求三角形面积

    代码如下:

    func GetTriangleAreaByVector(x vector.Vector3,y vector.Vector3,z vector.Vector3) float64 {
        //根据三角形三个点坐标求面积
        //先算三角形三个边的长度
        a := vector.GetDistance(x,y)
        b := vector.GetDistance(x,z)
        c := vector.GetDistance(y,z)
        s := (a + b + c) / 2
        area := math.Sqrt(s*(s-a)*(s-b)*(s - c))
        return area
    }

    //求两点间距离
    func GetDistance(a Vector3,b Vector3) float64{
    if a==b {
    return 0
    }else {
    return math.Sqrt(math.Pow(a.X - b.X, 2) + math.Pow(a.Y - b.Y, 2) + math.Pow(a.Z - b.Z, 2))
    }
    }

    type Vector3 struct {
    X float64 `json:"x"`
    Y float64 `json:"y"`
    Z float64 `json:"z"`
    }
     

    此函数的传入参数是三角形三个点的坐标。输出三角形面积

  • 相关阅读:
    杭电2042
    杭电2041
    杭电2040
    杭电2046
    SPOJ
    SPOJ
    SPOJ
    HDU
    HDU
    HDU
  • 原文地址:https://www.cnblogs.com/zheng123/p/9957064.html
Copyright © 2011-2022 走看看