Dynagon代码阅读感想
因为要做动态网络生成,于是去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代码阅读感想相关推荐
- “云时代架构”经典文章阅读感想十二
云时代架构"经典文章阅读感想十二 (牛逼的架构师是怎么炼成的?) 前几周阅读的三四十岁的大龄程序员,应该如何保持自己的职场竞争力?中提到如何在35岁左右可以实现掌握有核心竞争力.其中之一便是 ...
- 《重新定义团队》读书笔记及阅读感想2600字
2019独角兽企业重金招聘Python工程师标准>>> <重新定义团队>读书笔记及阅读感想2600字: <重新定义团队>的作者是是谷歌前任首席人才官拉斯洛·博 ...
- ORB_SLAM2代码阅读(5)——Bundle Adjustment
ORB_SLAM2代码阅读(5)--Bundle Adjustment 1. 说明 2. Bundle Adjustment(BA)的物理意义 3. BA的数学表达 4. BA的求解方法 4.1 最速 ...
- ORB_SLAM2代码阅读(3)——LocalMapping线程
ORB_SLAM2代码阅读(3)--LocalMapping线程 1.说明 2.简介 3.处理关键帧 4. 地图点剔除 5. 创建新的地图点 6.相邻搜索 6.剔除冗余关键帧 1.说明 本文介绍ORB ...
- ORB_SLAM2代码阅读(4)——LoopClosing线程
ORB_SLAM2代码阅读(4)--LoopClosing线程 1.说明 2.简介 3.检测回环 4.计算Sim3 4.1 为什么在进行回环检测的时候需要计算相似变换矩阵,而不是等距变换? 4.2 累 ...
- ORB_SLAM2代码阅读(2)——tracking线程
ORB_SLAM2代码阅读(2)--Tracking线程 1. 说明 2. 简介 2.1 Tracking 流程 2.2 Tracking 线程的二三四 2.2.1 Tracking 线程的二种模式 ...
- ORB_SLAM2代码阅读(1)——系统入口
ORB_SLAM2代码阅读(1)--系统简介 1.说明 2.简介 3.stereo_kitti.cc 4.SLAM系统文件(System.cc) 4.1 构造函数System() 4.2 TrackS ...
- 深度学习项目代码阅读建议
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 犹豫很久要不要把读代码这个事情专门挑出来写 ...
- JavaScript权威Douglas Crockford:代码阅读和每个人都该学的编程
作者:Peter Seibel 关于JavaScript Seibel:在程序学习之路上有哪些令你后悔的事情? Crockford:我了解一些语言,但却一直没有机会使用.我花了不少时间学习APL并了解 ...
最新文章
- php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
- 机器学习手动撸代码系列3-感知机
- [html] 如何解决微信浏览器视频点击自动全屏的问题?
- think php left join,Thinkphp两张数据表left join怎么让相同字段不被覆盖?
- 深度学习框架排行榜:找工作学TensorFlow,PyTorch搜索量逼近Keras
- PNG文件格式具体解释
- fedora 主题美化
- 思科模拟器连通服务器网页,思科模拟器主机访问服务器
- Ttest(T检验)
- Java入门案例:模拟纸牌游戏拖拉机(升级)
- Protothreads:一个“蝇量级” C 语言协程库
- 电脑误删的文件怎么恢复?分享90%的人都会的这2招
- 《火焰纹章风花雪月》能力属性和战斗计算公式研究
- 高德地图基础使用教程(附demo)
- W3school:CSS基础:CSS注释、颜色(颜色、RGB、HEX、HSL)、背景(背景、背景图像、背景重复、背景附着、简写背景属性)
- IMG按图搜索商品详情
- 主流深度学习GPU云平台租赁价格比较表
- 物体检测--HOG特征
- DBCO高分子PEG_DBCO-PEG-Lipoic COOH_二苯并环辛炔-聚乙二醇-硫辛酸
- 全球与中国草坪刷市场现状及未来发展趋势2022-2028
热门文章
- 2020-09-22关于dialog 问题
- 吴华伟(帮别人名字作诗)
- 【视频】什么是梯度下降?用线性回归解释和R语言估计GARCH实例
- PS从入门到精通第3节
- 为什么28岁不能学java_28岁大龄人学java不是不可能
- 1-4 python爬取笔趣阁小说(附带完整代码)
- java课程论文_Java课程论文.doc
- description是什么意思
- java打印小票的时间_Java编程打印购物小票实现代码
- Unity Editor Built-in Icons (Unity version: 2018.3.0f2)