搜尋此網誌

2007年12月15日 星期六

GIMP Plug-in: Mathmap 玩轉數學

Mathmap Gimp plugin linux 跟 windows 的最新版本可至
http://www.complang.tuwien.ac.at/schani/mathmap/ 下載

Mathmap 是 Gimp 的一個plug-ins,使用它你可以利用一些數學公式來扭曲轉變影像
數學不好怎麼辦?
沒關係,它裡面已經有附了一些公式範例,用這些已經可以變換出很多的效果

參考 http://www.flickr.com/groups/mathmap/

『濾鏡』->『Generic』->『Mathmap』->『Mathmap』啟動對話框
在『Examples』可以選擇使用它內附的一些公式
當你點選任一項example時,程式就會自動開始計算來產生預視圖
計算時間的長短取決於選用公式的複雜度


User Values這裡可以調整該算式的一些參數
要注意的是,只有有Preview影像產生之後,這地方才會出現該算式的參數以供調整
另外也有算式是沒有參數可調整的


Settings 裡比較值得注意的是Auto Preview自動產生預視跟Animate產生動畫
之前說了,當你點選任一項example或在User Values做調整時
程式都會自動開始計算來產生預視圖,如果算式很複雜時,便得耗費蠻長時間來做計算
因此在User Values數值可能調不太動,因此建議如果需要在User Values做調整時
Auto Preview做好還是關掉,還是自己按Preview會好點
至於Animate,如果該算式不支援,便會像下圖一樣,無法選取


Expression,就是你目前所使用的算式,你可以直接在裡面編寫算式
或是複製貼上從網路上取得的算式


原圖,部份影像取自 bigfoto.com


這是其中Examples->Map->Droste的結果






這是用twist_four做出來的,算式在下面,或是參考網路上取得的算式



filter twist_four(image in)

if (t<0.5)
then qt=t;
sn=1;
else
qt=t-0.5;
sn=-1;
end;

ss=4*qt*W-W/2;
se=ss-W;
angle =pi/2+pi*(x-se)/W;

if x>=se then
if x then
if sign(y)*y>Y*sign(sin(angle))*sin(angle) then
rgba:[0,0,0,0]
else
ny=-sn*y/sin(angle);
in(xy:[x,ny])
end
else
ny=sn*y;
in(xy:[x,ny])
end
else
ny=-sn*y;
in(xy:[x,ny])
end

end

另一個不同的example


15 則留言:

小雞 提到...

親愛的大大可以請你幫我做一張黑白旋轉 看了會頭暈的那種動圖嗎640x480的  拜託 
[版主回覆12/16/2007 21:54:53]640x480做出來檔案大,而且會閃爍
你還是自己調試看看吧(gimp+mathmap總共也不到16mb)
作法
『檔案』->『新增』寬度、高度調成你要的
『濾鏡』->『Generic』->『Mathmap』->『Mathmap』啟動對話框
在『Examples』選擇『Render』->『Spiral』
接著『Settings』Animate 打勾
Frames影格數調成你要的,之後按確定
在圖層對話框裡,你會看到除了你所設定做出來的那幾個圖層外
還會有一個原本白色的背景顏色圖層,在它上面按右鍵,選擇『刪除圖層』
之後就可以按『檔案』->『儲存』將它存成gif檔,跳出的匯出檔案對話框
選擇儲存為動畫

小雞 提到...

那請問大大可不可以幫我做176x220的黑白旋轉圖呢 
拜託 我不會做
[版主回覆12/18/2007 23:44:56]我作法寫在下面
你是哪個步驟有問題

不要連試都不試

小雞 提到...

他說找不到libcairo-2.dll
[版主回覆12/20/2007 19:38:38]你是裝gimp哪個版本?
找不到libcairo-2.dll這個錯誤訊息是
啟動gimp就會出現還是使用mathmap的時候出現

敬請常念「南無阿彌陀佛」求生淨土 提到...

