OrthographicCamera 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示正交投影摄像机。
public ref class OrthographicCamera sealed : System::Windows::Media::Media3D::ProjectionCamera
public sealed class OrthographicCamera : System.Windows.Media.Media3D.ProjectionCamera
type OrthographicCamera = class
inherit ProjectionCamera
Public NotInheritable Class OrthographicCamera
Inherits ProjectionCamera
- 继承
-
OrthographicCamera
示例
以下示例演示如何创建 OrthographicCamera 和 切换相机投影。
//Toggle between camera projections.
public void ToggleCamera(object sender, EventArgs e)
{
if ((bool)CameraCheck.IsChecked == true)
{
OrthographicCamera myOCamera = new OrthographicCamera(new Point3D(0, 0, -3), new Vector3D(0, 0, 1), new Vector3D(0, 1, 0), 3);
myViewport.Camera = myOCamera;
}
if ((bool)CameraCheck.IsChecked != true)
{
PerspectiveCamera myPCamera = new PerspectiveCamera(new Point3D(0, 0, -3), new Vector3D(0, 0, 1), new Vector3D(0, 1, 0), 50);
myViewport.Camera = myPCamera;
}
}
'Toggle between camera projections.
Public Sub ToggleCamera(ByVal sender As Object, ByVal e As EventArgs)
If CBool(CameraCheck.IsChecked) = True Then
Dim myOCamera As New OrthographicCamera(New Point3D(0, 0, -3), New Vector3D(0, 0, 1), New Vector3D(0, 1, 0), 3)
myViewport.Camera = myOCamera
End If
If CBool(CameraCheck.IsChecked) <> True Then
Dim myPCamera As New PerspectiveCamera(New Point3D(0, 0, -3), New Vector3D(0, 0, 1), New Vector3D(0, 1, 0), 50)
myViewport.Camera = myPCamera
End If
End Sub
注解
此类指定三维模型到二维视觉图面的正交投影。 与 一样 PerspectiveCamera,它指定位置、查看方向和“向上”方向。 但是,与 PerspectiveCamera 不同的是,OrthographicCamera 描述了不包括透视收缩的投影。 换句话说, OrthographicCamera 描述一个查看框,其两侧是平行的,而不是两侧在场景地平线上的一个点相交的查看框。
下图显示了正交投影和透视投影相机投影之间的差异。
构造函数
OrthographicCamera() |
初始化 OrthographicCamera 类的新实例。 |
OrthographicCamera(Point3D, Vector3D, Vector3D, Double) |
使用指定的位置、投影方向、向上方向和宽度初始化 OrthographicCamera 类的新实例。 |
字段
WidthProperty |
标识 Width 依赖项属性。 |
属性
CanFreeze |
获取一个值,该值指示是否可将对象变为不可修改。 (继承自 Freezable) |
DependencyObjectType |
DependencyObjectType获取包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
FarPlaneDistance |
获取或设置一个值,该值指定到照相机远端剪裁平面的照相机的距离。 (继承自 ProjectionCamera) |
HasAnimatedProperties |
获取一个值,该值指示一个或多个 AnimationClock 对象是否与此对象的任何依赖项属性相关联。 (继承自 Animatable) |
IsFrozen |
获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
LookDirection |
获取或设置定义摄像机在世界坐标中的拍摄方向的 Vector3D。 (继承自 ProjectionCamera) |
NearPlaneDistance |
获取或设置一个值,该值指定到照相机近端剪裁平面的照相机的距离。 (继承自 ProjectionCamera) |
Position |
获取或设置以世界坐标表示的摄像机位置。 (继承自 ProjectionCamera) |
Transform |
获取或设置应用于摄像机的 Transform3D。 (继承自 Camera) |
UpDirection |
获取或设置定义摄像机向上方向的 Vector3D。 (继承自 ProjectionCamera) |
Width |
获取或设置摄像机取景框的宽度(单位为世界单位)。 |
方法
事件
Changed |
在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable) |
显式接口实现
IFormattable.ToString(String, IFormatProvider) |
使用指定格式对当前实例的值设置格式。 (继承自 Camera) |