多边形(四边形)到方形单元格

Polygon(Quad) to Square Cells

我真的有这个问题。

我有一个可以是任何形状的多边形(四边形)。当我的鼠标在多边形内时,我需要找到鼠标所在位置(在四边形内)的 x、y 值,就好像多边形是完美的正方形一样。进一步说明;我有一个应用于多边形的 32x32 纹理,我需要知道鼠标悬停的纹理的 x、y。 我有一些适用于大多数形状的代码,但是如果 TR.Y 小于 TL.y 就会中断。 我有一些非常简单的代码来测试光标是否在多边形内(通过两个三角形测试)。但是我不知道如何使用它来生成虚拟正方形投影的 x,y。

这个问题快要死了。我尝试执行的操作的名称是什么?有谁知道方程式以代码形式(任何类型的代码)(而不仅仅是数学符号?)表示的解释。任何形式的帮助将不胜感激。

我即将用特殊格式的纹理(每个像素都有一个唯一值)进行第二次渲染,这样我就可以进行颜色测试以获得近似的 x,y 匹配(并且精度可以达到在这里妥协而不会造成太多麻烦)-但是我将不得不解决 DX Lib 试图混合和平滑特殊纹理的问题,因为它被扭曲以填充四边形)

**编辑:适用于许多四边形的代码

这取决于方法——如何在这个四边形上绘制纹理。

如果使用透视变换Square=>Quad,则必须使用逆变换矩阵Quad=>Square。短 article

线性插值方法见this page