2009年10月27日 星期二

視覺化程式設計語言

視覺化程式設計語言

視覺化程式設計語言(以下簡稱VPL),又稱『圖形化程式語言』、『視覺化程式編成語言』。係使用者利用圖形化元素進行程式設計;相異於文字式程式設計。 VPL以視覺表達為基礎,利用『文法』或是某種『輔助標記』進行圖形與文字的排列。許多VPL建基於『方塊與箭頭』的概念之上,以方塊或螢幕上的物件為本 體,以箭頭相連接,以直線段與弧線段代表相互之間的關係。

Microsoft Visual Programming Language,一種資料流語言。用來進行撰寫機器人程式。是微軟 Microsoft Robotics Studio 的一部分。

Simulink

Simulink 是 MATLAB 最重要的組件之一,它提供一個動態系統建模、模擬和綜合分析的集成環境。

在該環境中,無需大量書寫程序,而只需要通過簡單直觀的滑鼠操作,就可構造出複雜的系統。Simulink 具有適應面廣、結構和流程清晰及模擬精細、貼近實際、效率高、靈活等優點。

基於以上優點 Simulink 已被廣泛應用於控制理論和數字信號處理的複雜模擬和設計。同時有大量的第三方軟體和硬體可應用於或被要求應用於 Simulink。

Virtools

2009年9月10日 星期四

[ARToolkit]Developing your First Application, Part 1

Introduction

為了說明中詳細介紹如何開發ARToolKit應用,我們將逐步的來源碼示例程序的現有:simpleTest(或簡單的根據您的ARToolKit版本)。 該程序被發現在該目錄的examples/simple/. 。


在SimpleTest計劃

該文件我們將注視的是simpleTest.c(或simple.c)。 這個程序非常簡單包括一個主例程和幾個圖形繪製程序。
對應的功能,應用程序的六個步驟前面描述見表1。相應的步驟2到5在主循環(主迴圈)功能。

最重要的功能在程序的main, init, mainLoop, draw跟 cleanup。 ,我們將解釋這些函數調用的細節。


main

主要的簡單程序如下:



在 init初始化例程包含的代碼啟動視頻捕獲,閱讀標記和相機參數,並設置了圖形視窗。這相當於第1步在development method。接下來,我們進入即時狀態,以函數arVideoCapStart視頻為起點。 之後,該argMainLoop函數被啟動主程序LOOP和連結程式 keyEvent任何鍵盤事件和主迴圈的主圖形渲染迴圈。argMainLoop的定義是包含在文件gsub.c。


init

在初始化中應用從主要程序和用於初始化視頻捕捉和讀取初步ARToolKit應用參數。

起初,視頻路徑是打開視頻圖像的大小發現:



該變量vconf包含了初步的視頻配置和定義頂部的simple.c。在功能上您的平台的內容可以真正不同:看video configuration page。對於每個平台的默認字符串的定義,一般而言,是開放的第一個可用的視頻流在你的架構。

之後,我們需要初始化ARToolKit應用參數。 關鍵參數的ARToolKit應用如下:

‧該模式將用於模板匹配的模式和虛擬物體的這些模式相對應。
‧視訊的特性被使用。

這些都是從閱讀的文件名可以是指定的命令行或使用默認的硬編碼文件名。

因此,相機參數讀取默認的攝像頭參數文件名數據/ camera_para.dat:



下一步,這些參數都轉化為當前圖像的大小,因為視訊參數的變化取決於圖像的大小,即使使用相同的視訊也一樣。

將視訊參數設置讀入,並將視訊參數印在螢幕上:


之後,讀入模式定義默認的模式文件數據/ patt.hiro:



patt_id已被確定的模式識別。
最後一個圖形視窗打開:


第二個參數定義的argInit縮放功能,設置為1.0吻合的視頻圖像格式,設置為2.0倍大小(例如,有一個VGA AR display 與320x240image顯示輸入)。
mainLoop
這是例行的ARToolKit函數應用,它包含的代碼對應步驟2至5所需的應用程序的步驟。
首先一個視頻幀抓到函數arVideoGetImage:

