本文整理汇总了C#中Matrix4x4.Transform方法的典型用法代码示例。如果您正苦于以下问题:C# Matrix4x4.Transform方法的具体用法?C# Matrix4x4.Transform怎么用?C# Matrix4x4.Transform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Matrix4x4
的用法示例。
在下文中一共展示了Matrix4x4.Transform方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Transform
public void Transform(Matrix4x4 transform)
{
Matrix4x4 normalTransform = transform.Inverse().Transpose();
// transform and add the child vertices to the parent vertices list
for (int a = 0; a < verts.Length; a++) {
verts[a].pos = transform.Transform(verts[a].pos);
verts[a].normal = transform.Transform(verts[a].normal);
}
}
示例2: Transform
public Ray Transform(Matrix4x4 transform)
{
Vector3 end = transform.Transform(start + dir);
Vector3 st = transform.Transform(start);
return new Ray(st, st - end);
}
示例3: CalculateRadius
public void CalculateRadius(Matrix4x4 tr, Vector3 mid, ref float radius)
{
for (int v = 0; v < verts.Length; v++) {
float r = (tr.Transform(verts[v].pos) - mid).Length;
if (radius < r) radius = r;
}
}
示例4: Matrix4x4TransformTest
public void Matrix4x4TransformTest()
{
var a = new Matrix4x4(new float[] {
1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 1.0f, 0.0f, 4.0f,
0.0f, 0.0f, 1.0f, 6.0f,
0.0f, 0.0f, 0.0f, 1.0f});
var b = new Vector4(3,4,5,1);
var expectedResult = new Vector4(5, 8, 11, 1);
var r = a.Transform(b);
Assert.Equal<Vector4>(expectedResult, r);
}