C#中得到多个物体重心位置的方法

这段代码展示了如何在C#中计算一组Vector3坐标数组的重心位置。通过遍历数组,找出每个维度的最小值和最大值,然后取平均值来确定重心坐标。
摘要由CSDN通过智能技术生成
    public Vector3 GetCenterOfGravity(Vector3[] vect3s)
    {
        Vector3 gravityCenter = new Vector3(0, 0, 0);

        float minx = vect3s[0].x;
        float maxx = vect3s[0].x;
        float miny = vect3s[0].y;
        float maxy = vect3s[0].y;
        float minz = vect3s[0].z;
        float maxz = vect3s[0].z;

        for (int i = 0; i < vect3s.Length; i++)
        {
            if (minx > vect3s[i].x)
            {
                minx = vect3s[i].x;
            }
            if (maxx < vect3s[i].x)
            {
                maxx = vect3s[i].x;
            }
            if (miny > vect3s[i].y)
            {
                miny = vect3s[i].y;
            }
            if (maxy < vect3s[i].y)
            {
                maxy = vect3s[i].y;
            }
            if (minz > vect3s[i].z)
            {
                minz = vect3s[i].z;
            }
            if (maxz < vect3s[i].z)
            {
                maxz = vect3s[i].z;
            }
        }
        return gravityCenter = new Vector3((minx + maxx) / 2, (miny + maxy) / 2, (minz + maxz) / 2);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值