

其他應用

2.7 製作光盤
製作光盤的方法很多,這個當然是用極坐標畫的,但感覺做得並不好。

2.8 放射文字
組11,關於這個網上有很多教程,不再贅述。
既然如此,那麼極坐標到直角坐標轉換有什麼用處呢?大部分情況下,需要進行極坐標變換的僅僅是圖像中的一部分,如果直接“做直線->直角坐標轉極坐標”,那麼原有圖像也會被扭曲。因此可按照“極坐標轉直角坐標->做直線->直角坐標轉極坐標”的方式,就能保持原有圖像不變。
由此我們可以總結出極坐標濾鏡以下幾個特點:
與風結合
風濾鏡恰好是製作直線特別是漸隱的放射效果直線的好工具。根據上麵 “極坐標轉直角坐標->做直線->直角坐標轉極坐標”的理論,使用風來製作直線,就能獲得所需的放射效果

2.9 形狀的極坐標變化
我最喜歡這個,是無意中試出來的。組12。

具體應用就講到這裏,最後講講一點點理論,說一下極坐標轉換濾鏡的工作過程。
三、 極坐標濾鏡的工作過程(直角坐標到極坐標)
一般而言,位圖圖像中的任意一點(象素)可以用直角坐標(x,y)來表示。同樣這個象素也可以由極坐標(r,a)來表示。極坐標濾鏡的工作過程就是將基於直角坐標係的象素(x,y)經過極坐標映射(r,a)之後再由直角坐標(x’,y’)表示出來的過程。
直角坐標和極坐標的互化公式如下:
r = sqrt ( x * x + y * y )
a = arctg ( y / x )
x = r * cos ( a )
y = r * sin ( a )
下麵是一段是模擬極坐標濾鏡工作的偽代碼。這個代碼並不是我編寫的,我也隻是看懂而已,更詳細的解釋可以參考下麵的鏈接:
http://www.jasonwaltman.com/thesis/filter-polar.html
(這是個國外的網站,站主利用C++模擬出了一些PS的濾鏡的效果,而且提供源代碼和源程序。)
for every pixel in the original image do
{
// x和y是當前象素在直角坐標內的坐標。
// 圖像中心點的坐標為 x = 0, y = 0。
// r 和 a 是象素的極坐標。其中角度a為弧度單位。
r = sqrt ( x * x + y * y );
a = atan2 ( y / x );
// R取圖像長和寬的最小值的一半。
R= min[ image_width , image_height ] / 2
// 新的x和y是經過極坐標濾鏡變換之後,象素在直角坐標係中的新坐標。這個轉換的目的,特別是R和6.2832(2pi)的選擇,我認為是將轉換後的圖像限定到原畫布大小之內的作用。同時這個步驟最終導致了圖像的變形。
x = r * image_height / R;
y = a * image_width / 6.2832;
filterpixel.x = x;
filterpixel.y = y;
}
這僅僅是一段偽代碼而已,真正的執行過程要複雜一些,如果繼續深入下去就嚴重跑題了,所以深入的討論還是請參見那個鏈接,自己去看吧。
最後引用那個網站的一句話作為結束語。
“If used creatively, the effect is worth more than just its novelty.”
希望各位在看過本文之後能有所啟發。口動不如心動,心動不如行動,期待各位的作品
對於一些抽象的效果圖,Photoshop中的極坐標濾鏡還有很多東西值得研究……
【摘要】對於一些抽象的效果圖,Photoshop中的極坐標濾鏡還有很多東西值得研究……
在國外的網站上看到有人把Photoshop的濾鏡分為兩類,一類是對原圖沒有破壞性的濾鏡,另一類是對原圖有破壞性的濾鏡。破壞性濾鏡多以扭曲濾鏡為主,其中極坐標的破壞性可以算是相當大的一種。
因為極坐標的破壞性,很多人認為這個濾鏡對於圖像、照片的處理沒有什麼太大的實際應用,但是如果對於一些抽象的圖像,我覺得這個濾鏡還是有些地方值得研究一下的,希望各位看過本文也會有所啟發。
一、極坐標變形的感性認識
先看一下極坐標對圖像做的是一種什麼樣的扭曲。如圖

