加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang实现已知三角形三点坐标,求三角形面积

发布时间:2020-12-16 09:32:29 所属栏目:大数据 来源:网络整理
导读:代码如下: func GetTriangleAreaByVector(x vector.Vector3,y vector.Vector3,z vector.Vector3) float64 { // 根据三角形三个点坐标求面积 // 先算三角形三个边的长度 a := vector.GetDistance(x,y) b : = vector.GetDistance(x,z) c : = vector.GetDistan

代码如下:

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"`
}
?

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读