請問:使用mathmap的時候出現下圖,怎麼辦呢?

[版主回覆02/26/2008 14:59:39]那個沒關係,只是說找不到如果發生錯誤要顯示用的png檔

敬請常念「南無阿彌陀佛」求生淨土 提到...

都沒有東西,Expression貼上算式也沒反應

[版主回覆03/03/2008 17:19:37]是不是你檔案解錯地方或是沒全部解壓縮
導致程式沒找到
\Documents and Settings\"使用者的名稱"\.gimp-2.4\mathmap
資料夾底下的sample

另外Expression貼上算式之後,要按『Preview』才會開始計算結果

敬請常念「南無阿彌陀佛」求生淨土 提到...

1. Expression貼上算式之後,按『Preview』,黑色畫面出現LINE16
2.  \Documents and Settings\"使用者的名稱"\.gimp-2.4\mathmap 裡面的東西是有EXPRESSIONS資料夾的畫面

[版主回覆03/04/2008 13:28:33]出現LINE16,表示16行有錯
之前貼上算式時可能出了問題,正確的應該是

filter twist_four(image in)

if (t<0.5)
then qt=t;
sn=1;
else
qt=t-0.5;
sn=-1;
end;

ss=4*qt*W-W/2;
se=ss-W;
angle =pi/2+pi*(x-se)/W;

if x>=se then
if x<ss then
if sign(y)*y>Y*sign(sin(angle))*sin(angle) then
rgba:[0,0,0,0]
else
ny=-sn*y/sin(angle);
in(xy:[x,ny])
end
else
ny=sn*y;
in(xy:[x,ny])
end
else
ny=-sn*y;
in(xy:[x,ny])
end

end

另外看一下expressions資料夾底下的各子資料夾裡是否有一些.mm檔

敬請常念「南無阿彌陀佛」求生淨土 提到...

電腦壞了,重新下載GIMP和MATHMAP。MATHMAP裡有二個資料夾:PLUG-INS應該是放在\Documents and Settings\"使用者的名稱"\.gimp-2.4\plug-ins吧?MATHMAP裡面的東西要放在哪裡?
[版主回覆03/05/2008 20:18:06]mathmap 在
\Documents and Settings\"使用者的名稱"\.gimp-2.4\mathmap

參考 Gimp 2.4 Script
跟它一樣,將壓縮檔裡的所有東西(含資料夾),解壓縮到
\Documents and Settings\"使用者的名稱"\.gimp-2.4 資料夾底下就可以了

敬請常念「南無阿彌陀佛」求生淨土 提到...

在\Documents and Settings\"使用者的名稱"\.gimp-2.4\
沒有MATHMAP的資料夾,直接把MATHMAP放進去

然後使用MATHMAP的功能

同樣也是沒東西。貼上新算式,出現以下訊息

[版主回覆03/06/2008 15:25:06]沒遇過這個情形
你試著將 \Documents and Settings\"使用者的名稱"\.gimp-2.4\
下的 pluginrc 這個檔案刪掉
讓gimp重新搜尋所有的plugin看看

另外貼上算式按preview有出現結果,應該是沒問題
不過我剛試的結果,用貼上的算式,好像都會出問題(以前的版本好像不會)
但只要有save,下次在Examples裡選擇使用它就不會有問題

敬請常念「南無阿彌陀佛」求生淨土 提到...

這是刪掉pluginrc 這個檔案之後的情況


"只要有save,下次在Examples裡選擇使用它就不會有問題"這句話我不明白,可能是因為我到目前為止都還在失敗的狀況。
[版主回覆03/06/2008 21:40:52]你現在examples裡的東西可以用了嗎?
另外你說的失敗是怎樣的狀況?
preview只要有顯示就是正常,那個console視窗裡的訊息可以不用管它

敬請常念「南無阿彌陀佛」求生淨土 提到...

