What does the first interpolation do in this case? The second and third ones interpolate to give an averaged x value and an averaged y value, but does the first interpolation just give distance from the sample to each point?

briana-jin-zhang

I think you are misunderstanding something. You assume you know s and t since you should know what point you're trying to sample for.

Interpolation is first defined in 1d, which is what i'm assuming you're saying is the "first interpolation". It's basically a weighted average. In this case, the closer you are to a point, the more weight it has.

For example, $u_0$ gets a weighted average of the values at $u_{00}$ and $u_{10}$. The weight is based on the closer a point is. When you say the "second and third ones" I'm assuming you're referring to the calculation of $u_0$ and $u_1$. They don't give an averaged x value or averaged y value, but rather a different texture for those points.

selinafeng

Would it be the same to first interpolate vertically, ie. $u_0 = lerp(s, u_{00}, u_{01}$ and $u_1 = lerp(s, u_{10}, u_{11})$ and then interpolate horizontally? Or is there some reason why we have to interpolate horizontally then vertically?

mie-h

thanks briana-jin-zhang!

nsuppala

@selinafeng I believe you should be able to do it either way!

eugenelee24

What is the point of bilinear filtering if we start with the red dot and then we do the linear interpolations to end up at the red dot again?

What does the first interpolation do in this case? The second and third ones interpolate to give an averaged x value and an averaged y value, but does the first interpolation just give distance from the sample to each point?

I think you are misunderstanding something. You assume you know s and t since you should know what point you're trying to sample for.

Interpolation is first defined in 1d, which is what i'm assuming you're saying is the "first interpolation". It's basically a weighted average. In this case, the closer you are to a point, the more weight it has.

For example, $u_0$ gets a weighted average of the values at $u_{00}$ and $u_{10}$. The weight is based on the closer a point is. When you say the "second and third ones" I'm assuming you're referring to the calculation of $u_0$ and $u_1$. They don't give an averaged x value or averaged y value, but rather a different texture for those points.

Would it be the same to first interpolate vertically, ie. $u_0 = lerp(s, u_{00}, u_{01}$ and $u_1 = lerp(s, u_{10}, u_{11})$ and then interpolate horizontally? Or is there some reason why we have to interpolate horizontally then vertically?

thanks briana-jin-zhang!

@selinafeng I believe you should be able to do it either way!

What is the point of bilinear filtering if we start with the red dot and then we do the linear interpolations to end up at the red dot again?