嗚嗚喔學習筆記: 7月 2017

搜尋此網誌

2017年7月28日 星期五

C# - 從 Linq 學習 [ 如何使用 Delegate , Func , Lambda ) ]

這篇不是在說 怎麼使用 Linq

而是再說嘗試 寫出Linq
------------------------------------------

http://tim12332013.blogspot.tw/2017/06/c-linq-interface-generic.html
繼上一篇 Linq ToList() 學習 Interface 跟 Generic之後
這篇來說說 Where()   
------------------------------------------

這篇主要重點在有三個
1. Delegate - 委派
2. Func - 有回傳值得委派
3. Lambda - 匿名函示 ( 簡化版 )

在知道上述三樣東西之後才會看懂下面在說啥
-------------------------------------------
先貼程式 :



結果: 找出 1~10 中 能被 2 整除的數 (答 2 4 6 8 10)



結論:

利用Foreach IEnumerable<T> 找出所有Item
再拿別人傳進來的 Func 來執行
最後回傳答案

2017年7月7日 星期五

UnityShader初體驗 - 數學基礎 - 笛卡爾座標


最近看了本 "只有unity shader才能超越unity" 紀錄一下心得  0.0

笛卡爾坐標系 - 描述一個東西位置 的方法

Wiki:https://zh.wikipedia.org/wiki/%E7%AC%9B%E5%8D%A1%E5%84%BF%E5%9D%90%E6%A0%87%E7%B3%BB

二維坐標系 (平面空間)

三維坐標系 (3D空間)

三維 通常分成  左手座標 , 右手座標

「左右手座標」的圖片搜尋結果

為什麼要分 左右手的原因就是
在做旋轉的時候 在不同座標下 看起來不一樣
舉例來說
在空間中 用一個點  已一條直線為旋轉軸
旋轉30° 

那會發現有兩種旋轉方向可以選擇
這時候就可以用左右手法則 
依據屬於哪個坐標系
判斷要往哪一邊旋轉大拇指朝上 , 4隻手指的方向 就是答案 

相關圖片

書上練習題 : 

Q: (0,0,1) 座標的點  繞著Y軸 正方向旋轉 ,
在左 , 右 手座標系中 , 分別會變成什麼位置?

A: 左: (1,0,0) 右 (1,0,0)

有錯請指證@@