視頻圖像,然後顯示在螢幕上。 這可以是一個unwarped圖像,或圖像扭曲,以校準的視訊扭曲。變形的圖像產生更正常的形象,但可能導致大量減少在視頻的幀速率。在這個例子中的形象是不unwarped:


然後,arDetectMarker用於搜索視頻圖像中查詢有正確的標記模式:



標誌物的數目找到包含在變數marker_num,而marker_info是一個指標結構包含坐標信息的信任和認可的價值觀和資訊的每個標記。marker_info結構詳細的用法在API documentation
此時,視頻圖像已顯示和分析。因此,我們並不需要頻繁使用它:我們可以要求偵測啟動一個新的攫取的同時,才再次打開新的程式。為此剛才呼叫arVideoCapNext:


接下來,所有的信心值檢測到的標記是比較正確的標記關聯資訊最高的數值:



標記之間的轉換和視訊可以被發現使用arGetTransMat功能:



真正的視訊的位置和方向相對於標記對象i是包含在3x4矩陣,patt_trans。

最後,虛擬物體,可以得出在卡上使用的繪製功能:



一個簡單的步驟進行優化,如果沒有發現模式(k==- 1),我們可以直接交換緩衝區call to draw 和 return:

[ARToolkit] Development Principles

有兩個部分開發應用程序使用ARToolKit,編寫應用程序,和轉換圖像處理序對現實世界標誌,將用於在應用程序中。

編寫應用程序與ARToolKit很簡單:一個簡單的大綱是用於創建AR應用程序。 我們立足於它編寫新的應用。 同樣,轉換模式階段,主要是簡化,使用簡單的工具。

下面的步驟必須採取應用程序的主代碼:




步驟2至5的不斷重複,直至點選退出,而步驟1和6上執行,只是初始化和關閉應用程序的分別。 除了這些步驟的應用程序可能需要響應滑鼠、鍵盤或其他應用程序的特定事件。

2009年9月9日 星期三

[ARToolkit]Calibrating your camera 如何校準視訊

Introduction

在目前的ARToolKit軟件,默認camera properties屬性包含在相機參數文件camera_para.dat,這是在每次讀取應用程時啟動。 參數足夠應用於多種不同的視訊。 不過使用相對簡單的camera calibration有可能產生一個單獨的參數文件來執行特殊的視訊裝置。 在一個通過AR interfac的video-see,如果相機參數是已知的話,視頻圖像可以扭曲校正視訊的扭曲。

Two Step Calibration Approach
很難使用,但結果更準確度(更好的三維測量)。

One Step Calibration Approach
易於使用,使精度不夠好圖像疊加。
下一節將介紹不同的步驟,您的視訊校正通過這兩種方法。


Two Step Calibration

本節我們介紹如何使用ARToolKit的two step method去校正視訊。 為了使用此方法的模式文件calib_cpara.pdf和calib_dist.pdf需要列印出來。 這些模式中找到的目錄。 該calib_cpara.pdf模式是網格線,使該線是完全相同40毫米分開。 該calib_dist.pdf模式包含一個6 × 4點的模式,使該點是40毫米分開。 一旦模式文件被列印出來,應該貼在紙板上讓文件平整。 下圖由視訊拍出的這些文件模式。

圖1:calib_dist模式和calib_cpara模式

相機性能的必須測量包括中心點視訊的圖像,鏡頭失真和焦距的鏡頭。 該計劃calib_dist是用來測量圖像中心點和鏡頭扭曲,而calib_param其他視訊生產性能。 這兩種程序都可以找到在 bin目錄中,其來源是在utils/calib_dist 跟 utils/calib_cparam目錄。

該calib_dist程序應該先運行,然後calib_cparam,因為使用calib_cparam輸出calib_dist。 其餘部分在本節中,我們解釋如何運行這些程序的每個。


Running calib_dist

calib_dist使用calib_dist.pdf圖像模式的6 × 4點間距同樣分開。 當認為通過視訊鏡頭,鏡頭變形導致pin cushion effect,產生不平衡的點之間的間距在視訊的圖像。 該calib_dist程序的措施之間的間距點,並使用這些信息來計算鏡頭扭曲。

