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管线 ...
随机推荐
- 【C#】利用JMail发送邮件
有用到需要发送帐号激活邮件,利用Jmail去做蛮简单的,先记录下: 1.首先到Jmail官网下载对应的版本,解压后安装(Jmail 4.4 免费版). 2.到安装目录就可以找到jmail.dll文件, ...
- ab测试工具参数详解
-n 测试会话中所执行的请求个数,默认仅执行一个请求 -c 一次产生的请求个数,即同一时间发出多少个请求,默认为一次一个 -t 测试所进行的最大秒数,默认为无时间限制....其内部隐含值是[-n 50 ...
- linux下线程调试 ulimit core
在linux 下写线程程序的同学预计都遇到过找bug找到崩溃的情况.多线程情况下bug的追踪实在是不easy. 如今我来介绍一个好用的方法 ulimit core. 先简介一下ulimit是个什么(你 ...
- 简单分页查询(web基础学习笔记十三)
一.建立资源文件和工具类 1.1 .database.properties jdbc.driver_class=oracle.jdbc.driver.OracleDriver jdbc.connect ...
- 使用JSP实现输出(web基础学习笔记二)
Jsp:Java Server Page 服务器端的Java页面,动态网页技术 jsp注释 显式注释:这种注释客户端是允许看见的;<!--html注释--> 隐式注释:这种注释客户端是看不 ...
- ios 的 desciption
前段时间,终于将 ipa 文件打包完毕,上传appStore ,最后被打回,是因为 敏感的调用设备功能没有写描述. 有两种解决方式: A.直接修改 info.plist 文件 1.设置启动图标(CFB ...
- html-webpack-plugin插件 根据模板生成多页面
1.项目目录结构为: 2.webpack.config.js配置文件为: var htmlWebpackPlugin = require('html-webpack-plugin'); module. ...
- XMPP serverejabberd-14.12本地搭建
这里记录下我搭建ejabberd-14.12的过程. 首先下载:http://pan.baidu.com/s/1hqzjezq 这里我传到我的网盘一份, 大家也能够到官网下载http://xmpp. ...
- Linux下FTP命令的使用方法
FTP> ? 显示 ftp 命令说明.? 与 help 相同. 格式:? [command] 说明:[command]指定需要帮助的命令名称.如果没有指定 command,ftp 将显示全部命令 ...
- log4j 日志 配置 学习
1.用的flume-log4j avrosource的整合 2.学习如何指定类打印日志 #log4j.rootLogger=INFO,flume 这个是将全部的日志会打印出来 log4j.logge ...