2009年12月23日 星期三

Intel GMA 無法設定 1440×900,1680×1050

Intel GMA 無法設定 1440×900,1680×1050

1440x900

關於這個問題以前就有找到解決方式,只不過時間一久突然忘記如何修改Intel的Driver,

所以將修改過程記錄以便下次要重覆設定時使用,通常在螢幕接上顯示卡時會有一個

EDID資訊與顯示卡溝通,之後顯卡的驅動程式便會將最佳解析度顯示在選項上,不過在

溝通過程中如果發生問題,自然的那個最佳解析度就無法顯示在選項上面,這種問題

有時會發生在接上KVM後,KVM不支援將EDID資訊CLONE或是顯示晶片無法正確讀取

資訊都有可能,下面就以Intel內建顯示晶片GMA系列的驅動程式做修改:

1.取得Intel驅動程式

請至官網將驅動程式下載,如果有zip檔的請盡量選擇zip檔的,主要是可以直接將驅動

程式解壓縮修改比較方便,萬一像我一樣是下載到exe執行檔的也沒關系,只要將您下載

後的xxx.exe檔改成xxx.rar之後使用winrar開啟後會看到目錄結構,請全部解壓縮

1440x900a

2.修改驅動程式igxp32.inf符合顯示格式

請至解壓縮後的目錄中的\Graphics\下尋找igxp32.ini並開啟

1440x900b

*尋找「HKR,, TotalDTDCount, %REG_DWORD%, 0」修改成

HKR,, TotalDTDCount, %REG_DWORD%, 5

*尋找「

HKR,, DTD_5,%REG_BINARY%, 00, 00, 00 ,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00」修改成

1440×900請修改成

HKR,, DTD_5,%REG_BINARY%, 9A,29,A0,D0,51,84,22,30,50,98,36,00,98,FF,10,00,00,1C,37,01

1680×1050請修改成

HKR,, DTD_5,%REG_BINARY%, 21,39,90,30,62,1A,27,40,68,B0,36,00,D9,28,11,00,00,1C,37,01

3.重新安裝驅動程式

修改請記得存檔後,再執行驅動程式安裝,安裝後請務必重開機,

再進入Windows的解析度設定或是Intel提供的程式就會看到1440×900

的解析度出現。

1440x900c

整個修改過程其實不難,重點是在下載後的驅動程式必需解壓縮再進入修改igxp32.inf後

再重新安裝驅動程式,利用修改後的設定檔產生需要設定的解析度設定。

不過,Intel如果能在驅動程式上像Nvida,ATI可以自行增加解析度設定的工具不免

是一項福音,有時所提供的便利不見得可以在每種場合適用,像EDID這種代來的方便是

可以認可,只是在出問題時也必需要有解決方式來補足!

EDID(Extended Display Identification Data)

EDID 包含顯示設備的基本參數,如製造廠商、產品名稱、最大行場頻、可支援的分辨率等。

DDC(Display Data Channel)

基於End-user 的即插即用功能的需求,VESA 定義了DDC 標準,包含DDC1/DDC2B/DDC2B+ 等模式

DDC1:主機與顯示設備單向通訊,以V-Sync為Clock,顯示器不停的向主機發送EDID資料。
DDC2B:主機與顯示設備準雙向通訊,基於I2C通訊協議,只有主機向顯示器發出需求信號,並得到顯示器的回應後,顯示器才送出EDID 資料。
目前DDC1 基本上已經不再使用,主要是採用DDC2B 模式。

2009年9月25日 星期五

Wii軟改後HBC暨相關軟體簡介

Wii軟改後HBC暨相關軟體簡介

這篇是以PTT(台大批踢踢實業坊)Modchip版,
置底文kyo0721大大的軟改傻瓜包為基礎而寫出的心得。

本次軟改所動用的配備:
人 1個
黑色Wii 原生4.0J 1台
sd 2g記憶卡 1張
kyo0721大的軟改傻瓜包

基本上只要按照置底文kyo大的傻瓜包。
真的就是一路傻傻就安裝到底。
莫名其妙就改好了…

這話一點都不誇張,你覺得純文字讓你霧颯颯嗎?
http://ppt.cc/iDpV
這是kyo大在威樂論壇的圖文懶人包。
我連看這個都也是迷迷糊糊改過來。
就連改成功了沒我都不知道…


