本文整理汇总了C#中Vector3D.Transform方法的典型用法代码示例。如果您正苦于以下问题:C# Vector3D.Transform方法的具体用法?C# Vector3D.Transform怎么用?C# Vector3D.Transform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector3D
的用法示例。
在下文中一共展示了Vector3D.Transform方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSpawnPositionCircleOutline
private Vector3D GetSpawnPositionCircleOutline()
{
var startPosition = EmitterData.StartPosition;
var onCircleOutline = new Vector3D(
startPosition.Start.X + Randomizer.Current.Get(-1.0f) * startPosition.End.X,
startPosition.Start.Y + Randomizer.Current.Get(-1.0f) * startPosition.End.Y, 0.0f);
onCircleOutline.Normalize();
var diameter = Math.Max(startPosition.Start.Length, startPosition.End.Length);
onCircleOutline *= diameter * 0.5f;
return (Rotation.Equals(Quaternion.Identity))
? Position + onCircleOutline : Position + onCircleOutline.Transform(Rotation);
}
示例2: GetSpawnPositionBox
protected Vector3D GetSpawnPositionBox()
{
var insideTheBox =
new Vector3D(
EmitterData.StartPosition.Start.X.Lerp(EmitterData.StartPosition.End.X,
Randomizer.Current.Get()),
EmitterData.StartPosition.Start.Y.Lerp(EmitterData.StartPosition.End.Y,
Randomizer.Current.Get()),
EmitterData.StartPosition.Start.Z.Lerp(EmitterData.StartPosition.End.Z,
Randomizer.Current.Get()));
return (Rotation.Equals(Quaternion.Identity))
? Position + insideTheBox : Position + insideTheBox.Transform(Rotation);
}