当前位置:  开发笔记 > 编程语言 > 正文

三角列表的路径(.NET/C#)

如何解决《三角列表的路径(.NET/C#)》经验,为你挑选了1个好方法。

给定一个表示为2d点数组的路径:

Point[] path = new Point[4]
{
    new Point(0,0),
    new Point(10,0),
    new Point(10,10),
    new Point(0,10),
};

......这里是一个盒子.

将此转换为要在3D应用程序中使用的三角形列表(填充路径)的最佳方法是什么?鉴于这只是一个简单的例子,实际上道路可能相当复杂.框架中是否有任何东西,可能是System.Drawing或在WPF中有哪些可以帮助解决这个问题?

编辑:(在塞缪尔的评论之后)理想情况下,我希望能够处理凸多边形和凹多边形,否则图形必须手动上升许多凸多边形.



1> Reed Copsey..:

它取决于路径的组成,以及它是如何创建的.

如果它始终是凸多边形,则可以非常轻松地创建一个三角形扇形,以填充该区域.

如果它不是凸多边形,您很可能需要使用某种形式的三角测量来填充路径.那里有很多选择.大多数示例代码使用的是C或C++,而不是C#,但这可能会有所帮助:

http://local.wasp.uwa.edu.au/~pbourke/papers/triangulate/morten.html

基本思想是填充外部边界,三角测量程序将传回3D应用程序所需的正确三角形索引.

框架中没有任何内容可以帮助您.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有