運行calib_dist程序從命令提示符。 您將獲得此輸出:

> calib_dist
Image size (x,y) = (720,486)

-----------
Mouse Button
Left : Grab image.
Right : Quit.
-----------

將出現一個窗口顯示即時視訊。 站的攝像機校準模式,使所有的點都認為,然後點擊鼠標左鍵。 這停止視頻圖像,如圖2。 現在單擊並拖動圖像與鼠標左鍵繪製一個黑色矩形過每點。 開始與點最接近左上角的形象和繼續下去,直到所有的點被發現。 這些點必須包括以下順序:

1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
在每個矩形繪製圖像處理軟件將找到點封閉的矩形和地方紅十字為中心。 如果紅十字沒有出現重繪矩形點,直到找到。 圖2顯示了用戶繪製一個矩形超過最後點。

圖2:用戶標誌著校準點。

雖然每一個點是否被找到以下會出現在屏幕上:

-----------

Mouse ButtonLeft :

Rubber-bounding of feature. (6 x 4)

Right : Cansel rubber-bounding & Retry grabbing.

-----------

# 1/24

# 2/24

# 3/24

# 4/24

# 5/24

# 6/24

# 7/24

# 8/24

# 9/24

# 10/24

# 11/24

# 12/24

# 13/24

# 14/24

# 15/24

# 16/24

# 17/24

# 18/24

# 19/24

# 20/24

# 21/24

# 22/24

# 23/24

# 24/24

所有24點的形象,被發現點擊鼠標左鍵一次。 這將存儲點的位置和停止的視頻圖像。

-----------
Mouse ButtonLeft : Save feature position.
Right : Discard & Retry grabbing.
-----------
### No.1 ###
1, 1: 125.01, 102.84
2, 1: 198.73, 96.19
3, 1: 283.00, 94.30
4, 1: 369.78, 99.93
5, 1: 448.78, 110.33
6, 1: 514.39, 123.37
1, 2: 118.84, 173.96
2, 2: 192.13, 171.33
3, 2: 277.61, 171.27
4, 2: 366.40, 175.28
5, 2: 446.74, 181.88
6, 2: 512.50, 189.64
1, 3: 119.86, 246.72
2, 3: 191.37, 248.83
3, 3: 274.59, 251.42
4, 3: 361.36, 253.61
5, 3: 440.32, 255.61
6, 3: 505.38, 257.05
1, 4: 127.78, 313.80
2, 4: 196.05, 319.71
3, 4: 272.48, 327.11
4, 4: 355.03, 325.72
5, 4: 430.25, 324.01
6, 4: 493.18, 320.03
您現在應該採取另一種形象,並重複此過程5-10圖片從不同角度和立場。 在更多圖片所採取的更準確的校準。下面的數字顯示,典型的範例圖片。

所有24點的形象,被發現點擊鼠標左鍵一次。 這將存儲點的位置和停止的視頻圖像。

-----------

Mouse Button

Left : Grab next image.

Right : Calc parameter.

-----------

[360.0, 243.0, 174.0] 596.018289

[360.0, 243.0, 174.0] 596.018289

[360.0, 243.0, 174.0] 596.018289

[360.0, 243.0, 174.0] 596.018289

[360.0, 243.0, 174.0] 596.018289

[360.0, 243.0, 174.0] 596.018289

[360.0, 243.0, 174.0] 596.018289

[330.0, 223.0, 201.0] 590.288659

[330.0, 228.0, 201.0] 486.692482

[330.0, 233.0, 201.0] 400.390511

[325.0, 238.0, 201.0] 330.137494

[325.0, 243.0, 201.0] 276.447160

[325.0, 248.0, 201.0] 241.422442

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[325.0, 253.0, 201.0] 227.895132

[324.0, 253.5, 201.0] 227.334239

--------------

Center X: 324.000000

Y: 253.500000

Dist Factor: 201.000000

-----------

--------------

Mouse Button

Left : Check fittness.

Right :1/10.

-----------