然後一定要感謝的就是kyo0721大。
這幾天不厭其煩的回答著我的問題。
因為這是我第一台Wii,也是第一次軟改。
爬了這麼多論壇跟文章,"唯一"最好的就是kyo0721大的文章
我只能說改機版有kyo0721大真是Wii軟改使用者的福氣。
在此至上最深的謝意。

==========心得開始分隔線==========

改好之後首先當然是點入hbc頻道。
先介紹第一個軟體
neogamma 用來執行備份片的軟體。
直接點load dvd game 就可以執行備份片。

我一開始改完,是用最傻的方式來確定軟改成功與否。
也就是透過neogamma來執行備份片,
來判定是軟改是否成功。
不過這很不準,原因是太挑片…
所以說進入neogamma之後看下方。
會顯示ios249 rev14.
以kyo大的懶人包為基礎成功以後應該是這樣顯示的。


===========================
cIos installer

ios 簡單打個比方就是官方的驅動程式
cios 就是非官方的驅動程式
這套軟體的功能簡單說就是
安裝非官方的驅動程式。

===========================
mplayer ce

看dvd用的播放程式。

===========================
anytitle deleter

用來刪除頻道(wad)的軟體

===========================
tucha bug restorer

用來還原IOS上Trucah Bug的工具。
也就是懶人包中用來破解wii的軟體。

===========================
wad manager

用來安裝wad 簡單說就是用來安裝頻道、Wiiware、ios的軟體
頻道就是你一開機,就有好多方格的地方。
安裝wad之後就會佔用一個方格,也就可以跳過hbc直接進入。
有點類似電腦在桌面上建立捷徑的意思。
而已安裝的頻道(wad)可以透過anytitle deleter軟體移除。

註:wad是一種封裝格式,就好像壓縮程式zip一樣。

===========================
usb loader gx

用來讀取外接硬碟以及隨身碟內備份檔的軟體。
要準備一個格式化為WBFS的隨身碟或是外接硬碟。
他才會直接讀入。
當然也可以插入普通硬碟,
透過 usb loader gx去格式化成WBFS格式。
要注意的是一般電腦無法讀取WBFS格式硬碟。
usb loader gx的介面官方就有提供繁體中文語系。
而翻譯者正是kyo0721大。
所以介面不用擔心無法上手,因為是很親切的繁中。

在這邊推薦,KYO大懶人包最下面有提供的工具
WBFS manager 3.0
(需安裝 Microsoft .NET Framework 3.5 SP1)
透過該軟體就可在電腦上格式化,跟讀取WBFS格式硬碟。
以及把Iso備份檔傳入WBFS的硬碟中。

===========================
WBFS manager 3.0 簡易操作說明

啟動之後,第一步點重新整理磁碟清單。(可省略)
點選左邊下拉選單,
選擇你要用來格式化或是讀取WBFS磁區的磁碟代號。

如果你要格式化的話,只要點選格式化。
就可以把那個磁區格式化為WBFS磁區。

如果你已經是WBFS磁區,只要按下載入。
左邊那個清單就會進入那個WBFS磁碟了。

接著點選編輯 瀏覽,選擇你要加入WBFS的ISO檔按下確定後。
在右邊的清單 就會出現你所要加入WBFS磁碟的ISO檔。
按下加入磁碟 就可以把電腦上的ISO檔傳入WBFS磁碟中了。

===========================
SD記憶卡結構

SD記憶卡中可以看到好幾個資料夾。
簡單說一下資料夾的結構。

APPS 用來放HBC要運行的軟體的資料夾。
你點入HBC頻道看到的軟體都是放在APPS裡面。

config 用來放置各軟體設定檔的資料夾。
大部分軟體會把設定檔存在這。

wad 存放wad檔的資料夾。

BannerrBomb 用來裝hbc的,應該不用多介紹了。

private 用以存放Wii存檔或是Wiiware。

codes 存放金手指的資料夾。

.dol格式介紹:
.dol就像是HBC的執行檔 相當於.exe是PC的執行檔
.dol要放在資料夾內 以資料夾命名該檔案
.dol必定命名為boot.dol以供辨識。

原則上SD卡就是要插在Wii上了,不然HBC軟體都會無法運行。
感謝RXCUP大的補充及指正。

===========================
大致上就是這樣了,對於第一次軟改之後的使用者。
我想應該可以解除傻瓜包軟改之後,
接下來不知道要如何使用局面了。

