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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值