這可能需要一段時間來計算這些參數,請耐心等待。 該中心x和y值和失真的因素是最終的核心價值所產生的calib_dist代碼。 這些值會有所不同,每視訊和應記下來,用於該calib_cparam程序。

為了檢查這些參數是正確的點擊鼠標左鍵一次。 這將顯示一個圖像抓住用紅色線繪製通過校準點。 這些行應通過中心在每一點(見圖3)。 每次被點擊鼠標左鍵在未來抓住圖像將顯示。

圖3:Two Sample Calibrated圖片結果。

一旦你感到滿意的結果,從calib_dist擊中鼠標按鈕以退出並運行calib_cparam代碼。

Running calib_cparam

calib_cparam用於查詢視訊焦距和其他參數。 它使用的模式所載calib_cparam.pdf,一個網格模式7水平線和垂直線,9(見圖2)。 這種模式應該被列印出來,並粘在一塊紙板或其他硬板。

calib_cparam是從控制台等calib_dist。 鍵入calib_cparam在命令提示符下,輸入的中心坐標和失真比發現calib_dist:

> ./calib_cparam
Input center coordinates: X = 324
: Y = 253Input distotion retio
: F = 201Image size (x,y) = (720,486)


1) 即時視頻窗口將出現。
2) 將校準板放在視訊前,使版面會垂直於相機,所有的網格線是可見的網格是盡可能大(見圖2)。
3) 點擊鼠標左鍵來獲取圖像。 白色橫線將出現疊加在圖像上。
4) 移動的白線,以覆蓋最黑網格線盡可能接近。 該生產線是上下移動使用向上和向下箭頭鍵,雖然它是順時針和逆時針旋轉使用左,右箭頭鍵。 一旦白線是從頂端網格線按下enter。 這行現在將變成藍色,另有白線就會出現(見圖4)。 這一進程應再重複所有的水平線。


一旦最後水平線已列入垂直白線就會出現,這個過程應該是重複的垂直線。 第一垂直白線,應放在了最左邊網格線和其他線路放在從左至右(見圖5)。

行的順序是非常重要的。 他們應該放在從上到下,然後從左至右,直到所有16條線,我們已制訂在螢幕上。



圖4:水平線就業 圖5:垂直線放置

5) 這個過程已經完成,一個圖像,網格模式應移到離100毫米視訊(視訊保持垂直模式)和進程一再重複。 圖6顯示了最後一行安置其中一個拍攝的圖片。

圖6:最後一行就業

6) 重複該過程的5倍,移動校準模式,總距離為500mm的鏡頭。 第五後的校準步驟,程序會自動計算攝像機參數。 你會被要求輸入一個文件名來存儲這些參數:

point_num = 315
--------------------------------------
SIZE = 720, 486
Distotion factor = 324.000000 253.000000 201.000000
372.97979 -24.50134 248.86941 0.00000
0.00000 327.03507 122.42421 0.00000
0.00000 0.00000 1.00000 0.00000
--------------------------------------
Input filename: wideAngleKeyence.dat


存儲在數據文件中的相機擊中鼠標按鈕以退出。

通過改變名稱,這台相機數據文件camera_para.dat,並把它在 bin /目錄中的數據可以立即使用的ARToolKit示例程序。 校準您的視訊應該改進追蹤結果。

距離之間的網格線在calib_cparam.pdf模式,正是40毫米,而格局待後每100毫米的測量和測量要重複5次。 這些值都是固定的源代碼calib_cparam_sub.c中的 util/calib_cparam下。

如果你想改變網格線之間的距離下面的源代碼應該修改:

inter_coord[k][j][i+7][0] = 40.0*i;
inter_coord[k][j][i+7][1] = 40.0*j;
inter_coord[k][j][i+7][2] = 100.0*k;


其中40.0是當前的距離,而距離是100.0模式應該退到從視訊每次。 測量的數目,需要採取可以通過改變變量:

*loop_num = 5;



One Step Calibration


一個步操作是完全相同的calib_dist。 您需要列印calib_dist.pdf和執行calib_camera2:

> calib_cparam2
Input the length between each markers: 40


-----------
Mouse Button
Left : Grab image.
Right : Quit.
-----------

