OPENGL NEHE Lesson11 11课的计算公式推导

计算多边形公式推导:

条件x 离散的值从0到45; y离散的值从0到45; z是符合正弦波。

问题:

1 要求x’=f(x)映射到 x’ ∈[-4.5, 4.5], x ∈{0, 1, 2, …, 45}

2 要求y’= f(y) 映射到y’ ∈[-4.5, 4.5], y ∈{0, 1, 2, …, 45}

3 求出z的正弦波函数

解:

1 f(x) = kx + b => f(0) = -4.5 And f(45) = 4.5 联合求解 k = 1/5, b = -4.5

所以 x’=f(x)=x/5 – 4.5

这就是NEHE Lesson11中求解x用的方程式

2 f(y)同上

3 关于z首先清楚使z成为正弦波的另外一个参数是x还是y. 我们是一个在xoy平面的图像形成正弦波是是z变换形成正弦波,他是依赖x的。

通过上面的求解知道x’ ∈[-4.5, 4.5], 正弦波应该是z = sin(x) x∈[0, 2π] 那么需要将x’ ∈[-4.5, 4.5]映射到x’∈[0, 2π],这是一个简单的映射关系可以先映射到[-π, π]在影射到[0, 2π]。那就是先π*x/4.5 +π就映射到了[0,2π]

这样 z = f(x’)=sin(π*x’/4.5 +π) x’ ∈[-4.5, 4.5]

根据上面求出的结论 x’=f(x)=x/5 – 4.5 带入上面的方程式

z = sin(π*(x/5 – 4.5)/4.5 +π) = sin((x/(5*4.5)) * π) = sin((2x/45) *π)

我们再来看看NEHE Lesson11中求解z用的方程式

Z = sin((((x/5.0f)*40.0f)/360.0f)*3.141592654*2.0f)) = sin((x/5.0) * (40/360) *π*2) = sin((x/5)*(2/9)* π)=sin((2x/45)* π)

看这个方程式最后化简后和上面的一样。

 

以上就是NEHE Lesson11 11课的推导方法。

posted @ 2014-04-17 14:07  星语海蓝  Views(208)  Comments(0Edit  收藏  举报