public AffineTransform3(Vec3 translation) { Transform = Mat3.identity; Translation = translation; }
public AffineTransform3(Quat orientation, Vec3 scale, Vec3 translation) { Transform = Mat3.FromQuaternion(orientation) * scale; Translation = translation; }
public Vec3 Transform(Mat3 matrix) { return((matrix.x * x) + (matrix.y * y) + (matrix.z * z)); }
public AffineTransform3(Mat3 transform, Vec3 translation) { Transform = transform; Translation = translation; }
public static void FromScale(Vec3 scale, out Mat3 result) { result.x = new Vec3(scale.x, 0, 0); result.y = new Vec3(0, scale.y, 0); result.z = new Vec3(0, 0, scale.z); }
public static void FromScale(float scale, out Mat3 result) { result.x = new Vec3(scale, 0, 0); result.y = new Vec3(0, scale, 0); result.z = new Vec3(0, 0, scale); }
public static Quat FromCrossPreNormalized(Vec3 forward, Vec3 up) { Mat3 mat = Mat3.FromCrossPreNormalized(forward, up); return(FromMatrix3(mat)); }
public Line3 Transform(Mat3 matrix) { return(new Line3(point1.Transform(matrix), point2.Transform(matrix))); }
public static Mat4 FromRigidTransform(RigidTransform3 transform) { return(Mat4.FromAffineTransform(Mat3.FromQuaternion(transform.rotation), transform.position)); }