之後,重複相同的指令的calib_dist步驟。

[ARToolKit] How does ARToolKit Work?

ARToolKit



Documentation
→Beginner:Getting Started:How does ARToolKit Work?


(yahoo翻譯+google翻譯+me)



How does ARToolKit work?

Basic Principles(基本原則)

ARToolKit應用可以讓虛擬圖像是疊加在視訊畫面。
這個秘密在於將黑色方塊作為tracking(追蹤)標記。


該ARToolKit 的 tracking工作原理如下:



1. 該camera拍攝的視頻畫面,將其發送到電腦。
2. 在computer上的軟體,檢查通過每個視訊畫面的所有的方形。
3. 如果找到一個正方形,該軟體使用一些數學運算來計算黑色方塊對應camera 的位置。
4. 一旦camera的位置是已知的,computer graphics model 也會在同樣位置顯示。
5. model在視頻的現實世界顯示,出現在marker上的方塊。
6. 最終輸出顯示在手持式顯示器,因此當user通過顯示器看起來,他們看到的圖形疊加在真實的世界。



下圖總結了這些步驟。
ARToolKit能夠執行此camera的即時tracking,確保虛擬物件總是出現疊加在tracking markers上。



(看不清楚,請點圖.)


(圖內容待補...)


Limitations (限制)


有一些限制,純粹基於computer vision(顯示)的AR系統。
當然,如果是虛擬物件將只出現在tracking marks 的範圍內。
這可能會限制大小和虛擬物件的運動。
這也意味著,如果users他們的手或其他物體覆蓋部分圖像,虛擬物件將消失。


---------------(以下待補)---------------
There are also range issues.
The larger the physical pattern the further away the pattern can be detected and so the great volume the user can be tracked in.
Table 1 shows some typical maximum ranges for square markers of different sizes.
These results were gathered by making maker patterns of a range of different sizes (length on a side),
placing them perpendicular to the camera and moving the camera back until the virtual objects on the squares disappeared.




Table 1: Tracking range for different sized patterns.




This range is also affected somewhat by pattern complexity.
The simpler the pattern the better.
Patterns with large black and white regions (i.e. low frequency patterns) are the most effective.
Replacing the 4.25 inch square pattern used above,
with a pattern of the same size but much more complexity,
reduced the tracking range from 34 to 15 inches.




Tracking is also affected by the marker orientation relative to the camera.
As the markers become more tilted and horizontal,
less and less of the center patterns are visible and so the recognition becomes more unreliable.




Finally, the tracking results are also affected by lighting conditions.
Overhead lights may create reflections and glare spots on a paper marker and so make it more difficult to find the marker square.
To reduce the glare patterns can be made from more non-reflective material.
For example, by gluing black velvet fabric to a white base.
The 'fuzzy' velvet paper available at craft shops also works very well.







You will find more informations on computer vision principle at this page, or more informations on performance at this page.

2009年8月19日 星期三

[ARToolKit] Starting your First Example

ARToolKit

Documentation
→Beginner:Getting Started:Starting your First Example
(yahoo翻譯+google翻譯+me)

Your First ARToolKit Example
Introduction
ARToolKit已經安裝過一個sample program,
符合你的ARToolKit版本的simpleTest simple
那麼在bin目錄下ARToolKit的功能就可以執行。
為了執行程式碼,你需要將在patterns 目錄中的hiroPatt.pdf內的marker列印出來。
假如將列印出來的marker黏在紙板上且使它保持平整,那麼將有最好的效果。
在每一種情況下的simple program 輸出是相同的,
所以最後一節介紹了為何simple program 執行時,它看起來是在不同的平台上執行。

