归一化向量 [英] Denormalize vector
本文介绍了归一化向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在标准化之前对已标准化的向量进行标准化以获取原始值?
How can I denormalize a vector that has been normalized to get the original values prior to normalizing?
例如:
vec = [-0.5, -1.0, 0.0]
vec_length = sqrt(vec.x^2 + vec.y^2 + vec.z^2)
vec_normalized = [vec.x/vec_length, vec.y/vec_length, vec.z/vec_length]
产量:
vec_length = 1.11803
vec_normalized = [-0.447214,-0.894427,0]
如何从归一化向量[-0.447214,-0.894427,0]中获取原始向量[-0.5,-1.0,0.0]?
How can I get the original vector [-0.5, -1.0, 0.0] from the normalized vector [-0.447214,-0.894427,0]?
谢谢!
推荐答案
您不能.
有无数个归一化形式为[-0.447214, -0.894427, 0]
的向量.
如果您希望使用更细"的表格,则可以尝试将其按比例放大到任意数字,例如:
If you want a "nicer" form, you can try up-scaling to an arbitrary number, random example:
我希望x
成为-3
:
scale = -3 / vec_normalized.x;
vec2 = [vec_normalized.x * scale, vec_normalized.y * scale, vec_normalized.z * scale];
结果:
scale = 6.70819787
vec2 = [-3, -6, 0]
但是请注意不要选择0
的组件,因为这样会产生scale = infinity
.
But be careful not to choose a component which is 0
, because that would yield scale = infinity
.
这篇关于归一化向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文