基礎。處理多個向量。
1個單獨的向量,在很多的時候,讓你覺得已經足夠的智慧型和強大,去應付這個世界上的各種問題。然而事實上,你很少只需要1個向量,通常,你需要使用2個,3個甚至更多的向量。所以管理多個向量是非常重要的,否則它們會脫離你的控制,要知道和乙個失控的向量戰鬥不是一件好玩的事情。
首先,多數情況下,有多個向量影響物體。乙個例子就是重力:當物體本身在移動(用乙個向量表示),而重力會把物體往下拉。重力和其他的力一樣,可以用乙個向量來表示。此時就有2個向量,你需要找到2個向量的綜合效果,以確定物體到底該怎麼移動。為了將2個向量加起來,你需要把他們的分量加起來:
1.
resultv={};
2.
resultv.vx=v1.vx+v2.vx;
3.
resultv.vy=v1.vy+v2.vy;
向量的投影。
有時候我們非常需要知道2個向量的方向關係,他們到底是把我們的物體往同乙個方向牽引,還是一東一西呢。
1.
dp = v1.vx*v2.vx + v1.vy*v2.vy;
我們將2個向量的x分量相乘,y分量相乘,然後在相加。得到結果dp,稱為「向量v1和向量v2的點乘」。dp並不是乙個向量,而是乙個數字,如果是正數,那麼2個向量的方向是相同的(夾角小於90度),如果是負數,那麼2個向量的方向是相反的(夾角大於90度)。
下面說下2個向量的投影問題。將向量在其他任意的座標系(向量v2和它的法線構成了乙個座標系)裡面進行轉換是非常有用的,這樣投影的分量就可以單獨變化。計算v1在v2上的投影的辦法是:
1.
proj.vx=dp*v2.dx;
2.
proj.vy=dp*v2.dy;
向量的投影也是乙個向量。我們先計算出2個向量的點乘,再乘以向量v2的歸一化向量,就得到了投影。
以下是我製作的乙個關於投影向量的例子。你可以四處拖動那些點,以觀察投影分量的變化:
Flash中的3D投影
ps 第一次翻譯的,錯的請指出。這裡我簡單的對3d投影做了解釋,首先我們看看3d完美運用的 url 最基礎的3d投影公式是 scale fl fl z 這裡我理解scale為投影比例 fl是焦點距離 也就是眼睛到螢幕的距離 z是物體在螢幕裡的深度 看看下面的剖面圖 img files beyondp...
CUDA C程式設計向量加法 第3章 CUDA 簡介
大規模並行處理器程式設計實戰 學習,其他章節關注專欄cuda c 這章主要以 向量加法 vector add 為切入點,講述了如何把乙個 c 語言向量加法 改寫為 cuda擴充套件的c語言向量加法。傳統向量加法是通過迴圈實現的 cuda向量加法是通過多執行緒控制的cuda加法並行實現的,即同時開啟n...
Eigen學習筆記 3 矩陣和向量的運算
原文 eigen官網 matrix and vector arithmetic 本節內容主要介紹eigen中關於矩陣 向量 標量之間的數 算。eigen提供了matrix vector的運算操作,既包括過載了c 的算術運算子 也引入了一些特殊的運算比如點乘dot 叉乘cross 等。左右兩側的變數都...