Ejemplo n.º 1
0
    /*
     * public Matrix3D VratiMatrix3D()
     * {
     *      return new Matrix3D(
     *              matrica[0, 0], matrica[0, 1], matrica[0, 2], matrica[0, 3],
     *              matrica[1, 0], matrica[1, 1], matrica[1, 2], matrica[1, 3],
     *              matrica[2, 0], matrica[2, 1], matrica[2, 2], matrica[2, 3],
     *              matrica[3, 0], matrica[3, 1], matrica[3, 2], matrica[3, 3]);
     * }
     */
    public static Matrica4x4 PomnoziMatrice(Matrica4x4 m_lijeva, Matrica4x4 m_desna)
    {
        Matrica4x4 m_tmp = new Matrica4x4();

        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                m_tmp.matrica[i, j] = 0;
                for (int k = 0; k < 4; k++)
                {
                    m_tmp.matrica[i, j] += m_lijeva.matrica[i, k] * m_desna.matrica[k, j];
                }
            }
        }
        return(m_tmp);
    }
Ejemplo n.º 2
0
    public static Vector3D PomnoziVektorMatricom(Matrica4x4 m, Vector3D v)
    {
        double[] v_tmp = new double[4] {
            0, 0, 0, 0
        };
        double[] v_orig = new double[4] {
            v.X, v.Y, v.Z, 1
        };

        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                v_tmp[i] += m.matrica[i, j] * v_orig[j];
            }
        }

        return(new Vector3D(v_tmp[0], v_tmp[1], v_tmp[2]));
    }