Running ARToolKit
在每個平臺您通常有二個選擇:
從你的作業系統的資源管理器或從命令列,點擊該program:
後面那個選擇較佳,因為它會給你錯誤和標準輸出流(和ARToolKit用了很多) 。
在視頻的主要AR迴圈安裝程序開始之前,每個平台提供了一個對話框。
Windows(以Windows作業系統為例)
從您的Windows資源管理器的bin目錄內的simple.exe圖標上點擊兩下。
DOS控制台窗口就會開啟,當偵測到camera,後續對話框將開啟。
Otherwise start the Command Prompt program from the Start Bar
(In all programs->accessories-> Command Prompt on winXP, english version),
go the bin directory and run simple.exe .
到 bin 目錄下執行simple.exe 執行檔。
這個視訊對話框,可改變你的camera的大小或camera接收的格式。
你需要注意最佳的格式是最接近ARToolKit tracking的格式,
更快的獲取(RGB更有效率) 。
在有些camera driver您還可以更改幀速率。
simpleTest Output
假設成功的話,在螢幕上會出現一個視頻窗。
當你的camera收到之前列印出來的黑色HIRO方塊的圖像,你應該會看到一個虛擬的藍色立方體在marker上出現。
圖5顯示screen snapshot 的程式運作。
真實的marker是移動虛擬物件應該跟著移動且與marker顯像完全成相對位置。
The simple program running - a virtual block aligned with a real marker
為了使虛擬物件出現,marker的整個黑色方塊邊界和圖樣,必須在任何時候都明顯。
假如虛擬物件沒有顯現,或因為光源因素而閃爍顯現。
圖像處理過程中通常可以改變所使用的lighting起始值。
假使你敲擊鍵盤某一鍵,你將獲得並輸入一及時產生的新初始值。
這應該是在0到255之間的值。
預設值為100。
點擊某鍵時主要視訊視窗將顯示視訊畫面。
tracking輸入的圖像的標誌是一個紅色的方形的初始圖像。
視頻輸入時,這將有助於您檢查照明和初始值影響的效果。
(見圖6)
Thresholded Video Image with Identified Pattern

simple 的程式顯示了如何應用ARToolKit軟件來計算camera視角和使用這些資訊藉此精確地的在真實世界的物件上覆蓋虛擬圖像。
將在下一節介紹。

[ARToolKit] Setup ARToolKit

ARToolKit

Documentation
→Beginner:Getting Started: Setup ARToolKit

(yahoo翻譯+google翻譯+me)


Setting up ARToolKit


Introduction

其核心, ARToolKit是一個開發的軟件庫集合,設計成連接到應用程序。
因此, ARToolKit是分散式原始碼,你必須在你的特定作業系統和平台編譯它。
你需要一個開發環境,適用於你的作業系統。
自由環境是可在所有平台利用的。
建立檔案還提供了能夠建立在Windows中的非免費微軟的Visual Studio平台。


然而ARToolKit提供類似的跨平台功能,根據您的作業系統安裝不同的。本指南中,我們將為你特定的安裝引導您完成安裝過程。


您的機器,操作系統和平台必須滿足一些基本要求。
您的硬件必須能夠截取視訊,並有足夠的CPU來處理視訊和顯示。
也有一些基本軟體的依賴 -- 避免編譯器和連結器錯誤。
主要的軟件套件是跨平台(如OpenGL的GLUT, (OpenGL utility toolkit, 負責作業系統相關的輔助函式庫)),
以及其他相關的為您的機器的特殊視訊函式庫( DirectShow, V4L , QuickTime) 。


該軟件相依為每個支持的操作系統概述如下連同安裝說明。



Building

Building on Windows(以Windows作業系統為例)

Prerequisites

(請點圖放大看~)



Building ARToolKit


準備好上述系統開發環境後,可以開始建置了ARtoolkit:


1. 解壓縮ARtoolkit壓縮檔到適當的位置。這個路徑在下列步驟中將以{ARtoolkit}表示。
2. 解壓縮DSVideoLib壓縮檔到{ARToolKit} 。檢查資料夾名稱是否為"DSVL"。
3. 從 {ARToolKit}\DSV\bin 複製 "DSVL.dll"及 "DSVLd.dll" 到{ARToolKit}\bin目錄下。
4. 安裝GLUT DLL 到Windows System32 資料夾中,並將glut32.lib及glut.h複製到Visual Studio平台下的適當位置。
5. 執行 {ARToolKit}\Configure.win32.bat 以建置 include/AR/config.h。
6. 打開ARToolKit.sln文件( VS.NET )或ARToolkit.dsw文件( VS6 ) 。
7. Build the toolkit. (該專案)

