Jonathan Richard Shewchuk的德罗奈三角化(Delaunay Triangulation) 崩溃(Crash)问题

文章讲述了在使用 Jonathan Richard Shewchuk 的 Delaunay 三角化算法时遇到的崩溃问题。问题源于代码假设指针为4个字节,而在Win64环境下指针为8个字节。通过将代码中的 `unsigned long` 替换为 `unsigned long long` 解决了崩溃,确保在64位系统上的兼容性。
摘要由CSDN通过智能技术生成

Jonathan Richard Shewchuk的德罗奈三角化(Delaunay Triangulation) 崩溃(Crash)问题

研究网格化的同学一定知道德罗奈三角化(Delaunay Triangulation)方法,德罗奈(Delaunay)三角化算法从计算几何算法角度来看,难度不大,实现起来也不困难,但在实际工程中,自己写的德罗奈算法会出现各种问题,主要原因就是浮点精度导致的各种算法失效(蝴蝶效应啊),所以大批科研人员不自己写或者干脆放弃自己的德罗奈代码(me too!),转而直接使用Jonathan Richard Shewchuk写的三角化代码。

不得不说Jonathan Richard Shewchuk的代码就是鲁棒,毕竟大牛是卡内基和伯克利出品的,必属精品。虽然菜鸟们也会在调用其API时得到各种crash,但主要原因是你传入的点可能会有重叠,或者其它参数错误,因为Jonathan 的代码是C的代码,所以他没有抛出异常的措施,所以一旦参数错误你所得到的就是无情的crash,这一点在调用API之前一定要格外小心,尤其是我们在写工程软件不是学校代码(school code)的时候。

要使用Jonathan Richard Shewchuk的三角化函数,需要将
triangle.c 和 triangle.h文件导入你的项目工程。当然,需要注意的是当导入triangle.c到你的Visual Studio工程时,它默认使用C编译器,而不是C++编译器。所以如果你的工程是C++工程,而你的C++代码要调用triangulate函数时,别

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值