首页 > 解决方案 > 如何使用 C# 中给定顶点的高度找到三角形中点的高度?

问题描述

正如标题所示,我试图在给定三角形顶点高度的情况下找到三角形中任意点的高度。三角形将是高度图中的多边形,而我需要找到的点将是我需要分配给玩家的高度。

我已经搜索了重心坐标和双线性插值等方法,但我似乎无法找到如何使用 C# 实际实现它们。

这是我要查找的内容的视觉效果:

例子

我正在尝试使用顶点的高度来查找红点的高度,在本例中为 4、5 和 2

标签: c#mathinterpolationgame-engine

解决方案


我将从一个通用的三角射线相交算法开始。假设您的点位于 x,y 坐标中,您将使用 origin = x,y,0 和方向 0,0,1。然后,您可以简化一堆操作,因为您会知道某些参数始终为零。

可能有一些聪明的数学可以用来让它更快,但这是我会采用的方法,性能可能更多地取决于将三角形放在一些快速搜索结构中,而不是优化交叉测试。


推荐阅读