2009年8月13日 星期四

把電晶體發動!

電晶體的「偏壓」一如引擎的「慢車調整」一樣,不當的慢車調整,可能引起頻頻熄火、爆震或高溫......。

  三支腳的電晶體,是比兩支腳的二極體多了一支腳,可是要在這三支腳上加電壓,卻不知該從何加起,明明知道要在每個腳上加些電阻,才能正常動作, 卻不知該如何接法,更不知該接多少阻值才恰當?以前電子學課程老師曾敎過,腦中猶存一絲記憶,卻組合不出所以然,該還了已經還了,不該忘的早就忘光了。如 果是門外漢,沒有經正統名師教過而不懂,那倒也罷了,氣就氣在明明以前拜師學藝,把這些簡單的東西當成不值一學,或甚筆記抄得比別人整齊,考試也不落於 人,今日卻敗在這電晶體的三支腳之間,不知何門是出路。如果你問我電晶體三支腳的電流是怎麼流的,我也「莫宰羊」!

  電晶體儘管有三支腳,從來也沒有人規定電流要從第一腳流經第二腳再流經第三腳,或是從第一腳流經第三腳再流經第二腳。所以你愛讓電流從哪一腳流 到哪一腳就儘管流吧!你沒犯規也沒犯法,現在已經沒有老師和教授來批改作業,也不必冒著當掉和重修的風險戰戰兢兢,所以你可以讓電晶體的電流順著流,也可 以讓它倒著流,你只需欣賞它冒煙的奇觀,並準備幾塊錢或幾拾(佰)塊再買它一顆就是了,說不定被煙一燻(或什麼現象也沒有)就把你燻醒了。

電晶體的電流是怎麼流的?

  為了確保電晶體的安全,使它不致因操作及接法錯誤,必須要了解電晶體的「本性」,見圖一(a):NPN晶體的電流流向及圖一(b):PNP 晶體的電流流向。從電晶體的符號中,可以很清楚的由三支腳中之射極箭頭方向辨認電流的流向,NPN電晶體之射極電流是基極電流和集極電流的和,換言之,電 流是分別由集極和基極流入電晶體再從射極流出去的。PNP電晶體的電流流向和NPN電晶體相反,它是從射極流入電晶體並分兩路由基極和集極流出,射極電流 亦為基極和集極電流之和。

  (編者註:電流的方向有兩種解釋法,傳統的解釋是由正流向負,但在解釋電子現象時,則必須反其道而行,亦即電子流是由負到正的,究竟電和電子是怎麼跑的,誰也不知道,我們只是這樣想,這樣推理,而且也覺得行得通罷了!)

把電壓加到電晶體的三支腳上

  電晶體既然前面有個「電」字,它不加電是不能工作的,這道理和電阻、電容、電感是一樣的。圖二(a)NPN電晶體的電壓接法和圖二(b)PNP電晶體的電壓接法,就是為了要使電晶體得到圖一的電流流向,加在基極和射極間之電壓稱為VBB,加在集集和射極間的電壓稱為VCC,如果是PNP晶體,其VBB和VCC電壓的極性恰和NPN相反。電壓加在電晶體的任何兩腳,可以把這兩腳看成一未知的電阻,所以電流就通過電晶體,而得到圖一所示的iB和iC

圖二是個陷阱?

  如果照圖二把電壓加到B-E和C-E之間,八成會把電晶體燒掉的!理由很簡單,B-E之間是個二極體,VBB電壓不可超過0.7V,否則 iB 會驟然上升,把晶體燒掉了。就算我們只給VBB 0.7V,而得到一個不足以燒電晶體的 iB 值(設若為0.2A),仍然要考慮另一層潛伏的危機,且看下面分解。設電晶體的 hfe 值為50,因 iC 是隨 iB 而變的,所以 iB × hfe = 0.2A × 50 = 10A,即是 iC 之值,若所加VCC電壓為10V,則在電晶體C、E上的功率消耗即為12V × 10A = 120W。如此一來,再「勇」的2N3055也要被燒毀,何況是用來做實驗的2N3569。

