我目前正在学习OpenGL中的照明,它利用GLSL中称为normalize的函数。根据OpenGL文档,它说它“计算两个向量的标准化产品”。但是,它仍不能解释“标准化”的含义。我试图寻找谷歌上的标准化产品,但我似乎无法找到任何有关它的信息。任何人都可以解释什么是标准化手段,并提供一些标准化值的例子吗?正常化一个值是什么意思?
32
A
回答
13
这是一个数学术语和this link解释很简单来说它的意义:
操作在2D和3D计算机图形通常使用已经正常化,即矢量的副本进行。转换为单位矢量...归一化矢量包括两个步骤:
- 计算其长度,然后,
- 鸿沟它的每一个(或
xy
xyz
)由它的长度分量...
39
我认为混淆来自于将“一种价值”正规化而不是“一种向量”的想法;如果你只是将一个数字看作一个值,那么规范化就没有任何意义。标准化仅适用于矢量时有用。
一个向量是一个数字序列;在3D图形中,它通常表示为v = <x,y,z>
的坐标。
每个矢量具有幅度或长度,其可以使用Pythagora定理中找到:|v| = sqrt(x^2 + y^2 + z^2)
这基本上是从原点<0,0,0>
一行由矢量表示的点的长度。
一个载体是正常如果它的长度是1.就是这样!
使一个向量标准化意味着改变它,使它指向相同的方向(从原点看那条线),但其长度为1。
我们使用法向量的主要原因是表示方向;例如,如果建模距离无限远的光源,则无法给出精确的坐标。但是,您可以通过使用法向矢量来指示从特定点开始找到它的位置。
相关问题
- 1. “值初始化”是什么意思?
- 2. 是什么意思:是什么意思?
- 3. 这个异常是什么意思?
- 4. 这个CSS值是什么意思?
- 5. 这个Xamarin Profiler值是什么意思?
- 6. “?”是什么意思?
- 7. $$ $$是什么意思?
- 8. 什么是“||”意思?
- 9. “\\。\”,“\ ?? \”,“\\?\”,“\\”是什么意思?
- 10. “=”是什么意思
- 11. &**是什么意思?
- 12. 是什么意思?
- 13. “_”是什么意思?
- 14. 什么是:!:意思?
- 15. || =是什么意思?
- 16. %%是什么意思?
- 17. =是什么意思?
- 18. %{}是什么意思?
- 19. + =是什么意思?
- 20. '#'是什么意思?
- 21. /([^.]*)\.(.*)/是什么意思?
- 22. %*是什么意思?
- 23. &@是什么意思?
- 24. MIPS异常它们是什么意思
- 25. COM异常80010108是什么意思?
- 26. 实例化特征是什么意思?
- 27. “物化”临时表是什么意思?
- 28. 什么是美化JSON的意思
- 29. Groovy,什么意思 - >意思是
- 30. “模糊不清”是什么意思?PATTERN是什么意思?
你是从哪里找到的?在glsl规范中有:normalize(genType x) - 返回与x相同方向的向量,但其长度为1. http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8 .pdf – fen 2012-07-25 07:11:34
在这里,我认为这是我搜索它时第一个出现的东西。 http://www.opengl.org/sdk/docs/manglsl/xhtml/normalize.xml – TheAmateurProgrammer 2012-07-25 07:14:49
奇怪......但描述有一个适当的信息。 – fen 2012-07-25 07:17:58