今天看计算机图形学,看到纹理贴图部分,其中涉及到了坐标映射公式的推导,
手算了一下,麻烦,尝试用Matlab推导,卡在solve函数在处理自定义函数的问题上了,折腾两个小时,结果终于出来了:
.m代码如下;
syms a1 b1 a4 b4 f g k k1
lerp=inline('a*(1-c)+b*c','a','b','c');
k1=lerp(a1,b1,g)/lerp(a4,b4,g)-lerp(a1/a4,b1/b4,f);
solve(k1,g)
输出:
ans =
(a4*f)/(b4 + a4*f - b4*f)
进一步处理得到书本中的公式:
g=f/lerp(b4/a4,1,f)