public void TRS() { for (int i = 0; i < count; i++) { float ax, ay, az; float bx, by, bz; float cx, cy, cz; ax = UnityEngine.Random.Range(-10F, 10F); ay = UnityEngine.Random.Range(-10F, 10F); az = UnityEngine.Random.Range(-10F, 10F); bx = UnityEngine.Random.Range(-10F, 10F); by = UnityEngine.Random.Range(-10F, 10F); bz = UnityEngine.Random.Range(-10F, 10F); cx = UnityEngine.Random.Range(-10F, 10F); cy = UnityEngine.Random.Range(-10F, 10F); cz = UnityEngine.Random.Range(-10F, 10F); Matrix4x4 value = Matrix4x4.TRS(new Vector3(ax, ay, az), Quaternion.Euler(new Vector3(bx, by, bz)), new Vector3(cx, cy, cz)); Matrix4x4d valued = Matrix4x4d.TRS(new Vector3d(ax, ay, az), Quaterniond.Euler(new Vector3d(bx, by, bz)), new Vector3d(cx, cy, cz)); Assert.True(Approximate(value, valued)); } }