计算多边形公式推导:

条件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课的推导方法。

OPENGL NEHE Lesson11 11课的计算公式推导的更多相关文章

  1. 第11课 - enum, sizeof, typedef 分析

    第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...

  2. Js笔记-第11课

    // 第11课         作用域精解     运行期上下文,当函数执行时,会创建一个成为执行期上下文的内部对象.一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行期上下文都是独 ...

  3. NeHe OpenGL教程 第二十七课:影子

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. NeHe OpenGL教程 第二十一课:线的游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第十一课:飘动的旗帜

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. NeHe OpenGL教程 第二十课:蒙板

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. NeHe OpenGL教程 第十三课:图像字体

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. NeHe OpenGL教程 第八课:混合

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. NeHe OpenGL教程 第七课:光照和键盘

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. 【Python学习笔记】

    目录 语法 if语句 while循环 字符串常用操作 列表 只读列表元组 字典的使用 语法 if语句 示例 #!/usr/bin/env python user = 'jack' passwd = ' ...

  2. UVA 624 CD(DP + 01背包)

    CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music i ...

  3. npm之使用淘宝源

    暂时使用: npm --registry https://registry.npm.taobao.org i express 永久使用: npm conf set registry https://r ...

  4. MISRA-C++ 2008

  5. Protobuf学习 - 入门(转)

    从公司的项目源码中看到了这个东西,觉得挺好用的,写篇博客做下小总结.下面的操作以C++为编程语言,protoc的版本为libprotoc 3.2.0. 一.Protobuf? 1. 是什么?  Goo ...

  6. adb shell settings 控制安卓系统设置(转)

    Android4.2的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,查看其中的SettingsCmd.java文件,末尾有命令的帮助 ...

  7. url请求返回结果测试工具(CURL)

    官网:http://curl.haxx.se/download.html 具体用法用时百度 或  到时再补充

  8. Fiddler 中请求时间的显示列

    在Tool bar上面找到 Rules->CustomRules 在class Handlers{   里面添加 //----------------------------显示请求时间,显示毫 ...

  9. 微信小程序的POST和GET请求方式的header区别

    1.post请求: wx.request({ url: 'https://m.***.com/index.php/Home/Xiaoxxf/make_order', header: { "C ...

  10. js 动态增加行删除行

    <body> <table id="tableID" border="1" align="center" width=&q ...