2012/11/20

學習的順序

我發現學習一件事情需要很多東西的配合

人類作事情的流程我認為是這樣

環境的輸入 → 腦部演算法的運作 → 肢體的輸出

在學習一件事情時會先從最基礎的肢體輸出開始

速度、精準度和熟練度是重要的

直到腦中所想可以像反射動作一樣的迅速時

才能稱得上是一個良好的駕駛員



再來是根據環境決定該作出什麼策略

足夠了解自己機體的性能 根據機體性能不同 作出的策略也會不同

大部分情況是不了解自己機體的性能

所以要先從了解自己極限在哪開始

有時候看到高手作極限挑戰就覺得自己也可以

那些都是幻覺


最後是環境的輸入 有些參數是沒人提點的話 根本不會去想到要參考的

在資訊分析的初期就被我們遺棄的參數也許就是個重要的參數


這就要靠天份了 或者看看別人的演算法參考了那些環境變數


- 最近玩球女的感想

球女的技能組是複雜的 能作的事情很多

所以需要考慮很多事情才能行動

以下是學習流程

熟悉角色技能快捷鍵、射程、傷害值

技能施放的順序、走位等

適合面對什麼角色 不適合面對什麼角色

什麼時候該打會戰 什麼時候不該打會戰

所謂的環境變數例如

附近的我方/敵方人數

我方/敵人有沒有大絕/召喚者技能

有些資訊並不是一個新手會去考慮的


如果講到騎車的話

十字路口直行時要考慮對向左轉車道的狀況

這也是出了幾次狀況才注意到的


結論 :

1. 提高速度 精準度 熟練度

2. 了解自己的極限

3. 知道各種策略和思考方向

並不是只有在遊戲裡才是這樣

2012/10/29

ETREX的記憶體

昨天重灌從XP 改成 WIN 7

脫離了 4G記憶體的限制

於是去買了4條8G記憶體噴了$3400元



用起來的感覺 : 開 LOL 跟 minecraft 之前不用再關 Chrome 了

可以準備買雙螢幕了

之前的狀況就算買了第二個螢幕應該也沒辦法用

2012/10/1

移除畫面上的 flash 時清除 flash 所占用的記憶體?


=== 目標 ===



  移除畫面上的 flash 時能夠清除 flash 所占用的記憶體


=== 實驗 ===



假設操作 HTML 字串等於操作記憶體
新增 Object Tag 增加記憶體使用量
移除 Object Tag 減少記憶體使用量


畫面上放兩個按鈕
  addFlash
  removeFlash

按一下 addFlash 新增一個 Object Tag
按一下 removeFlash 移除所有 Object Tag


=== 實作 ===


  === HTML的部分 ===


<a href="#" id="addFlash">add flash</a>
<a href="#" id="removeFlash">remove flash</a>
<div id="flashContainer"></div>


  === js的部分 ===

  $(function(){
      $("#addFlash").click(function(){
          var random  = 'a' + Math.floor(Math.random() * 1000000000);
          $("#flashContainer").append('<div id="'+ random+ '" />');
          swfobject.embedSWF("test.swf", random , "908", "560", "10.0.0");
      });

      $("#removeFlash").click(function(){
          $("#flashContainer").html("");
      });
  });


=== 實驗結果 ===



chrome, firefox, safari在按下removeFlash時
系統記憶體使用量在1秒內明顯下降,好像沒按過addFlsah一樣

但是 IE 不意外,在按下removeFlash時
系統記憶體使用量開始緩緩下降,過了一分鐘還沒降到該降到的位置

不知道 IE 怎麼達到移除 flash 時釋放記憶體?

(其實也不能說他沒有釋放,只是他釋放得很慢)

2012/8/23

Quadratic Bezier Curve Fitting Algorithm

手繪二次貝茲曲線 - 根據滑鼠路徑



問題 :
如何根據使用者的滑鼠軌跡
得到一個二次貝茲曲線

flash graphics 的 curveTo 畫出的線就是二次貝茲曲線
這條線需要三個參數 p0, p1, p2

graphics.moveTo(p0.x, p0.y);
graphics.curveTo(p1.x, p1.y, p2.x, p2.y);

所以我們要解決的問題是給定一個滑鼠軌跡座標陣列 x0,x1,...,xk
求出 p0, p1, p2 的值


解法:
我發現這篇論文寫得很好
http://figment.cse.usf.edu/~sfefilat/data/papers/TuBCT10.16.pdf


他簡單假設


p0 = x0
p2 = xk


接下來只要解 p1, 用一個逐步逼近最佳解的方式, 先假設p1在某個位置


算出目前誤差值 e
應該偏移的方向 Δp
更新 p1 = p1 + Δp
重作上面三行直到 e 的值不再變小為止


作法很簡單
但這裡還有很多細節沒講到
有興趣的人可以慢慢看論文
利用這篇論文可以實作出適合用在 flash 上的手繪曲線程式

2012/8/10

成功嶺受訓前後

成功嶺受訓前:

整天用電腦
整天吹冷氣
喝的是冰水
不知道三餐要吃什麼
想洗澡就洗澡 想吃飯就吃飯 想大便就大便
自以為家裡很整齊
時間過得很快

成功嶺受訓時:

沒電腦
沒冷氣
喝的是溫水
三餐都吃冷菜
定時洗澡  定時吃飯 想大便要趁休息時間夠長的時候
所有的物品都放在指定的位置
時間過的超慢 成功嶺就跟精神時光屋一樣 但集合時間卻很趕

成功嶺受訓後:

摸滑鼠感覺很陌生
吹冷氣會不舒服
喝冰水會不舒服
每間店都是人間美味
想洗澡就洗澡 想吃飯就吃飯 想大便就大便 超爽
忍不住就整理了起來 棉被的折法被制約了
發現一天24小時其實很長 到底是受訓時浪費時間還是受訓前浪費時間已經搞不清楚


碰冰的會不舒服 好像是感冒了 應該跟受訓沒關係 = =