若你選擇使用OpenVRML則需以下步驟:(範例為:libARvrml及simpleVRML)


8. OpenVRML解壓縮到{ARToolKit}。
9. 從 {ARToolKit}\OpenVRML\bin複製"js32.dll"到{ARToolKit}\bin目錄。
10. Enable the libARvrml and simpleVRML projects in the VS configuration manager and build.



Running the utilities and examples


目前ARToolKit最新版本沒有被設計限制在哪種環境下安裝。
目前編輯目錄應該用來建立您ARToolKit應用。
ARToolKit建立靜態函式庫,將這些連接到任何您建立的可執行的。

使用ARToolKit你需要有一些marker(標誌):
測試應用時在patterns directory(樣式目錄)需要提出一些預設marker。
你可以在pdf reader打開這些樣子的圖形,然後列印下來。這些在下次試驗會有用。
ARToolKit的markers必須是堅固且不易彎曲的,簡易的解決方法是將有marker的紙張黏在紙板上。
之後你需要測試ARToolKit的圖形物件與你的應用是否能一起使用。
假如執行結果顯示為一個旋轉的茶壺:

Graphics Test Screenshot

這項測試證實你的camera 支援OpenGL的ARToolKit圖形模型。
建議最低frame(幀)速率為15 fps ,
低於的話,ARToolKit rendering(顯像)時 ,將受到太多限制。
你還需測試影像(視頻)輸入及影像顯示是否能正常運作。
在 bin目錄下執行videoTest。
假如執行無誤,視窗將顯示(見下圖)。
這項試驗證實,您的camera支援ARToolKit視頻(video)組件和ARToolKit圖形(graphics)組件。




Video Test Screenshot


如果在視窗中都沒有顯示,
這個問題可能是與你預設的camera的設置有關。




[ARToolKit] Introduction

ARToolKit

Documentation
→Beginner:Getting Started:
Introduction

(yahoo翻譯+google翻譯+me)

Introduction to ARToolKit

ARToolKit是C和C + +語言的software library ,
可以讓programmer很容易地開發應用的增廣實境(Augmented Reality,AR)。
AR是虛擬影像覆蓋真實物體且在螢幕顯現的技術,
並有許多可能性的應用在工業和學術研究。



發展中一個最困難的部分,
AR應用正是計算時的角度準確度,
使虛擬圖像完全符合現實世界中的物件的相對位置。
ARToolKit利用計算機視覺技術來計算實際攝像機的位置和定位相對有記號的卡,
允許programmer覆蓋虛擬物體在這些卡上。
快速,準確,提供的ARToolKit應該能使許多新的和有趣的AR應用迅速發展。


這個指南包含ARToolKit library的完整說明,
如何安裝它,以及如何使用它的功能在AR的應用。
幾個簡單的ARToolKit範例應用程式提供programmer開始測試。
ARToolKit包括tracking libraries和完整的原始碼,
使其能編製程序,對於各種平台或定制自己的應用程序。




ARToolKit目前運行在SGI的IRIX ,
Linux作業系統的PC ,
Mac OS X和Windows ( 95/98/NT/2000/XP )作業系統的PC。
ARToolKit的最新版本是多平台..的功能,
每個版本的工具是相同的,但性能可能有所變化,
這取決於不同的硬件配置。



目前版本的ARToolKit同時支援視訊和視覺透視AR。
視訊看到,是虛擬圖像覆蓋的影像的真實世界。
另一種說法是視覺透視AR,電腦圖形直接覆蓋在現實世界的畫面。
視覺透視AR通常需要透過前端架設顯示器和更複雜的攝像機標定和登記要求。


============================

