作者wendly777 (小水)
看板Soft_Job
標題Re: [請益] 看懂微積分,就會寫程式???
時間Sun Jan 1 03:21:54 2012
※ 引述《StubbornLin (Victor)》之銘言:
: 實例的話,我以前接過的案子
: 用上了所有我懂的線性代數
: http://blog.ez2learn.com/2009/08/26/pysketch/
: 一套向量式的繪圖程式,畫圖的部份使用Cairo,所以這部份的數學
: 都是由函式庫包辦,但除了畫圖以外的部份都得自己去算
: 一個最簡單的實例,滑鼠的游標離某條線段有多遠?
假設線段為A點到B點
滑鼠座標為C點
BA:B點到A點的向量
CA:C點到A點的向量
theta:BA與CA的夾角
CA x BA = |CA||BA|sin_theta = 平行四邊形面積
|BA|為底
故:|CA|sin_theta = CA x BA / |BA| = 高
如果投影在線段內
這個就是解答了
如果投影不在線段內
那就看CA跟CB哪個比較短
至於如何判斷
CA˙BA = |CA||BA|cos_theta
|CA|cos_theta = CA˙BA / |BA| = 投影在BA的長度
所以
|CA|cos_theta <= |BA|...在線內
|CA|cos_theta > |BA|...在線外
時間複雜度O(1)
高中數學就解決>"<
之前跟同事討論演算法
有討論過這個例子
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.101.162
推 wemee:看懂微積分,就會寫程式??? 01/01 08:26
推 bobju:這個公式不是國中數學就教過了嗎? :o 01/01 09:04
→ bobju:只是人的職涯生涯那麼長,不可能只為了解一個問題. 01/01 09:05
→ wendly777:內積外積我是在高中才學到的,國中只教三角函數吧 01/01 12:55
→ wendly777:不過國中數學課程應該一直在改,也許以前真的有教@@ 01/01 12:57
推 hidog:高中教的是簡化版的內外積 實際上內積空間沒那麼簡單.... 01/01 14:36
→ wendly777:沒錯..大學會教更理論的東西..但本題高中數學已足夠 01/01 14:54
→ wendly777:高中也教微積分..一個章節..大學是一整本理論 01/01 14:56