• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺(jué)的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過(guò)程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛(ài)傳出去,很困難,也無(wú)法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時(shí)注意才能保護(hù)別人,因?yàn)樗麄兾幢刂雷约阂裁础ぁぁぁぁ?/span>

            二、仿射變換(轉(zhuǎn))

            仿射變換是空間直角坐標(biāo)變換的一種,它是一種二維坐標(biāo)到二維坐標(biāo)之間的線性變換,保持二維圖形的“平直線”和“平行性”,其可以通過(guò)一系列的原子變換的復(fù)合來(lái)實(shí)現(xiàn),包括平移(Translation)、縮放(Scale)、翻轉(zhuǎn)(Flip)、旋轉(zhuǎn)(Rotation)和剪切(Shear)

            此類變換可以用一個(gè)3×3的矩陣來(lái)表示,其最后一行為(0, 0, 1)。該變換矩陣將原坐標(biāo)(x, y)變換為新坐標(biāo)(x', y'),這里原坐標(biāo)和新坐標(biāo)皆視為最末一行為(1)的三維列向量,原列向量左乘變換矩陣得到新的列向量:

            [x']   [m00 m01 m02] [x]   [m00*x+m01*y+m02]

            [y'] = [m10 m11 m12] [y] = [m10*x+m11*y+m12]

            [1 ]   [ 0   0   1 ] [1]   [     1         ]

            用代數(shù)式表示如下:

            x’ = m00*x+m01*y+m02

                         y’ = m10*x+m11*y+m12

            如果將它寫成按旋轉(zhuǎn)、縮放、平移三個(gè)分量的復(fù)合形式,則其代數(shù)式如下:


             

             


                其示意圖如下:

            幾種典型的仿射變換:

            1.public static AffineTransform getTranslateInstance(double tx, double ty)

            平移變換,將每一點(diǎn)移動(dòng)到(x+tx, y+ty),變換矩陣為:

            [   1    0    tx  ]

            [   0    1    ty  ]

            [   0    0    1   ]

            (譯注:平移變換是一種“剛體變換”,rigid-body transformation,中學(xué)學(xué)過(guò)的物理,都知道啥叫“剛體”吧,就是不會(huì)產(chǎn)生形變的理想物體,平移當(dāng)然不會(huì)改變二維圖形的形狀。同理,下面的“旋轉(zhuǎn)變換”也是剛體變換,而“縮放”、“錯(cuò)切”都是會(huì)改變圖形形狀的。) 

            2.public static AffineTransform getScaleInstance(double sx, double sy)

            縮放變換,將每一點(diǎn)的橫坐標(biāo)放大(縮小)至sx倍,縱坐標(biāo)放大(縮小)至sy倍,變換矩陣為:

            [   sx   0    0   ]

            [   0    sy   0   ]

            [   0    0    1   ]

            3.public static AffineTransform getShearInstance(double shx, double shy)

            剪切變換,變換矩陣為:

            [   1   shx   0   ]

            [  shy   1    0   ]

            [   0    0    1   ]

            相當(dāng)于一個(gè)橫向剪切與一個(gè)縱向剪切的復(fù)合

            [   1      0    0   ][   1   shx   0   ]

            [  shy    1    0   ][   0     1   0  ]

            [   0      0    1   ][   0     0    1  ]

            (譯注:“剪切變換”又稱“錯(cuò)切變換”,指的是類似于四邊形不穩(wěn)定性那種性質(zhì),街邊小商店那種鐵拉門都見(jiàn)過(guò)吧?想象一下上面鐵條構(gòu)成的菱形拉動(dòng)的過(guò)程,那就是“錯(cuò)切”的過(guò)程。) 

            4.public static AffineTransform getRotateInstance(double theta)

            旋轉(zhuǎn)變換,目標(biāo)圖形圍繞原點(diǎn)順時(shí)針旋轉(zhuǎn)theta弧度,變換矩陣為:

            [   cos(theta)    -sin(theta)    0   ]

            [   sin(theta)     cos(theta)    0   ]

            [       0           0            1   ] 

            5.public static AffineTransform getRotateInstance(double theta, double x, double y)

            旋轉(zhuǎn)變換,目標(biāo)圖形以(x, y)為軸心順時(shí)針旋轉(zhuǎn)theta弧度,變換矩陣為:

            [   cos(theta)    -sin(theta)    x-x*cos+y*sin]

            [   sin(theta)     cos(theta)    y-x*sin-y*cos ]

            [       0              0          1            ]

            相當(dāng)于兩次平移變換與一次原點(diǎn)旋轉(zhuǎn)變換的復(fù)合:

            [1  0  -x][cos(theta)  -sin(theta)  0][1  0  x]

            [0  1  -y][sin(theta)   cos(theta)  0][0  1  y]

            [0  0  1 ][   0           0        1 ][0  0  1]

            posted on 2008-09-07 16:35 小果子 閱讀(750) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            人人狠狠综合久久亚洲| 久久国产乱子伦免费精品| 国产—久久香蕉国产线看观看 | 久久久免费观成人影院| 亚洲国产日韩欧美综合久久| 久久久久久久女国产乱让韩| 久久久久久久99精品免费观看| 久久久久亚洲精品无码网址| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 精品久久一区二区| 日本久久中文字幕| a高清免费毛片久久| 色99久久久久高潮综合影院| 久久精品国产亚洲AV无码娇色| 国产精品99久久久久久猫咪 | 国内精品伊人久久久久| 亚洲精品午夜国产va久久| aaa级精品久久久国产片| 亚洲精品无码久久久久sm| 久久国产视频99电影| 国产精品久久永久免费| 亚洲精品无码久久久久去q | 久久久久久a亚洲欧洲aⅴ| 日韩乱码人妻无码中文字幕久久| 久久精品一区二区三区中文字幕| 精品一区二区久久| 久久久精品人妻一区二区三区蜜桃 | 成人综合伊人五月婷久久| AV无码久久久久不卡蜜桃| 久久久青草青青国产亚洲免观| 国产毛片久久久久久国产毛片| 99精品久久精品一区二区| 久久人人爽人人爽人人片AV不 | 国产精品内射久久久久欢欢 | 色天使久久综合网天天| 国产一区二区精品久久岳| 久久久久久久99精品免费观看| 国产情侣久久久久aⅴ免费| 91久久精品91久久性色| 狠狠狠色丁香婷婷综合久久五月| 成人免费网站久久久|