為了安全起見

  先把電晶體的B和C各串一枚電阻再說。電阻有限制電流的作用,因為它對「電」流的流路有「阻」力。前一節圖二中,把基極電壓加在VBB電晶體的B和E之間,因為電晶體的B-E間實際上可用一近似二極體代替,所以VBB大於0.7V時,VBB只要稍微增加, iB 就要增加很多的,這理由很簡單,因為VBB電壓把電流「壓」到電晶體裡面去了。如果在電晶體的基極先串上一枚電阻,則不管VBB增加到什麼程度,流入電晶體B-E間的電流 iB 總要先被 RB 這一關限制的;至於接在集極的電阻也是有同樣的效果。

要加多大的電阻上去?

  如圖三,加在電晶體基極和集極上的電阻,其阻值決定於電晶體的動作型態、增益、頻率響應,可是先別擔心那麼多,或許我們只是隨手抓了一顆來試試,所以只考慮它的安全就夠了。若設電晶體的 hfe 為100,所加之VCC為12V,VBB為6V, iC 之靜態值為10mA,要加多大的 RC 和 RB 呢(見圖四)?

  要領(1):決定VCE之靜態電壓點。一般為1/2VCC最恰當,因為這樣可以得到最大擺幅的VCE電壓。

  要領(3):求 iB 之靜態值我們是在倒過來推演 iB 之值,理論上 iC 之值是受 iB 控制的,可是我們先預訂 iC 值再來算到底要給多少 iB ,也是合理的。由以下的式子可以導出 iB 值。

  要領(4):決定了 RB 之值。有了 IB 及VBB就可算出 RB 值了,但仍然要先知道 RB 上面的壓降才行。

  結論:如果你騎過機車或開過汽車,你一定知道什麼叫「發動」,現在,我們確定了圖四上的 RB 及 RC 值,並加了VBB和VCC,我們已經把這個電路「發動」了,亦即它已經處在備戰狀態。

改成單一電壓供應

  在實用的電路上,我們很少看到VCC電壓和VBB電壓分開供應的,雖然電路已經演變到圖四,但仍然覺得怪怪的,是否能夠把兩組電源供應變成一組呢?我想是可以的,現在就讓我們來試試看!

  圖五是基本偏壓電路演變成實用電路的過程。(a)圖的VBB和VCC為6V及12V,將VBB改為12V後就成為(b)圖。由於此時VBB和VCC同值,故可共用一電源,即為(c)圖,把橫著畫的 RB 直起來成為(d)圖就更像樣了。

圖四和圖五(d)的RB並不等值

  在圖五的演變過程中,因為變動了VBB值6V為12V,所以 RB 必須重新計算,才能得到原來的 IB 值。

  已知 IB 為100uA

顯然要得到原來的 IB 值,必須增加 RB 值。因為VBB電「壓」增高了,電「阻」也要大起來,才算公平。

三元件的功率消耗及電源的供應電流

  電晶體固然處在備戰狀態了,但這種狀態持續多久呢?也許因為電阻的負載過重就燒掉了,也許能源(電源)供應不足,電池一下子就沒電了(如果你是用乾電池當電源的話就明顯了)。先求 RB 上的功率消耗:

求 RC 上的功率消耗:

求電晶體上的功率消耗:

求電源的供應功率:

求電源電流:由兩方面來求出,答案應該是一致的。

由以上所得的數據,可知使用一般的電阻(1/4W)極電晶體均不會有燒毀的危險。

什麼是電晶體的偏壓?

  偏壓一詞實在難解,常有人說偏壓太大、偏壓不足,究竟什麼是偏壓呢?上面所說的,讓電晶體的三根腳接上適當的電阻和電壓,使它處在工作狀態,而 電晶體基極與射極端之電壓取得之形式,就是一種偏壓形式,電晶體各腳間之電壓就是偏壓。上面我們所討論的使電晶體工作起來的方法是電晶體架構中最簡單也是 最基本的一種偏壓方法。我們將繼續探討它的交流動作狀態和其他形式偏壓電路的比較。

基本偏壓方式的交流動作原理

  圖七,Ci式輸入電容,也是交流耦合電容,也是隔直流電容,它把交流輸入訊號送到電晶體的基極,卻使基極端的直流電壓和輸入訊號相隔離。Co 是輸出電容,它的功用和 Ci 沒有兩樣。Vi 訊號送到基極時, Vi 轉變成VB-E,而VBE又轉變成IB,IB經晶體放大後就變成IC,IC和Rc相乘就變成V(Rc),V(Rc)經Co後就變成Vo訊號了。