這一組圖分別是正方型、圓形和色塊通過極坐標變換前後的圖像。
直角坐標到極坐標的變化:可以認為是頂邊下凹,底邊和兩側邊上翻的過程。
極坐標到直角坐標的變化:可以認為是底邊上凹,頂邊和兩側邊下翻的過程。
這裏所說的“過程”隻是用來加深記憶而已,實際上這個上翻下翻的過程是不存在的,而是直接通過坐標映射而成的。
1、直角坐標—>極坐標
原圖中的豎線經極坐標變換後,變為放射線。
原圖中的橫線經極坐標變換後,變為同心圓。
當然橫豎交錯畫出來就是蜘蛛網啦。
請觀察每種顏色色塊在變換之後的位置,原圖的頂部收縮為圓心部分,底部的紅色成為畫布內切圓。左右兩個藍色的色塊向上翻轉之後最終合並為一個扇型,原來的兩個側邊會在上方重合。
記住每種色塊變化前後的位置不僅有住於加深對極坐標濾鏡的理解而且在實際應用中也有幫助,至少現在你已經學會畫放射線、同心圓、扇型了。
2、極坐標—>直角坐標
原圖中的豎線和橫線(坐標軸除外)經變換後,變為圖中的拋物線/雙曲線(具體是那種線形我尚未搞清楚,但我更傾向於是雙曲線)。
坐標軸經變換後,變為縱向的5條分隔線,其中1,3,5是原縱軸,2,4是原橫軸。
對於色塊的變化,請大家注意一下位置和幅度就是了,這個我研究得不多。
Btw:在前言裏我曾說過極坐標對圖像有破壞性,其實極坐標濾鏡也具有一定的還原性,畢竟這是坐標係間的映射。對於執行了正變換的圖形再執行反變換還是可以恢複出原圖的一些信息的。但是因為極坐標不是一一對應的關係,所以在圖的邊緣部分的信息就不能恢複了。比較另類的應用還可以利用極坐標的還原性為圖片加密。
二、極坐標濾鏡應用
我使用極坐標濾鏡主要還是用於畫圓,或者說畫以圓為基礎的圖像。我們經常看到用矢量軟件畫的一些重複的有規律的圖形,其實某些圖利用極坐標濾鏡就可以完成,有時比用矢量軟件做得更好,變化更多。
2.1 放射線的製作,參見第一部分。
2.2 同心圓的製作,參見第一部分。
2.3 扇型,環型,彩虹,參見第一部分。
2.4 螺線
螺旋線在矢量軟件中畫是相當簡單的事,有些軟件本身就有螺線工具。但是對於ps來說,並沒有特別合適的繪製螺線的工具或公式。在扭曲濾鏡裏有一個旋轉扭曲(Twirl)濾鏡可以做類似螺線的效果,但感覺可控性不強。

我從畫同心圓得到啟發,發現可以利用極坐標濾鏡來畫螺線,無論是等距的還是開放式的都可以畫,步驟也比較簡單,隻有幾步而已。
先建立一個矩形空白文件(400*20),畫一條斜線(如果是粗斜線,那麼注意斜線在畫布的另兩個頂角部分也要畫斜線處理一下以保證下一步填充時能夠正常銜接),定義圖案。如圖

建立新文件(400*400)用剛才定義的圖案填充。如圖

應用極坐標濾鏡,直角坐標——極坐標

應用光照濾鏡。

再應用球麵化濾鏡和其他的修改,完成。

[page]
上麵這個圖是畫等距螺線用的,如果畫不等距螺線,需要改變每條斜線的間距和斜率。


說明:圖片的右下會出現一道黑色的痕跡,這條黑線是原圖的底邊上的黑點映射過來的。原圖的底邊在極坐標後會映射為與新圖外邊框內切的圓(正方形畫布,如果是長方形畫布就是橢圓)以及圓外的所有空白的地方。如果要避免這條黑線,隻要注意原圖的底邊線為背景色就可以了。其實這道線也有其特殊的用法,具體見後麵的例子。
畫好的螺線還可以用ImageReady做成Gif動畫。
2.5 縱向斜線和網格的極坐標變化
道理都是一樣的,看明白一個,其他的就都會了。但要注意,如果是填充豎線,新的畫布尺寸最好是原定義圖案尺寸的整數倍。不然,原圖的左右兩邊在極坐標濾鏡之後不能很好的融和。
下麵的這兩個圖就利用了剛才介紹的黑線做成了內切圓外的放射線。


複雜圖形演變

2.6 網格的極坐標變化
利用簡單的網格配合其他一些濾鏡的使用可以做出各種出人意料的效果。如圖組6~組9。下麵以組8為例簡單介紹一下製作方法。
先畫網格,不知道大家用什麼方法畫網格?填充還是別的什麼方法,以後可以交流一下。我畫網格用的是拚貼(Tiles)。

[page]
使用極坐標濾鏡(極坐標—>直角坐標),垂直翻轉。

再次s使用極坐標濾鏡(極坐標—>直角坐標),垂直翻轉。

再使用極坐標濾鏡(直角坐標—>極坐標)

使用光照濾鏡,曲線


完成效果如下。

[page]
組7和組9的製作方法與組8類似,隻是中間夾雜了一些其他的步驟。