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课的推导方法。
OPENGL NEHE Lesson11 11课的计算公式推导的更多相关文章
- 第11课 - enum, sizeof, typedef 分析
第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...
- Js笔记-第11课
// 第11课 作用域精解 运行期上下文,当函数执行时,会创建一个成为执行期上下文的内部对象.一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行期上下文都是独 ...
- NeHe OpenGL教程 第二十七课:影子
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第二十一课:线的游戏
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第十一课:飘动的旗帜
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第二十课:蒙板
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第十三课:图像字体
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第八课:混合
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第七课:光照和键盘
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
随机推荐
- ZOJ 3587 扩展KMP
思路:这题确实大帝做得非常机智!字符串先求最长前缀,反的字符串再求一次最长前缀.然后就能够搞了. 每一个子串出现的次数就是最长前缀的次数嘛! #pragma comment(linker, " ...
- URL参数转换对象
var parseQueryString = function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/, reg_para = /([^&=]+ ...
- PHP高级教程-多维数组
PHP 多维数组 一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组.依照这种方式,我们可以创建二维或者三维数组: 实例 <?php // 二维数组: $cars = array ( ...
- Oracle系统工具包(学习笔记)
Dbms_Output包 No. 子程序名称 描述 1 enable 打开缓冲区,当用户使用 “SET SERVEROUTPUT ON”命令时,自动调用此语句 2 disable 关闭缓冲区,当用户使 ...
- Spring AOP深入理解之拦截器调用
Spring AOP深入理解之拦截器调用 Spring AOP代理对象生成回想 上一篇博客中:深入理解Spring AOP之二代理对象生成介绍了Spring代理对象是怎样生成的,当中重点介绍了JDK动 ...
- Element学习
生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype.html.head.body 以及 meta 等内容.你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档 ...
- table布局 防止table变形 td固定宽度
防止table变形 td固定宽度 具体设置如下代码: <!doctype html> <html lang="en"> <head> <m ...
- springboot EnableAutoConfiguration
http://blog.javachen.com/2016/02/19/spring-boot-auto-configuration.html 自动配置 在启动类上使用@EnableAutoConfi ...
- js-知识集锦
CreateTime--2016年9月22日14:37:51Author:Marydonjs小知识点集锦1. JSON.stringify(Obj);//将Object对象转换成json格式的st ...
- exception http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed w ...