集極回輸的偏壓方式

  圖八和圖七沒有很特殊的差別,只是原來接在 RB 而現在接在電晶體Vcc的集極,RB 除了做電晶體的基極偏壓電阻外,尚是此電路的回輸電阻。先別看回輸對電路的影響,輸入訊號由基極送入電晶體,輸出訊號則由集極取出,但因為 RB 接在基極和集極之間,所以 RB 從集極端偷取一點交流訊號送回基極來,由於這偷來的訊號和原先的輸入訊號是反相,故有抵減的功用,所以電路的增益就減小了,但相對的得到了穩定的效果。集極回輸除了增加工作點的穩定性之外,對於交流放大特性之失真及頻率響應亦有改善的功效。

射極回輸電路

  在單晶體的基本偏壓電路中加一枚電組在射極上,就成了射極回輸(亦稱電流回輸)電路了,圖九即是。從圖上看不出明顯的回輸迴路,這就是它奇妙的地方。當輸入訊號送到基極時,電晶體射極上的交流訊號的大小應該和基極訊號相去不遠,理由很簡單,因為 RE 之值比電晶體的B-E間之等效電阻(hre)大很多。所以V(RE)Vi,但流經電晶體集極和射極支電流是接近等值的,所以V(RE)轉變成I(RE)後饋入I(RC)而在Rc上產生V(RC)的電壓,經Co後就是Vo了。此電路的直流穩定性是被 RE 改善的,而且其增益相當明顯是近似於RC/RE之值。

集極和射極訊號一起回輸

  圖十的穩定性比圖八和圖九均較優越,因為它有雙重回輸,這樣的電路不但直流穩定性良好,增益穩定,且失真 小。以往的多級AC耦合電路最常見的電路就是這一種。本電路架構對電晶體的 hfe 值的要求並沒有圖八那麼嚴格,因為它的雙重回輸使電晶體的工作點不會受 hfe 值影響太大。

射極回輸電路的另一形態

  圖十一, RB1 和RB2之阻值均比以前各圖要小很多,因為這種電路是藉這兩枚電阻將基極端的電壓設定在一適當值,所以他的工作點很穩定,對電晶體hfe值的要求亦相當寬裕。


非反相放大器──射極隨耦器

  見十二圖,這個電路和前面所有的電路不同之處就是沒有集極電阻,而且由射極取出訊號輸出。這電路的增益是小於1的,也就是輸出訊號的幅度比輸入訊號小,但電路的電流放大率幾乎是電晶體的 hfe 值,所以相當於降低了訊號的阻抗。本電路的工作點易受電晶體 hfe 值的影響。

  圖十三比圖十二多了一枚RB2,這就足以改善電路工作點的穩定,不受電晶體 hfe 值的影響,但因 RB1 和RB2 並聯的等效 RB 值比圖十二要小很多,所以輸入阻抗較遜於圖十二電路。

多級電路是單級電路的衍生

  不論放大器電路有多複雜,它們的偏壓供應方式應該離不開以上所說的幾種接法,若在直流耦合電路中, 它們電晶體各級間也許共用了許多電阻,也就是前一級的 Rc 實際上是後一級的 RB,或前一級的 RE 是後一級的 RB。總之,偏壓的供應技巧相當繁多,其目的是使電晶體工作起來,而且又處於最佳的工作點,並對電晶體特性的要求和電源供應的範圍有更大更寬的容許度。

轉載音響技術第77期MAY. 1982 把電晶體發動!/洪飛

2009年7月25日 星期六

號稱世界上最簡單的馬達喔!

操作步驟與現象:

準備器材:強力磁鐵2A電池銅線螺絲釘

1.將銅線彎折成圖1的形狀,高度要配合乾電池的大小。

2.將強力電池置於乾電池底部,磁鐵會緊緊吸引住電池。再將彎折好的銅線放進去(如圖2)。銅線就會快速的旋轉了。

3.如果銅線不會旋轉,調整銅線與磁鐵的接觸點,不要太緊,但是必須接觸,以構成通路。

4.銅線也可以彎折成螺旋狀(如圖3),同樣可以轉動喔!

(圖1)

(圖2)

(圖3)

按此觀看影片(圖2)6.5M  (圖3)10.6M

也可以這樣玩:

