在2D图形上进行缩放操作,输出序列的大小不能与输入相同

时间:2011-08-21 19:49:32

标签: java graph

我正在寻找一个开源软件包(最好是Java,但R或其他语言也可以),提供这两个函数

1)指向output_seq [] SCALE(指向input_seq [],双倍因子)

换句话说,给出一系列双精度(x1,y1),(x2,y2)...作为表示图形的输入(每个点通过直线连接到下一个点)并且缩放因子是给出。然后它返回与输出类似的序列。问题在于输出序列可能具有比输入更少或更多的元素。例如,如果我请求放大倍数为2.012,则输出序列的元素数可能是输入的两倍。缩放因子应该是double,而不是整数。 最后,将输出序列作为点(双精度)返回是很重要的,我对屏幕上的实际绘图几乎没有兴趣,除了证明它做对了。

2)指向output_seq [] ROTATE(指向input_seq [],双角度)

与上面相同,除了没有缩放而只是旋转之外,角度从0到359.9999并以弧度给出。 输出的大小始终与输入的大小相同。 同样重点是将输出序列设为双倍,而不是在屏幕上的实际绘图上。

如果您知道我应该使用的正确术语,请告诉我。 非常感谢你。

1 个答案:

答案 0 :(得分:1)

在Java中,Path2D适用于2D浮点坐标。 lineTo()方法将直线添加到路径中。由于Path2D实现了Shape界面,因此可以通过createTransformedShape()进行旋转和缩放。使用PathIterator进行插值的一种方法显示为here