因为要做动态网络生成,于是去github找代码,看到这个dynagon比较对的上眼,于是clone下来慢慢研究。

链接:https://github.com/lanius/dynagon

于是我发现这个真的是写的好棒好棒,C#写的真是漂亮啊,让我见识到了delegate,lambda表达式,select,order,sort,aggregate,泛型,LIST,还有封装的种种。

看到triangulator那一块的时候遇到了Delaunay三角划分算法,没有补算法的情况下真是看不下去了。但是已经觉得学到了很多很多的东西。

简单举一个例子吧,之前我如果要取几个点的中心点的话,撸出来的代码丑的要死。这边两行搞定了:

protected Vector3 GetCentroid() {var uniqs = vertices.Distinct();return uniqs.Aggregate(Vector3.zero, (sum, v) => (sum + v)) / uniqs.Count();}

  多么漂亮,多么简洁

虽然这个包写的相当漂亮,以至于需要用的话只需要

var vertices = new List<Vector3>() {new Vector3(0f, 1f, 0f),new Vector3(0f, -0.3f, 0.9f),new Vector3(0.8f, -0.3f, -0.5f),new Vector3(-0.8f, -0.3f, -0.5f)};Factory.Create(vertices);

就可以搞定了,但是阅读代码的过程实在太享受了。

转载于:https://www.cnblogs.com/SiumingLearning/p/4376519.html

Dynagon代码阅读感想相关推荐

  1. “云时代架构”经典文章阅读感想十二

    云时代架构"经典文章阅读感想十二 (牛逼的架构师是怎么炼成的?) 前几周阅读的三四十岁的大龄程序员,应该如何保持自己的职场竞争力?中提到如何在35岁左右可以实现掌握有核心竞争力.其中之一便是 ...

  2. 《重新定义团队》读书笔记及阅读感想2600字

    2019独角兽企业重金招聘Python工程师标准>>> <重新定义团队>读书笔记及阅读感想2600字: <重新定义团队>的作者是是谷歌前任首席人才官拉斯洛·博 ...

  3. ORB_SLAM2代码阅读(5)——Bundle Adjustment

    ORB_SLAM2代码阅读(5)--Bundle Adjustment 1. 说明 2. Bundle Adjustment(BA)的物理意义 3. BA的数学表达 4. BA的求解方法 4.1 最速 ...

  4. ORB_SLAM2代码阅读(3)——LocalMapping线程

    ORB_SLAM2代码阅读(3)--LocalMapping线程 1.说明 2.简介 3.处理关键帧 4. 地图点剔除 5. 创建新的地图点 6.相邻搜索 6.剔除冗余关键帧 1.说明 本文介绍ORB ...

  5. ORB_SLAM2代码阅读(4)——LoopClosing线程

    ORB_SLAM2代码阅读(4)--LoopClosing线程 1.说明 2.简介 3.检测回环 4.计算Sim3 4.1 为什么在进行回环检测的时候需要计算相似变换矩阵,而不是等距变换? 4.2 累 ...

  6. ORB_SLAM2代码阅读(2)——tracking线程

    ORB_SLAM2代码阅读(2)--Tracking线程 1. 说明 2. 简介 2.1 Tracking 流程 2.2 Tracking 线程的二三四 2.2.1 Tracking 线程的二种模式 ...

  7. ORB_SLAM2代码阅读(1)——系统入口

    ORB_SLAM2代码阅读(1)--系统简介 1.说明 2.简介 3.stereo_kitti.cc 4.SLAM系统文件(System.cc) 4.1 构造函数System() 4.2 TrackS ...

  8. 深度学习项目代码阅读建议

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 犹豫很久要不要把读代码这个事情专门挑出来写 ...

  9. JavaScript权威Douglas Crockford:代码阅读和每个人都该学的编程

    作者:Peter Seibel 关于JavaScript Seibel:在程序学习之路上有哪些令你后悔的事情? Crockford:我了解一些语言,但却一直没有机会使用.我花了不少时间学习APL并了解 ...

最新文章

  1. php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
  2. 机器学习手动撸代码系列3-感知机
  3. [html] 如何解决微信浏览器视频点击自动全屏的问题?
  4. think php left join,Thinkphp两张数据表left join怎么让相同字段不被覆盖?
  5. 深度学习框架排行榜:找工作学TensorFlow,PyTorch搜索量逼近Keras
  6. PNG文件格式具体解释
  7. fedora 主题美化
  8. 思科模拟器连通服务器网页,思科模拟器主机访问服务器
  9. Ttest(T检验)
  10. Java入门案例:模拟纸牌游戏拖拉机(升级)
  11. Protothreads:一个“蝇量级” C 语言协程库
  12. 电脑误删的文件怎么恢复?分享90%的人都会的这2招
  13. 《火焰纹章风花雪月》能力属性和战斗计算公式研究
  14. 高德地图基础使用教程(附demo)
  15. W3school:CSS基础:CSS注释、颜色(颜色、RGB、HEX、HSL)、背景(背景、背景图像、背景重复、背景附着、简写背景属性)
  16. IMG按图搜索商品详情
  17. 主流深度学习GPU云平台租赁价格比较表
  18. 物体检测--HOG特征
  19. DBCO高分子PEG_DBCO-PEG-Lipoic COOH_二苯并环辛炔-聚乙二醇-硫辛酸
  20. 全球与中国草坪刷市场现状及未来发展趋势2022-2028

热门文章

  1. 2020-09-22关于dialog 问题
  2. 吴华伟(帮别人名字作诗)
  3. 【视频】什么是梯度下降?用线性回归解释和R语言估计GARCH实例
  4. PS从入门到精通第3节
  5. 为什么28岁不能学java_28岁大龄人学java不是不可能
  6. 1-4 python爬取笔趣阁小说(附带完整代码)
  7. java课程论文_Java课程论文.doc
  8. description是什么意思
  9. java打印小票的时间_Java编程打印购物小票实现代码
  10. Unity Editor Built-in Icons (Unity version: 2018.3.0f2)