將強力磁鐵各放一個在乾電池的上部、底部,在上部電池的頂端在放上一根螺絲釘,螺絲釘的尖端與電池吸引住(如圖4)。取銅線或電線接觸螺絲釘的頂端以及最下方的磁鐵。仔細觀察,電池與磁鐵一起轉動了喔!

按此觀看影片(12.7M)

(圖4)

叮嚀的話:

銅線如果不會旋轉,經常是因為銅線底部和強力磁鐵夾得太緊,注意調整即可。而磁鐵一定要使用強力磁鐵,五金店買得到,一顆約 50元(12mm x 12mm)。銅線則可以購買「喇叭線」(直徑1.6mm),將外緣的橡皮剝開,裏面就是銅線。

這個遊戲可以先讓學生操作成功之後,指導小朋友將磁鐵換個方向,上下顛倒放,再仔細觀察銅線旋轉的方向有沒有變化?此外,也可發揮創意,讓小朋友將銅線彎折各種不同形狀(例如愛心形狀),並且要能轉動。

單極馬達的變化很多,例如以下各種變化。圖5是將螺絲釘吸在磁鐵上後,將尖端吸引在電池底部,通電後(以電線接觸上方的電池頂端以及下方的磁鐵),螺絲釘就會轉動(螺絲釘掛上螺帽,是為了增加重量,讓螺絲釘保持直立)。圖6是乾電池頂端底端各接上一個強力磁鐵(同極要相對),將銅線彎折成U形,放在平坦的地面(桌面),就會一起往前跑喔!

(圖5)按圖形觀看影片

(圖6)

原理:

和 一般的馬達的原理相同,都是利用「電磁感應」,差別只是在於單極馬達的構造更為簡單。其原理如下圖 (圖 7);當電流由左方流經銅線時,銅線週圍會形成感應磁場(藍色曲線),而強力磁鐵本身的磁場(綠色曲線),與銅線的感應磁場產生吸引(螢幕的前方,亦即朝 讀者方向,因為兩個磁場方向相反,如同異極相吸)與排斥(螢幕的後方,即朝讀者反方向,因為兩個磁場方向相同,同異極相斥),因此銅線就會旋轉了。而如果 將強力磁鐵上下顛倒過來,銅線旋轉的方向也就會反過來了。

判斷銅線旋轉方向的一個簡單方法是:右手開掌定則。將右手的拇指順著銅線的電流方向(黑色箭頭),其他四指順著強力磁鐵的磁場方向(綠色箭頭),掌心的方向就是銅線的前進方向了(紅色箭頭)。

(圖7)

NOVA 超巨大 3D LED 顯示器於瑞士首府蘇黎世現身!



話說咱們一向對很閃的東西感到相當有興趣,不過那種閃到看不見的除外...

嗯!不要離題太遠。接下來要介紹的是瑞士聯邦技術學院 (Swiss Federal Institute of Technology Zurich)慶賀該校 150 週年紀念所展出的超大吊掛 LED 3D 螢幕,NOVA;這個由 25,000 組 LED 燈組成的超大螢幕,總重可是高達 3 公噸,每一組都有 12 種不同顏色的 LED 在其中,能夠輸出 1600 萬色、25fps 的 3D 影像。

這個巨獸將在首都蘇黎世展出(據說也可能會出現在 Wired 雜誌舉辦的 NEXTFEST 未來科技展當中出現),直到明年的九月為止;各位有興趣的朋友,可以順便來趟深度之旅也不錯。

[出自 Digg and Today and Tomorrow]

2009年7月24日 星期五

如何在 Pro/ENGINEER 中使用方程式建立曲線

如何在 Pro/ENGINEER 中使用方程式建立曲線

2006/11/28 19:16

圖 1


圖 2


圖 3


圖 4


圖 5


圖 6


在 Pro/ENGINEER 中,您可以使用數學方程式建立基準曲線,以下我們將舉幾個例子為您說明。

首先,您需要執行下列三個簡單的步驟:

  • 插入 > 模型基準 > 曲線 > 從方程 > 完成
  • 選取座標系統
  • 選取「卡式」、「圓柱」或「球狀」

Pro/ENGINEER 方程式中的三個變數 (卡式座標系統中的 X、Y 和 Z) 均為獨立變數,並以 t 為基數;Pro/ENGINEER 中的 t 值為 0 或 1。

