DOC-08-02 变换类型和样例

本章将描述特定的变换并提供了代码样例。

平移

平移变换是将一个节点沿着某条坐标轴从一个初始位置移动到另一个位置。木琴琴键的初始位置是由x、y和z轴坐标来定义的。在例2-1中,初始位置是由xStart、yPos和zPos变量来定义的。其他一些变量用来简化应用不同变换时的计算。木琴的每一个琴键的位置都是基于其中一个基准琴键。样例沿着三个坐标轴上采用不同的位移来移动这些基准琴键来将它们放置到空间中正确的位置。

例2-1展示了样例中平移变换的代码片段。

例2-1 平移变换

旋转

旋转变换是围绕scene中的一个特定轴心点移动节点。你可以使用Transform类中的rotate方法来实现旋转。

在样例程序中为了实现围绕Xylophone应用程序旋转镜头,我们使用了旋转变换,然而在技术上,其实是当鼠标旋转镜头时xylophone自己在移动。

例2-2展示了旋转变换的代码。

例2-2 旋转变换

请注意轴心点和角度决定了图像移动的目标点。在指定轴心点时你需要仔细地计算值,否则图像可能会出现在你不期望出现的地方。要了解更多的信息,请查看API文档。

缩放

缩放变换使节点根据缩放因子来变大或者变小。缩放变换通过将节点在其每个坐标轴方向上的尺寸乘上缩放因子来改变节点。和旋转变换类似,缩放变换也基于一个轴心点。这个轴心点被认为是缩放发生的点。

要实现缩放变换,使用Scale类以及Transform类的scale()方法。

在Xylophone应用程序中,你可以通过按下Alt键和鼠标右键来缩放木琴。缩放变换是用来查看缩放比例。

例2-3展示了缩放变换的代码。

例2-3 缩放变换

错切

错切变换是旋转一个坐标轴,这样x和y轴就不再垂直。节点的坐标根据指定的乘数来变化。

要实现错切变换,使用Shear类和Transform类的shear()方法。

在Xylophone应用程序中,你可以在按住Shift键的同时,按下鼠标左键并拖动鼠标来使木琴发生错切变换。

图2-1 错切变换

08_02_01 shear2

例2-4展示了错切变换的代码片段。

例2-4 错切变换

多重变换

你可以通过指定一个有序的变换链来构建一个多重变换。例如,你可以先缩放一个对象,然后对其应用一个错切变换,或者你可以平移其位置然后缩放之。

例2-5展示了将多重变换应用到一个对象上来创建木琴的琴键。

例2-5 多重变换

应用程序文件

源代码

Xylophone.java

NetBeans 工程文件

transformation.zip

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2015/08/transformation-type/
百度已收录