如何在 Graphics2D 上下文中对 Path2D 对象上的矩形进行动画处理

2024-01-30

我刚刚开始学习 Graphics2D 类的基础知识,到目前为止我能够绘制不同的对象和工具ActionListener实际上在屏幕上移动它们onKeyPress。到目前为止一切顺利,虽然我想做一些更复杂的事情。我想给一个path到我的对象并仅在该特定路径上为其设置动画。

比如,我会在天空上画一条线,飞机应该沿着这条线飞行,并保持在这条特定的线上飞行。现在可以吗?

我不需要任何类型的代码,但是很少有不同的方法或想法可以让我开始处理这个问题。我的想法的可视化阐述如下。

起点 :

终点:

现在如上所示,我的黄色框(在未来的平面中)应该在动画时坚持给定的路径(路径灰线)

到目前为止我的研究,

我搜索了我的流行词,例如 java 中的路径,发现Path2D and GeneralPath类,有谁知道我是否可以用它来解决这个问题。

Thanks


Great !

这让我想起了我踏入 IT 行业的第一步。我多么喜欢这些简单的数学知识,但它们却能让事情在屏幕上移动。 :)

您需要的实际上是线性插值。还有其他类型的插值,一些 api 为这个概念提供了很好的封装,但这里是主要思想,你经常需要这些东西:

你必须重写你的路径

y = f (x ) 

作为时间的函数:

在时间 0 时,项目将位于开始位置,在时间 1 时,项目将到达结束位置。然后根据需要增加时间 (t)(例如每毫秒 0.001)。

这是简单线性路径的公式:

x = xstart + (xend-xstart) * t
y = ystart + (yend-ystart) * t

当 t 变化时,物体只会沿着路径线性移动,线性速度在所有路径上都是恒定的。例如,您可以想象末端存在某种重力吸引力,这将通过二次加速度(t^2 而不是 t)来建模......

问候, 史蒂芬

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Graphics2D 上下文中对 Path2D 对象上的矩形进行动画处理 的相关文章

随机推荐