我有一个函数,需要根据输出给出输入;
let w = [1/16,1/9];
function warp(x,y){
return [( x*2-1 ) * (1.0 + Math.pow( y*2-1, 2 ) * w[0]) * 0.5 + 0.5,
( y*2-1 ) * (1.0 + Math.pow( x*2-1, 2 ) * w[1]) * 0.5 + 0.5];
}
x和y始终在0.0到1.0之间
我自己尝试过,但是一半的人记得过去的数学课,这只会导致我得到简化为0 = 0的东西
上面的扭曲函数在着色器中使用,以创建类似CRT的失真。 我想将鼠标放在屏幕上的位置,然后计算出CRT原始渲染位置的位置。 不幸的是,我的数学技能没有达到我的js技能的极限。
答案 0 :(得分:3)
无法逆转此功能。而且,这是两个变量的函数,您无法获得两个变量的唯一解。
请注意,此函数看起来是单调的,其等值线形成椭圆,函数类似于椭圆抛物面
因此您可以: