zoukankan      html  css  js  c++  java
  • 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);
    

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

  • 相关阅读:
    批处理操作
    注册表操作
    js 表格操作(兼容模式
    asp解码.net传参
    windows+nginx 查看并发链接数
    windows+nginx负载测试
    开发cocos2dx真机插件遇到问题,以及心得
    react路由
    Redux实现原理解析及应用
    test
  • 原文地址:https://www.cnblogs.com/SiumingLearning/p/4376519.html
Copyright © 2011-2022 走看看