比方說,拋物線的簡單方程式通常會是:

x=y^2

在 Pro/ENGINEER 中,每個方程式的變數都必須分開列出,如下所示:

x=t^2 (x 是 t 的平方數)
y=t (y 是 t 的線性數)
z=0 (x-y 平面上的曲線) ( 1)

Pro/ENGINEER 在解方程式時,將分別設定 t=0t=1;因此若要調整結果,您只需在方程式中加入比例係數,如下所示:

x=3*t^2 (將結果乘以 3) ( 2)

x=(3*t)^2

這樣一來,結果將會隨著 "t" 從 0 變成 3 而跟著改變 ( 3)。

此外,方程式中也可以加入常數,這樣曲線的位置就會移動,如下:

x=1.2+3*t^2

同時/或者,您可以將 Z 設定為 0 以外的值,甚至另外列出一條 Z 方程式,這樣就能變更 Z 的位置 ( 4)。

5 為下列方程式所產生的曲線:

x=d1+d2*t^2
y=d0*t
z=1+d3*cos(t*400)

您可以使用下列方程式建立橢圓螺旋曲線:

x=4*cos(t*3*360)
y=2*sin(t*3*360)
z=5*t (圖 6)

2009年7月20日 星期一

LDAP(Lightweight Directory Access Protocol輕量級目錄存取服務) 本篇作者:王俊城 (Anderson_Wang)

刊登日期:2004/06/17

http://www.msservermag.com.tw/default.aspx

LDAP(Lightweight Directory Access Protocol,輕量級目錄存取服務)是什麼呢?如果您對這個名詞還很陌生,至少應該瞭解什麼是 AD(Active Directory)吧!AD 其實就是一台 LDAP Server,Microsoft 將 LDAP 修改過後,用來存放相關資料,以方便控制。


早期的電腦系統多半是專屬系統,彼此之間並不相容,甚至同一家公司的產品也不見得相容,要讓這些專屬系統彼此相容,需要大費周章,有時甚至徒勞無 功。後來定義了OSI 7 Layer,用來描述電腦架構及資料如何透過 OSI 7 Layer,彼此順利的交換資料,進行溝通。而 CCITT(Consultative Committee for International Telegraph and Telephone國際電報電話諮詢委員會)於 1988年,根據 OSI 7 Layer,定義出 X.500 目錄服務。

X.500 將目錄定義為階層式架構,以存放大量資訊,並且利於資訊的搜尋,X.500 利用目錄存取通訊協定(DAP Directory Access Protocol),在目錄的伺服器(Server)與用戶端(Client)之間溝通(其他詳細的說明可以參考之前劉老師的大作:X.500),,然而 DAP 屬於應用層的通訊協定,卻需要參考 OSI 7 Layer架構,所以就有人提出了簡化的版本OLDAP,LDAP依據 TCP/IP的架構,並且簡化了 X.500 的操作及省略部分難懂得特性。

但是,將資訊存放到目錄之中,好處是什麼呢?支援目錄的應用程式可以存取目錄之中的資訊,整合到應用程式之中,加強了應用程式的功能,舉例來說: 開會時需要先登記會議室,利用行程管理程式可以幫忙登記,但是問題是:如果彼此之間訊息不同步,又如何能得知會議室是否有空?或是已經被登記使用 呢?IBM 的 Lotus/Notes 推出時,強大的功能令人耳目一新,其中一項便是能同步彼此之間的訊息,包括會議室 booking 的狀況,每個人的行程規劃(schedule)…等,這正是目錄服務迷人的地方。

目前目錄服務已經廣泛的應用在各個地方,小到行程管理規劃,大至Application Server(ex:WebSphere) 已經內建 LDAP Server,它是未來資訊系統之間,彼此溝通交換訊息的最佳途徑,若是想將您的系統做到 Login once,run anywhere.LDAP是不二選擇(例如:Windows之間,或是 Linux/Unix to Windows),進一步瞭解目錄服務,絕對能掌握未來的契機!

2009年7月17日 星期五

PHP 筆記

簡介

PHP(PHP: Hypertext Preprocessor)超文件預處理器

  1. 自由軟體(Open Source)
  2. 伺服器端(server side)
  3. 嵌入式(embedded into HTML)
  4. 跨平台(cross platform)
  5. 描述性(scripting language)