Comments and questions about ARToolKit and any bug reports are actively invited.
News about new releases of ARToolKit,
comments and questions and applications people are working on is broadcast on the ARToolKit mailing list,
and there is an active community forum (see
community webpage). Bug reports and fixes, patches, and feature requests are also actively sought.
These should be posted using the tracker on the ARToolKit SourceForge project pages, linked above.
(意見和問題ARToolKit和任何錯誤報告,積極參加。
新聞關於新版本的ARToolKit ,
意見和問題和應用工作的人是廣播ARToolKit的郵寄名單,
並有一個活躍的社區論壇(見社區網頁 ) 。
錯誤報告和補丁, 補丁,和功能要求也積極要求。這些應張貼使用跟踪的ARToolKit SourceForge專案網頁,聯繫以上。)


---------------------------------------------------

IMPORTANT NOTICE REGARDING YOUR RIGHT TO USE ARTOOLKIT:

ARToolKit is made available freely for non-commercial use under the GNU General Public License.
Commercial licenses to a professional implementation of ARToolKit are available for users for whom the GPL is not suitable,
or who require a higher level of support,
or who require customization or other specialist modifictions. Commercial licenses are administered by ARToolworks, Inc., Seattle, WA, USA.
Click here for more information on ARToolKit licenses and your usage options.
(關於您的权利的重要通知使用ARTOOLKIT :
ARToolKit自由地使成為可利用為非商業使用根據GNU公众執照。
對ARToolKit的專業實施的商业执照為GPL不适用于,
或者要求高水平支持,或者要求定製或其他專家modifictions的用戶是可利用的。 商业执照是由ARToolworks, Inc.,西雅圖, WA,美國執行的。
點擊這裡關於ARToolKit執照和您的用法選擇的更多信息。 )

2009年8月8日 星期六

人物三段攻擊

http://stu.csie.mcu.edu.tw/~s5360512/test10 (未完成版)

X:攻擊鍵



人物有三段攻擊,第三段攻擊時會旋轉,但身體和腳無法同步。





http://stu.csie.mcu.edu.tw/~s5360512/test11 (完成)

操作如上





第三段攻擊時,身體和腳達到了同步的效果。

2009年7月16日 星期四

2009年6月5日 星期五

與 94 級專研生合照


在 94 級畢業班謝師宴上與專研生合照!

2009年6月3日 星期三

怪物測試

http://stu.csie.mcu.edu.tw/~s5360512/test8

左:向左走
右:向右走
上:向上走
下:向下走
Z:跳躍
X:攻擊




當人物靠近,只要是在怪物的攻擊範圍內,怪物會主動靠近人物。




http://stu.csie.mcu.edu.tw/~s5360512/test9

操作方式如同test8



當人物靠近,只要是在怪物的攻擊範圍內,怪物會主動靠近人物,並且做出攻擊的動作。
人物會向後仰,以示遭到攻擊。




2009年5月28日 星期四

抓取系統時間

用 Builder C++ 寫"取得系統時間"的程式


按下按鈕後,程式會把系統的時間顯示在Label上


圖一左邊為程式,右邊為系統時間




圖一





圖二為程式碼



圖二

2009年5月22日 星期五

攻擊測試

http://stu.csie.mcu.edu.tw/~s5360512/test7

左:向上走
右:向下走
上:向前走
下:轉身
Z:跳躍
X:攻擊



人物靠近怪物,搭配指令,做出攻擊的動作。

2009年5月20日 星期三

扣血測試

http://stu.csie.mcu.edu.tw/~s5360512/test6

鍵盤控制
A:向上走
D:向下走
S:向後轉
W:向前走
Q:跳躍
E:增加怪的數量



我們假設紅框是怪,只要在它的攻擊範圍內,人物都會扣血。

若血被扣完,人物不會倒地或消失,而是血量呈現負的狀態。

2009年3月24日 星期二

音訊互動研究與開發 : 介面設計



這是初步構想的介面 , 如有新增設計,會再繼續更新。

2009年3月13日 星期五

音訊互動之研究與開發 : 大綱整理

需求:

在不同定點和不同時間內撥放具有關聯性的音樂,主要是由一台主控電腦透過區域網路去控制其它電腦在適當時間內將音樂藉由喇叭播放,以達到低硬體設備模擬5.1聲道環繞之效果。

設備:

電腦兩台以上
喇叭2組以上
HUB
Cat5e網路線


 控制流程