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

Delphi 多边形(四边形)到方形单元,delphi,graphics,directx,pascal,Delphi,Graphics,Directx,Pascal,我真的有点问题 我有一个多边形(四边形),可以是任何形状。当我的鼠标在多边形内时,我需要找到鼠标所在位置的x,y值(在四边形内),就好像poygon是完美的正方形一样。进一步解释;我有一个32x32纹理应用于多边形,我需要知道鼠标在上面的纹理的x,y。 我有一些适用于大多数形状的代码,但是如果TR.Y小于TL.Y,这些代码就会中断。 我有一些非常简单的代码来测试光标是否在多边形内(通过两个三角形测试)。但我不知道如何用它来生成虚拟正方形投影的x,y 这个问题快把我累死了。我尝试执行的操作的名称是

我真的有点问题

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

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

我即将使用特殊格式的纹理(每个像素都有一个唯一的值)进行第二次渲染,这样我就可以进行颜色测试,以获得近似的x,y匹配(精度可以在这里进行折衷,而不会造成太多麻烦)-但接下来我必须围绕DX库尝试混合和平滑特殊纹理,因为它扭曲以填充四边形)


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

这取决于方法-如何在此四边形上绘制纹理

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


有关线性插值方法,请参见

您好,欢迎使用SO。如果您向我们展示一些代码,这样我们就可以真正解决问题,这将非常有帮助。我有一个4点矩形-代表一个32x32瓷砖-矩形旋转45度,然后矩形上的每个Y点都有一个高度值(减去Y),这提供了一个出色的等距表示(山峦起伏,山峦起伏等)。问题不是我的代码中有缺陷,而是算法失败-我需要将2D鼠标位置反向投影到瓷砖对应的x,y位置,并移除“高度”调整。无法发布任何清晰的代码-用户限制(字符和无图像)因为我刚刚创建了这个帐户。imgur.com/mhq04kxthankhou-使用插值链接中的代码示例。试图发布我的结果,但字符限制阻止了我。但它几乎只是你给我的链接中代码的副本。谢谢