examples裡的東西不能用,就像3/3貼的那張圖一樣。失敗是指圖做不出來,本來想做像教學裡的老虎旋轉圖或是文字扭曲的圖,但是選單的內容一直沒出來。唉,算了好了。謝謝你一再回覆我的問題

[版主回覆03/07/2008 13:47:03]試著更新Gimp到最新版2.4.5

之前使用2.4.4,當貼上算式之後,不管按確定或取消,mathmap都會當掉,而出現錯誤訊息(不是指console)
更新成2.4.5之後,一切就都正常
建議你也試試

敬請常念「南無阿彌陀佛」求生淨土 提到...

更新Gimp到最新版2.4.5以後,按:『濾鏡』->『Generic』->『Mathmap』->『Map』->『Droste』,照教學中的例子調整settings跟user values的資料,好像有點樣子了?我的Examples選單沒有捲軸
貼上算式,按preview再按確定,一樣沒反應。
對了,我的更新是只按Uninstall,再按:是,然後就下載安裝GIMP,其他的沒有動,因此如果之前MathMap放錯地方或是沒有解壓縮好,恐怕還是一樣
 
[版主回覆03/07/2008 19:41:39]如果是貼上上面那個 twist_four
而你並沒在setting將 animate 打勾,或在user values調整一些數值
那基本上算出來的圖形還是跟原來的一樣
那個twist_four主要是用來產生動畫的

Examples沒選單沒有捲軸?
可以跟之前一樣,將 pluginrc 這個檔案刪掉
讓gimp重新搜尋所有的plugin看看



敬請常念「南無阿彌陀佛」求生淨土 提到...

呼~~千辛萬苦,twist_four終於OK了,謝謝    
刪掉pluginrc 這個檔案沒有幫助,你圖中的.mm檔我都有,examples還是不能用,可能MathMap之後就要選Blur,Colors.....吧?不過不要緊,twist能做就行了。對了,如果把Examples裡內附的一些公式貼到Expression,這樣會有同樣的效果嗎?內附的公式要去哪裡找呢?

[版主回覆03/08/2008 21:42:36]只要貼到Expression的算式是正確的,不管那算式是哪來的,效果都是一樣的
另外內附的公式就是那些mm檔了,你可以用文字編輯器來開啟

敬請常念「南無阿彌陀佛」求生淨土 提到...

怎樣用文字編輯器來開啟mm檔呢?
[版主回覆03/08/2008 22:06:42]你可以使用文字編輯器(如 MadEdit )開啟這個mm檔(是可以用記事本來開啟
,不過那些mm檔的格式大都是UNIX,開啟之後文件可能就全都連在一起,無法斷行)

敬請常念「南無阿彌陀佛」求生淨土 提到...

MadEdit有二個下載版,是可以下載的嗎?要用哪個?
我是想說開啟mm檔之後找出算式,貼到Expression來執行,取代用Examples的方式,這樣可行嗎?
以選擇Droste為例:1『濾鏡』->『Generic』->『Mathmap』->『Map』->『Droste』,2『濾鏡』->『Generic』->『Mathmap』->『Mathmap』啟動對話框,選Examples->Map->Droste,3 開啟Droste的mm檔,用Expression執行其算式,這三種方法做出來的圖一樣嗎?

[版主回覆03/09/2008 13:07:23]Windows的版本 MadEdit-0.2.8-win32-bin.7z

都一樣
Mathmap 對話框 Examples 裡的那些功能
就是 『濾鏡』->『Generic』->『Mathmap』裡的那些選單功能
程式啟動時,會根據mathmap\expressions\裡各子資料夾裡的mm檔
在『濾鏡』->『Generic』->『Mathmap』裡建立起對應的選單
所以它們使用的算式都是同一個mm檔

敬請常念「南無阿彌陀佛」求生淨土 提到...

問題解決了,感謝你花了許多時間和精神

[版主回覆03/09/2008 19:38:20]不客氣