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

    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);
    }
展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值