亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? image.java

?? 基于java的3d開(kāi)發(fā)庫(kù)。對(duì)坐java3d的朋友有很大的幫助。
?? JAVA
字號(hào):
//===========================================================================//=-------------------------------------------------------------------------=//= Module history:                                                         =//= - April 29 2006 - Oscar Chavarro: Original base version                 =//=-------------------------------------------------------------------------=//= References:                                                             =//= [BRES1965] Bresenham, J.E. "Algorithm for computer control of a digital =//=            plotter" IBM Syst. J. 4, 1 (1965), 25-30.                    =//= [BLIN1978b] Blinn, James F. "Simulation of wrinkled surfaces", SIGGRAPH =//=          proceedings, 1978.                                             =//===========================================================================package vsdk.toolkit.media;import vsdk.toolkit.common.ColorRgb;import vsdk.toolkit.common.VSDK;/**This abstract class establishes the required interface for all Image classesin the VSDK toolkit, and provides some common utilities for nearest andbi-linear interpolation evaluation on Rgb space.*/public abstract class Image extends MediaEntity{    /// Check the general attribute description in superclass Entity.    public static final long serialVersionUID = 20061220L;    /**    Given the width and height of the desired new size for this image, this    method is responsable of allocating the necesary memory to keep such    an image.    @param width - desired new width in pixels for the image. Must be greater    than 0.    @param height - desired new height in pixels for the image. Must be greater    than 0.    @return true if image memory could be allocated, false otherwise    */    public abstract boolean init(int width, int height);    /**    Returns current image width in pixels    @return current image width in pixels    */    public abstract int getXSize();    /**    Returns current image height in pixels    @return current image height in pixels    */    public abstract int getYSize();    /**    Given an image position inside its current boundaries and an RGBPixel,    this method convert the pixel RGB value to its internal colorspace,    and updates corresponding internal pixel value.    @param x - x cooordinate of desired pixel, must be between 0 and image    width minus 1    @param y - y cooordinate of desired pixel, must be between 0 and image    height minus 1    */    public abstract void putPixelRgb(int x, int y, RGBPixel p);    /**    Given an image position inside its current boundaries, an RGBPixel is    returned from internal color space representation.    @param x - x cooordinate of desired pixel, must be between 0 and image    width minus 1    @param y - y cooordinate of desired pixel, must be between 0 and image    height minus 1    @return the RGBPixel corresponding to requested pixel coordinate    inside the image.    */    public abstract RGBPixel getPixelRgb(int x, int y);    /**    Given a double value inside the integer limits of this image, this    method returns a rgb color corresponding to the nearest getPixelRgb.    @todo: implement this method.    */    public ColorRgb getColorRgbNearest(double x, double y)    {        double u = x - Math.floor(x);        double v = y - Math.floor(y);        int i = (int)Math.floor(u * ((double)(getXSize()-1)));        int j = (int)Math.floor(v * ((double)(getYSize()-1)));        RGBPixel p = getPixelRgb(i, j);        ColorRgb c = new ColorRgb();        c.r = ((double)VSDK.signedByte2unsignedInteger(p.r)) / 255.0;        c.g = ((double)VSDK.signedByte2unsignedInteger(p.g)) / 255.0;        c.b = ((double)VSDK.signedByte2unsignedInteger(p.b)) / 255.0;        return c;    }    /**    Given a double value inside the integer limits of this image, this    method returns a rgb color corresponding to a bi-linear interpolation    of the 4 neighboring pixels of the float position.    Current implementation is based on bilinear interpolation algorithm    proposed for the bumpmap equivalent in [BLINN78b].    */    public ColorRgb getColorRgbBiLinear(double x, double y)    {        //-----------------------------------------------------------------        double u = x - Math.floor(x);        double v = y - Math.floor(y);        double U = u * ((double)(getXSize()-2));        double V = v * ((double)(getYSize()-2));        int i = (int)Math.floor(U);        int j = (int)Math.floor(V);        double du = U - (double)i;        double dv = V - (double)j;        RGBPixel p;        //-----------------------------------------------------------------        p = getPixelRgb(i, j);        ColorRgb F00 = new ColorRgb();        F00.r = ((double)VSDK.signedByte2unsignedInteger(p.r)) / 255.0;        F00.g = ((double)VSDK.signedByte2unsignedInteger(p.g)) / 255.0;        F00.b = ((double)VSDK.signedByte2unsignedInteger(p.b)) / 255.0;        p = getPixelRgb(i+1, j);        ColorRgb F10 = new ColorRgb();        F10.r = ((double)VSDK.signedByte2unsignedInteger(p.r)) / 255.0;        F10.g = ((double)VSDK.signedByte2unsignedInteger(p.g)) / 255.0;        F10.b = ((double)VSDK.signedByte2unsignedInteger(p.b)) / 255.0;        p = getPixelRgb(i, j+1);        ColorRgb F01 = new ColorRgb();        F01.r = ((double)VSDK.signedByte2unsignedInteger(p.r)) / 255.0;        F01.g = ((double)VSDK.signedByte2unsignedInteger(p.g)) / 255.0;        F01.b = ((double)VSDK.signedByte2unsignedInteger(p.b)) / 255.0;        p = getPixelRgb(i+1, j+1);        ColorRgb F11 = new ColorRgb();        F11.r = ((double)VSDK.signedByte2unsignedInteger(p.r)) / 255.0;        F11.g = ((double)VSDK.signedByte2unsignedInteger(p.g)) / 255.0;        F11.b = ((double)VSDK.signedByte2unsignedInteger(p.b)) / 255.0;        //-----------------------------------------------------------------        ColorRgb FU0 = new ColorRgb();        FU0.r = F00.r + du * (F10.r-F00.r);        FU0.g = F00.g + du * (F10.g-F00.g);        FU0.b = F00.b + du * (F10.b-F00.b);        ColorRgb FU1 = new ColorRgb();        FU1.r = F01.r + du * (F11.r-F01.r);        FU1.g = F01.g + du * (F11.g-F01.g);        FU1.b = F01.b + du * (F11.b-F01.b);        ColorRgb FVAL = new ColorRgb();        FVAL.r = FU0.r + dv * (FU1.r-FU0.r);        FVAL.g = FU0.g + dv * (FU1.g-FU0.g);        FVAL.b = FU0.b + dv * (FU1.b-FU0.b);        return FVAL;    }    /**    This method creates a checker board like visual test pattern with centered    and colored crossing lines. This is provided as a quick image builder in    RGB space to test image algorithm.    */    public void createTestPattern()    {        int i;        int j;        RGBPixel p = new RGBPixel();        for ( i = 0; i < getXSize(); i++ ) {            for ( j = 0; j < getYSize(); j++ ) {                if ( ((i % 2 != 0) && (j % 2 == 0)) ||                      ((j % 2 != 0) && (i % 2 == 0)) ) {                    p.r = (byte)255;                    p.g = (byte)255;                    p.b = (byte)255;                  }                  else {                    p.r = 0;                    p.g = 0;                    p.b = 0;                }                if ( j == getYSize()/2 ) {                    p.r = (byte)255;                    p.g = 0;                    p.b = 0;                }                if ( i == getXSize()/2) {                    p.r = 0;                    p.g = (byte)255;                    p.b = 0;                }                putPixelRgb(i, j, p);            }        }    }    /**    This algorithm implements the Bresenham line algoritm with NO CLIPPING!    See [BRES1965].    */    public void drawLine(int x0, int y0, int x1, int y1, RGBPixel p)    {        double dx, dy;        double dxdy;        double dydx;        int x, y;        double xx, yy;        dx = (double)(x1-x0);        dy = (double)(y1-y0);        if ( Math.abs(dx) > VSDK.EPSILON && Math.abs(dy/dx) <= 1 && x1 > x0 ) {            // Pendiente entre -1 y 1            dydx = dy/dx;            for ( x = x0, yy = (double)y0; x <= x1; x++ ) {                y = (int)yy;                if ( x >= 0 && x < getXSize() &&                     y >= 0 && y < getYSize() ) {                    putPixelRgb(x, y, p);                }                yy += dydx;            }          }          else if ( Math.abs(dx) > VSDK.EPSILON && Math.abs(dy/dx) <= 1 && x1 < x0 ) {            // Pendiente entre -1 y 1            dydx = dy/dx;            for ( x = x1, yy = (double)y1; x <= x0; x++ ) {                y = (int)yy;                if ( x >= 0 && x < getXSize() &&                     y >= 0 && y < getYSize() ) {                    putPixelRgb(x, y, p);                }                yy += dydx;            }          }          else if ( Math.abs(dy) > VSDK.EPSILON && y1 > y0 ) {            // Pendiente mayor a 1 o menor a -1            dxdy = dx/dy;            for ( y = y0, xx = (double)x0; y <= y1; y++ ) {                x = (int)xx;                if ( x >= 0 && x < getXSize() &&                     y >= 0 && y < getYSize() ) {                    putPixelRgb(x, y, p);                }                xx += dxdy;            }          }          else if ( Math.abs(dy) > VSDK.EPSILON && y1 < y0 ) {            // Pendiente mayor a 1 o menor a -1            dxdy = dx/dy;            for ( y = y1, xx = (double)x1; y <= y0; y++ ) {                x = (int)xx;                if ( x >= 0 && x < getXSize() &&                     y >= 0 && y < getYSize() ) {                    putPixelRgb(x, y, p);                }                xx += dxdy;            }          }        ;    }}//===========================================================================//= EOF                                                                     =//===========================================================================

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕不卡在线| 亚洲伦理在线精品| 色婷婷精品久久二区二区蜜臂av| 亚洲高清一区二区三区| 久久精品视频免费观看| 欧美日韩在线播| 成人免费视频播放| 免费精品视频最新在线| 一区二区三区自拍| 日本一区二区三区dvd视频在线| 欧美日韩精品免费| 97精品超碰一区二区三区| 国产米奇在线777精品观看| 亚洲成av人影院在线观看网| 久久久久久综合| 91精品国产91久久综合桃花| 91在线国产观看| 国产精品18久久久久久久久久久久 | 亚洲1区2区3区4区| 国产欧美中文在线| 一区二区三区在线观看国产| 久久婷婷国产综合精品青草| 欧美一区二区三区在线视频| 欧美亚洲自拍偷拍| 99久久er热在这里只有精品66| 国产在线一区观看| 日本午夜精品一区二区三区电影| 亚洲一区二区三区四区在线| 亚洲欧美怡红院| 国产精品久久久久久久裸模| 国产丝袜欧美中文另类| 久久综合精品国产一区二区三区| 日韩午夜激情电影| 欧美一区二区在线看| 欧美日韩视频在线第一区 | 另类成人小视频在线| 亚洲.国产.中文慕字在线| 亚洲精品成人在线| 一卡二卡欧美日韩| 夜夜嗨av一区二区三区网页 | 国产精品三级av在线播放| 国产亚洲综合在线| 国产人伦精品一区二区| 国产欧美日韩三级| 国产女同性恋一区二区| 国产精品不卡在线观看| 日韩毛片视频在线看| 亚洲激情图片小说视频| 亚洲尤物在线视频观看| 亚洲国产欧美在线| 日本伊人午夜精品| 蜜臀av一区二区| 国产精品夜夜嗨| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 一区二区三区国产精华| 亚洲永久精品大片| 日本午夜一区二区| 国产精品系列在线观看| 成人午夜精品在线| 欧美综合天天夜夜久久| 欧美日韩不卡一区二区| 精品国产一区二区三区av性色| 精品久久久久久久久久久久久久久久久 | 欧美久久一二区| 欧美成人国产一区二区| 国产日韩影视精品| 亚洲三级在线看| 五月婷婷另类国产| 国内精品免费**视频| 高清在线观看日韩| 日本久久精品电影| 欧美一区二区福利在线| 欧美极品aⅴ影院| 一区二区三区中文字幕精品精品| 日本在线不卡视频一二三区| 国内精品第一页| 91色视频在线| 日韩一区二区三区观看| 亚洲国产成人午夜在线一区| 国产精品一级片在线观看| 成人精品国产免费网站| 91国产成人在线| 欧美精品一区二区三区在线 | 精品制服美女丁香| av在线不卡免费看| 日韩精品中文字幕一区二区三区| 久久久久久久久岛国免费| 一区二区三区在线观看动漫| 精品制服美女丁香| 欧美亚日韩国产aⅴ精品中极品| 日韩免费观看高清完整版在线观看| 国产拍揄自揄精品视频麻豆| 丝袜美腿亚洲色图| 99热这里都是精品| 日韩欧美一区二区久久婷婷| 亚洲欧美日韩在线| 国产精品一线二线三线| 欧美亚洲免费在线一区| 久久久国际精品| 天天综合色天天综合色h| 国产不卡视频一区二区三区| 欧美日韩成人一区| 亚洲女同ⅹxx女同tv| 国产综合色视频| 欧美日韩精品免费观看视频| 中文字幕一区二区三| 激情综合网最新| 欧美日韩国产欧美日美国产精品| 中文字幕精品—区二区四季| 久久成人麻豆午夜电影| 欧美三级日韩在线| 亚洲精品国产精华液| 成人精品免费网站| 亚洲精品一区二区三区影院| 日韩精品乱码av一区二区| 在线观看区一区二| 亚洲三级电影网站| 高清不卡一区二区在线| 久久香蕉国产线看观看99| 视频在线观看91| 精品视频免费看| 亚洲女人****多毛耸耸8| 成人成人成人在线视频| 欧美激情综合在线| 国产精品白丝jk白祙喷水网站| 精品久久久久久无| 激情综合色播五月| 欧美一卡2卡三卡4卡5免费| 性欧美大战久久久久久久久| 91成人网在线| 一区二区三区鲁丝不卡| 在线视频一区二区免费| 一区二区在线观看av| 91影院在线观看| 亚洲人吸女人奶水| 91色.com| 亚洲国产美女搞黄色| 欧美亚洲国产一区二区三区va| 亚洲人成在线播放网站岛国| 91日韩在线专区| 一级做a爱片久久| 欧美日韩aaaaaa| 日本网站在线观看一区二区三区| 91精品国产综合久久福利软件| 欧美aaaaaa午夜精品| 日韩一区二区三区电影在线观看| 另类专区欧美蜜桃臀第一页| 久久综合色8888| 丁香一区二区三区| 国产精品不卡一区二区三区| 色成人在线视频| 午夜精品福利久久久| 日韩三级高清在线| 国产毛片精品视频| 国产精品国产三级国产普通话三级 | 麻豆久久一区二区| 久久精品夜色噜噜亚洲aⅴ| 成人夜色视频网站在线观看| 国产精品美女久久久久久久久 | 久久精品国产澳门| 久久久精品黄色| 91丨九色丨国产丨porny| 亚洲一区免费视频| 欧美妇女性影城| 激情小说欧美图片| 国产精品美女久久久久高潮| 一本大道久久精品懂色aⅴ| 亚洲不卡在线观看| 精品粉嫩aⅴ一区二区三区四区| 国产一区二区导航在线播放| 国产精品久久久久久亚洲伦| 欧美日韩精品欧美日韩精品一| 精品一区二区三区日韩| 亚洲欧洲三级电影| 欧美日韩成人综合| 国产福利不卡视频| 亚洲一级二级在线| 久久久久久麻豆| 欧美日韩在线免费视频| 国产一区二区调教| 亚洲永久免费av| 国产拍揄自揄精品视频麻豆| 欧美亚洲综合在线| 国产激情一区二区三区| 亚洲最大成人综合| 久久香蕉国产线看观看99| 欧美亚洲禁片免费| 成人永久aaa| 日韩高清一区二区| 中文字幕一区二区三区蜜月| 欧美电影精品一区二区| 色婷婷av久久久久久久| 国产永久精品大片wwwapp| 亚洲高清免费在线| 国产精品欧美一区二区三区| 91精品国产全国免费观看| 色综合久久综合网97色综合| 久久国产剧场电影| 亚洲成人激情综合网| 中文字幕一区二区不卡 |