三维空间中xoy平面上特定抛物线的正等测投影解析解的一种求法

背景

背景:为锻炼代同学,老师给了她一个反向工程微信“跳一跳”小游戏的任务,希望做一个一样的出来。跳一跳中,有方块,有小人,小人站在方块上。

这个游戏的玩法是,用手指按住手机屏幕,松开手指小人飞出。随着屏幕按压时间的增加,跳跃距离也会增加。

观察到游戏中的抛物线并不对称,猜测它是在三维空间建模投影到一个平面上的。看《交互式计算机图形学》(Edward Angel,交互式计算机图形学,电子工业出版社,2012.5,p141)中,正等测(正等测等价于等轴测)的例子和跳一跳游戏中方块(上图)很相似,猜测它使用的是三维空间正等测投影到二维平面上的投影。假设跳一跳的方块是由三维直角坐标系下的方块做正等测投影得到的,观察跳一跳方块中朝向我们的角,三个角都是120度,这和正等测的定义相符合。

矩阵与坐标变换

在计算机图形学中,三维的点用四维齐次坐标表示。点的投影,可以通过点左乘一个变换矩阵来实现。正等测的变换矩阵是:

将抛物线表示为参数方程形式。
x=t
y=t^2
z=0
该抛物线可看作齐次坐标下点(t,t^2,0,1),其中t为实数。
点乘以变换矩阵,得到变换后的点。
结果为:
x = 0.7071 t - 0.7071 t^2
y = 0
z = -0.4082 t - 0.4082 t^2

猜你喜欢

转载自www.cnblogs.com/gaoyb348/p/9074304.html