分類:程式筆記

快速判斷N是否為2的次方數

前陣子遇到一個題目 : 請你判斷一個正整數N是否為2的次方。

 

我遇到這題目時,直覺想到的就是,透過迴圈從1開始檢查所有2的次方數,像這樣 :

雖然這樣就解決了,但我一直在想是否有效率更高的方法。

Read More

關於浮點數誤差與IEEE-754

在程式語言中,浮點數基本都是用 float 與 double來表示,但都會存在誤差

正常6.9 * 10 應該要等於6.9,但是答案卻是不相等?

這個原因跟浮點數的儲存原理有關,讓我們開始吧!

Read More

遊戲中的碰撞檢測Collision Detection

應該很多人對電腦遊戲中如何處理碰撞處理感興趣,希望大家在讀完這篇文章後能了解電腦是如何偵測物體的碰撞。

而這篇文有三個主要目的 :

  1. 對遊戲中的碰撞感興趣,卻不會寫程式的人可以了解原理
  2. 讓有能力實作的人,可以跟著文章寫出簡易的多邊形碰撞檢測
  3. 自己的學習筆記

讓我們開始吧。

 

這次要來介紹的主題是分離軸碰撞檢測(Separating Axis Theorem, SAT)

分離軸定理通常用語檢測兩個多邊形或多邊形與圓之間的碰撞,跟所有演算法一樣他具有一定的優勢與缺點。

我會慢慢講解背後的原理,並使用程式碼做簡易的範例。

Read More

C# 雙重緩衝

畫面更新時發生閃爍。

我在網路上搜尋到一些解決方法,在這裡做個整理。

正常更新畫面的方法都是先將畫面清空後,再將新的畫面畫上去,

導致清空的剎那,好像畫面閃爍了。

Read More