在笛卡尔立方体中找到三角形的表面

时间:2013-05-05 23:08:44

标签: c# graphics 3d

我有一个三维数组的位值(0或1),表示笛卡尔立方体的X,Y和Z轴(在0-99范围内)。整个数组初始化为全0。

此外,我在该多维数据集中有一个三角形点,由以下几点标识。

TriangleA: [
15, 22, 11,
86, 76, 67,
45, 51, 91
]

将这三个点标记为1值很容易。我的问题是:

我如何标记由该三角形标识的表面的所有其他坐标,其值为1?

基本上我将如何实现该功能:

public bool IsOnSurfaceOfTriangleA(x, y, z) {

   // Math goes here! :)

// Math goes here! :)

非常感谢任何帮助/建议。

2 个答案:

答案 0 :(得分:1)

我会使用一个使用this解决方案的循环。简单地确定最小和最大范围并以双循环(从最小到最大)运行它们

答案 1 :(得分:0)

我发现这个MatLab功能,我能够移植到C#-works很棒。现在我需要同时为一大堆网格做这个,所以我将在一个单独的问题中发布。谢谢你的帮助!

http://www.mathworks.com/matlabcentral/fileexchange/22857-distance-between-a-point-and-a-triangle-in-3d