三维变换(PerspectiveTransform3D、CompositeTransform3D)

表示三维变换的公共基类是Transform3D,并派生出两个子类——PerspectiveTransform3D和CompositeTransform3D。

通常PerspectiveTransform3D与CompositeTransform3D会搭配使用。PerspectiveTransform3D主要负责视角的调整,通过Depth属性设置观察点与可视化对象的距离(即与Z轴原点的距离,取值必须大于0),OffestX属性和OffestY属性用于设定观察点的位置,参照点为X轴和Y轴的原点。

正是由于PerspectiveTransform3D对象的上述特征,一般将它用于容器元素(如Canvas、Grid等),然后再在子元素上应用CompositeTransform3D变换,产生三维场景的仿真效果。CompositeTransform3D的相关成员如下所示:

CenterX、CenterY、CenterZ : 设置变换中心点的坐标,取值为绝对位置,即实际的坐标值,而不是相对值

TranslateX、TranslateY、TranslateZ: 对象在各坐标方向上的平移量,与TranslateTransform变换相似,只是比TranslateTransform平移量多了一个Z轴的坐标值

RotationX、RotationY、RotationZ: 对象围绕各个坐标轴旋转的角度,方向为顺势针

ScaleX、ScaleY、ScaleZ: 对象在各个坐标轴上的缩放比例,与ScaleTransform相似

示例将模拟出一个正方体,由于从观察角度只看到正方体的三个面,因此示例中仅用到三个矩形,然后分别对这三个矩形应用三维变化,使其"组装"成一个正方体。

用于组成正方体的三个矩形都放在Canvas面板中,如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值