码迷,mamicode.com
首页 > 其他好文 > 详细

Dynagon代码阅读感想

时间:2015-03-29 23:34:26      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

因为要做动态网络生成,于是去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);

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

Dynagon代码阅读感想

标签:

原文地址:http://www.cnblogs.com/SiumingLearning/p/4376519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!