在完成代码后发现其存在严重的效率问题,在顶点大于5000的时候耗时要超过2秒钟,其主要的原因是因为没有使用剔除完成三角形的解决方案。后来,去翻原作者的代码,才明白他使用的三角形靠左优化方案。

解决方案

  • 将顶点按照水平轴进行排序

    • vertex.sort((a,b)=>a.x.compareto(b.x))
  • 剔除条件
    • 当一个三角形的外切圆在 新插入顶点的左边时,就可以完成剔除了
    • triangle.circlecenter.x + r < newVertex.x
    • 被剔除的三角形不能包含超级三角形的顶点

效果

他看起来像是这种样子,从左往右在编制三角形,左边已经编制完成的,相对于右边新插入的顶点,就是已经完成的三角形。

这种方法可以最快的速度下输出正确的结果,在没有使用任何线程的情况下,5000个顶点可以在0.6秒完成。

[Delaunay Triangle] [图形学] 优化方案相关推荐

  1. [Delaunay Triangle] [图形学] Delaunay Triangles最易懂的实现方案

    序 这是我在逛街时捡到的一篇外国朋友的文章,他用十分简短的伪代码解释了Delaunay Triangle的实现过程,这是我见过讲解Delaunay Triangle最棒的,最通俗易懂的文章. 文章 D ...

  2. [Delaunay Triangle] [图形学] C# 实现代码

    原理 效果 这是一个随机三十个点的最终构成效果. 实现代码 以下是以C#为基础的实现代码,用到了UnityEngine.Vector2类型和v2相关的函数,核心逻辑与Unity不关联,不妨碍移植. u ...

  3. 手游特效太多怎么办?这里有一份性能优化方案可参考

    导语专家坐诊栏目,是腾讯游戏学院专家团打造的新栏目.面向行业中小团队,分享腾讯学院专家团在过往指导中所提炼的共性问题总结. 本期分享嘉宾:KM,图形图像优化渲染方面专家. 在ACT游戏中华丽的特效是不 ...

  4. TensorRT优化方案图例

    TensorRT优化方案图例 图 12. TensorRT 循环由循环边界层设置.数据流只能通过下方式离开循环环输出层. 唯一允许的后边缘是第二个输入递归层. 图 13. 一个 if 条件构造抽象模型 ...

  5. Mysql性能优化方案

    2019独角兽企业重金招聘Python工程师标准>>> 内容简介:这是一篇关于mysql 性能优化的文章.网上有不少mysql 性能优化方案,不过,mysql的优化同sql serv ...

  6. 大型网站压力测试及优化方案

    作者:邴越 来自:cnblogs.com/binyue 0 木桶理论应用在系统优化中 木桶理论又称短板理论,其核心思想是一只木桶盛水多少,并不取决于最高的木板,而取决于最短的那块木板. 木桶原理应用在 ...

  7. Android应用优化方案

    前言: 前面两篇文章主要是讲关于activity.fragment生命周期方面的总结,这篇文章主要是总结在android应用开发过程的优化方案,还有一些常用的优化工具.优化的方向包括:启动速度.界面流 ...

  8. kvm性能优化方案---cpu/内存/磁盘/网络

    kvm性能优化方案 kvm性能优化,主要集中在cpu.内存.磁盘.网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节. cpu 在介 ...

  9. mysql和mybatis优化_MySQL + mybatis的SQL优化方案

    sql优化方案: 1.添加索引,在条件参数,关联参数上建立参数, 2.字段优化,需要什么字段查什么字段 3.模糊查询尽量使用: select * from tableName a where a.na ...

最新文章

  1. 实现数据集多( 高 )维可视化(附代码)
  2. [YTU]_2626( B 统计程序设计基础课程学生的平均成绩)
  3. 单播 广播 组播_【技术解析】关于组播概念那些你需要知道的~
  4. ioctl之FIONREAD
  5. [轉]C# 中的委托和事件
  6. 【转载保存】mysql不设置主键使用自增长ID方法
  7. 计算机学院足球队 英语怎么说,计算机学院举办2018届毕业生足球赛
  8. 认识进程 java 1615387415
  9. h3c ospf stub total stub nssa
  10. 防抖与节流方案_如何理解js的防抖与节流
  11. 【BIRT】02_开发一张简单的报表
  12. rplidar.lua
  13. 计算机符号的名字,符号网名大全
  14. c程序设计语言cpp,c++中后缀名.c 与.cpp的区别?
  15. Excel不同列多条件计数
  16. python-指数分布介绍(scipy.stats.expon)
  17. Excel转PDF基于Microsoft.Office.Interop.Excel
  18. 理解《Charting the Right Manifold: Manifold Mixup for Few-shot Learning》
  19. 【Lesson 13】万能和弦和弦走向
  20. 无穷项和求极限(夹逼准则)

热门文章

  1. Redis学习之设置验证密码
  2. 2020基础会计继续教育网上考试答案
  3. 用html做一个拍拍网界面视频,用canvas做一个DVD待机动画的实现代码
  4. 利用粤嵌LinuxGEC6818开发板实现电子相册
  5. 调用短信、电话、邮件、Safari浏览器的系统API
  6. 基于gradle构建spring cloud项目
  7. php mysql 手机归属地_PHP手机号码归属地查询代码(API接口/mysql)_PHP教程
  8. 我有一哥们,老牛逼了……
  9. 论文解读:《XG‑ac4C:使用带有电子离子相互作用假电位的eXtreme梯度增强技术鉴定mRNA中的N4-乙酰胞苷(ac4C)》
  10. Lumberjack库在GCDAsyncSocket上的打印输出