/School2018

None

Primary LanguageMATLABGNU General Public License v3.0GPL-3.0

School2018

2018/6/7 起不会再更新了

仓库文件

本仓库中main.m为主程序,cal_s.m为函数
该程序先在赤道半径为1,极半径为3的椭球表面随机布点,然后用MATLAB已有函数进行三角剖分,取凸包,由各点位置求出各三角形面积,对三角形面积求平均,以“使‘各个面积减平均面积的差的平方’之和最小”为目标进行优化,得到优化后的各点坐标
点的数量超过400会使程序运行速度明显下降,不建议将点的数量设置过大,建议在200以下,则程序可在几分钟内结束

2018/6/6
粗略写了一下二维图形非凸的情况,程序给出的是一个中文“凹”字,已完成不越界的三角剖分,但是分割效果不佳,原因是边界的布点不够多。在边界上布置多少点,是一个值得思考的问题,过多或过少会导致边界三角形某一边过短或过长

更新意向

根据椭球体表面各处曲率的不同,可以实现在曲率大处点分布数量多,只需对三角形面积进行加权
除此之外三维空间不是很想再做努力了,因为真的太难了
二维平面点集有空的话会改写程序,提高程序运行速度(修复无法使用Parallel的bug)

解题相关关键词

计算几何,三维模型重建,点云模型,Delaunay三角剖分

如果有什么意见或建议,可以在Issue中提出,也可以发送邮件告诉我
vibranium@foxmail.com

2018/6/6