最新發展

  • PHP5 的改變將遠大於 2000 年的 PHP3 轉 PHP4 過程﹐PHP 寫作方式可望出現較大轉變﹐這是因為 PHP 導入物件導向設計的概念所致。
  • PHP5 預計將採用新的 language engine(Zend 2.0)﹐這顆新引擎除了可以支援物件導向的語法外﹐還將大幅提昇 PHP 的效能。
  • 效能的增進來自於 PHP4 使用傳值方式複製物件﹐PHP5 改用傳 reference 方式﹐這樣讓 CPU 與 memory 的使用效率大幅增加﹐再加上快取機制﹐讓 PHP5 在 scripting language 環境更具競爭力。
  • PHP5 的物件模式 有機會成為 .NET 與 J2EE-based 應用程式的網頁前端 Web front end 平台。具體的說,就是和 Java Server Pages (JSP) 競爭 J2EE 平台網頁前端的角色。
  • PHP5 的 object model 語法極為類似 Java ﹐這會吸引 J2EE 程式設計者來使用﹐因為 PHP5 就像是 Java 版的 scripting language。
參考來源:2005 年的 PHP5

PHP 環境設定

自訂安裝

快速安裝

有一些計畫是將上述軟體打包並且加上了如phpMyAdmin 等方便設定的工具,常見的如下所示

  • WebServ (最新版本:1.2.9.0  發行日期:200-08-01)
  • AppServ (最新版本:2.5.4a   發行日期:2005-01-15)
    • Apache Web Server Version 1.3.31
    • PHP Script Language Version 5.0.1
    • MySQL Database Version 4.0.20
    • Zend Optimizer Version 2.5.3
    • phpMyAdmin Database Manager Version 2.6.0
  • FoxServ (最新版本:3.1 Beta1 發行日期:2003-01-16)
    • Apache 2.0.39
    • PHP 4.2.2
    • MySQL
    • Zend Optimizer
    • phpMyAdmin

相關設定

Apache設定

  1. 在 C:\ 下建一個 tmp 目錄
  2. 重新啟動 Apache

MySql設定

PHP設定

  1. 啟動偵錯模式:將php.ini中的display_errors = On
  2. 重新啟動 Apache

phpMyAdmin設定

  1. 用 phpMyAdmin刪除匿名使用者帳號,修改 root 帳號和密碼 (http://localhost/phpMyAdmin/)
  2. 修改phpMyAdmin的設定檔config.inc.php
    1. 設定 phpMyAdmin 安裝的網址:
      $cfg['PmaAbsoluteUri'] = 'http://140.128.51.xxx/phpMyAdmin/';
    2. 設定 phpMyAdmin 認證模式:$cfg['Servers'][$i]['auth_type'] = 'http';
      改為http表示透過瀏覽器輸入帳號及密碼進行MySQL的認證
      若用config,則需要將密碼寫入檔案,設定如下
      1. 設定 phpMyAdmin 使用者:
        $cfg['Servers'][$i]['user'] = 'root';
      2. 設定 phpMyAdmin 密碼:
        $cfg['Servers'][$i]['password'] = '密碼';
  3. 重新整理瀏覽器輸入帳號和密碼進入 phpMyAdmin 管理 MySQL

PHP資料庫連結

  • 建立mysql短暫連線:mysql_connect("主機名稱/位置", "資料庫帳號", "資料庫密碼") or die("無法建立mysql連線");
  • 建立mysql持續連線:mysql_pconnect("主機名稱/位置", "資料庫帳號", "資料庫密碼") or die("無法建立mysql連線");
  • 結束mysql連線:mysql_close("主機名稱");
  • 連結資料庫:mysql_select_db("test") or die("無法連結資料庫");
  • 送出執行語法:$sql = mysql_query("select * from list ");
  • 顯示SQL錯誤訊息:mysql_query($sql) or die(mysql_error( ));
  • 計算查詢後的筆數:$rows = mysql_num_rows($sql);
  • 以欄位為索引用陣列方式 回傳各欄位資料:$list = mysql_fetch_array($sql);
  • 用 list( )將查詢的每一欄位分別指定變數:list($name, $email, $sex) = mysql_fetch_array($sql);

參考書目

  • 吳弘凱(工友)/鄧文淵編著, PHP4網頁程式語言MySQL資料庫快速入門, 松崗, ISBN:9572237144

網路資源