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

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

?? codigo_imprimible.txt

?? 基于java的3d開(kāi)發(fā)庫(kù)。對(duì)坐java3d的朋友有很大的幫助。
?? TXT
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
                  camara.posicion = new VECTOR(leerNumero(st),                                                   leerNumero(st),                                                   leerNumero(st));                }                else if (st.sval.equals("lookat")) {                  imprimirMensaje("lookat");                  camara.puntoObservado = new VECTOR(leerNumero(st),                                                         leerNumero(st),                                                         leerNumero(st));                }                else if (st.sval.equals("up")) {                  imprimirMensaje("up");                  camara.up = new VECTOR(leerNumero(st),                                             leerNumero(st),                                             leerNumero(st));                }                else if (st.sval.equals("fov")) {                  imprimirMensaje("fov");                  camara.fov = leerNumero(st);                }                else if (st.sval.equals("background")) {                  imprimirMensaje("background");                  color_de_fondo = new COLOR();                  color_de_fondo.r = (float)leerNumero(st);                  color_de_fondo.g = (float)leerNumero(st);                  color_de_fondo.b = (float)leerNumero(st);                }                else if (st.sval.equals("light")) {                  imprimirMensaje("light");                  float r = leerNumero(st);                  float g = leerNumero(st);                  float b = leerNumero(st);                  if ( st.nextToken() != StreamTokenizer.TT_WORD ) {                      System.err.println("ERROR: in line "+st.lineno() +                                          " at "+st.sval);                      throw new IOException(st.toString());                  }                  if ( st.sval.equals("ambient") ) {                      imprimirMensaje("ambient");                      arr_luces.addElement(new LUZ(LUZ.AMBIENTE, null, r,g,b));                    }                    else if ( st.sval.equals("directional") ) {                      imprimirMensaje("directional");                      VECTOR v = new VECTOR(leerNumero(st),                                             leerNumero(st),                                             leerNumero(st));                      arr_luces.addElement(new LUZ(LUZ.DIRECCIONAL, v, r,g,b));                    }                     else if ( st.sval.equals("point") ) {                      imprimirMensaje("point");                      VECTOR v = new VECTOR(leerNumero(st),                                             leerNumero(st),                                             leerNumero(st));                      arr_luces.addElement(new LUZ(LUZ.PUNTUAL, v, r, g, b));                    }                     else {                      System.err.println("ERROR: in line " +                                          st.lineno()+" at "+st.sval);                      throw new IOException(st.toString());                    }                  ;                }                else if ( st.sval.equals("surface") ) {                  imprimirMensaje("surface");                  float r = leerNumero(st);                  float g = leerNumero(st);                  float b = leerNumero(st);                  float ka = leerNumero(st);                  float kd = leerNumero(st);                  float ks = leerNumero(st);                  float ns = leerNumero(st);                  float kr = leerNumero(st);                  float kt = leerNumero(st);                  float index = leerNumero(st);                  material_actual = new MATERIAL(r, g, b,                                                 ka, kd, ks,                                                 ns, kr, kt, index);                }              ;              break;            default:              fin_de_lectura = true;              break;          } // switch        } // while        is.close();        if ( st.ttype != StreamTokenizer.TT_EOF ) {            System.err.println("ERROR: in line "+st.lineno()+" at "+st.sval);            throw new IOException(st.toString());        }    }}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.common;public class VECTOR {    public float x, y, z;    public VECTOR() {        x = 0;        y = 0;        z = 0;    }    public VECTOR(float x, float y, float z) {        this.x = x; this.y = y; this.z = z;    }    public final VECTOR producto_cruz(VECTOR B) {        return new VECTOR(y*B.z - z*B.y, z*B.x - x*B.z, x*B.y - y*B.x);    }    public final float producto_punto(VECTOR B) {        return (x*B.x + y*B.y + z*B.z);    }    public final void normalizar( ) {        float t = x*x + y*y + z*z;        if (t != 0 && t != 1) t = (float) (1 / Math.sqrt(t));        x *= t; // Falta implementar VECTOR::escalar(float m);        y *= t;        z *= t;    }    public final float norma() {        return (float)Math.sqrt(x*x + y*y + z*z);    }}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.common;public class COLOR {    public float r;    public float g;    public float b;}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.entorno;import vitral.toolkits.common.VECTOR;public class RAYO {    public VECTOR origin;    public VECTOR direction;    public float t;    public RAYO(VECTOR eye, VECTOR dir) {        origin = new VECTOR(eye.x, eye.y, eye.z);        direction = new VECTOR(dir.x, dir.y, dir.z);        direction.normalizar();    }}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.entorno;public class MATERIAL {    public float ir, ig, ib;        // Color intrinseco de la superficie    public float ka, kd, ks, ns;    // Constantes para el modelo phong    public float kt, kr, nt;    public MATERIAL(float rval, float gval, float bval, float a, float d,                     float s, float n, float r, float t, float index) {        ir = rval; ig = gval; ib = bval;        ka = a; kd = d; ks = s; ns = n;        kr = r; kt = t;        nt = index;    }}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.entorno;import vitral.toolkits.common.VECTOR;// All the public variables here are ugly, but I// wanted Lights and Surfaces to be "friends"public class LUZ {    public static final int AMBIENTE = 0;    public static final int DIRECCIONAL = 1;    public static final int PUNTUAL = 2;    public int tipo_de_luz;    public VECTOR lvec;             // the position of a point light or                                    // the direction to a directional light    public float ir, ig, ib;        // color of the light source    public LUZ(int type, VECTOR v, float r, float g, float b) {        tipo_de_luz = type;        ir = r;        ig = g;        ib = b;        if ( type != AMBIENTE ) {            lvec = v;            if ( type == DIRECCIONAL ) {                lvec.normalizar();            }        }    }}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.entorno;import vitral.toolkits.common.VECTOR;public class CAMARA {    // Modelo basico de la camara    public VECTOR posicion;    public VECTOR puntoObservado;    public VECTOR up;    public float fov;    // Vectores privados que se preprocesan para agilizar los calculos    private VECTOR dx, dy, _dir;    /**    Una `CAMARA` debe saber de qué tamaño es el viewport para    el cual está generando una proyección, para poder modificar    sus parámetros internos en función del ángulo de    vision (`fov`) y de la actual proporción de ancho/alto del    viewport. Las variables internas `ventana_xtam` y `ventana_ytam`    representan el tamańo en pixels para el viewport, y son valores    que solo pueden ser cambiados por el método     `CAMARA::procesar_resize`. Estos dos valores son para uso interno de    la clase cámara y no pueden ser consultados (i.e. son una copia    de la configuración del viewport, que debe ser administrado por    la aplicación que use `CAMARA`s).    */    private float ventana_xtam;    /// Ver la documentación de `ventana_xtam`    private float ventana_ytam;    public CAMARA() {        // Modelo de camara por defecto propuesto por el raytracer original        // de MIT        posicion = new VECTOR(0,0,10);        puntoObservado = new VECTOR(0,0,0);        up = new VECTOR(0,1,0);        fov = 30;        ventana_xtam = 320;        ventana_ytam = 320;        // OJO: dx, dy y _dir no estan inicializados!    }    public void procesar_resize(int dx, int dy)    {        ventana_xtam = dx;        ventana_ytam = dy;    }    /**    PRE:      - puntoObservado y posicion tienen que ser diferentes!    POST:      - dx queda normalizado      - dy queda normalizado      - _dir ... no se ha entendido bien!    */    public void preprocesar_vista()    {        // Compute mapping from screen coordinate to a ray direction        VECTOR _dir_no_normalizado = new VECTOR(puntoObservado.x - posicion.x,                                                 puntoObservado.y - posicion.y,                                                 puntoObservado.z - posicion.z);        float fl = (float)(ventana_xtam / (2*Math.tan((0.5*fov)*Math.PI/180)));        dx = _dir_no_normalizado.producto_cruz(up);        dx.normalizar();        dy = _dir_no_normalizado.producto_cruz(dx);        dy.normalizar();        _dir = _dir_no_normalizado;        _dir.normalizar();        _dir.x = _dir.x * fl - 0.5f * (ventana_xtam*dx.x +                                        ventana_ytam*dy.x);        _dir.y = _dir.y * fl - 0.5f * (ventana_xtam*dx.y +                                        ventana_ytam*dy.y);        _dir.z = _dir.z * fl - 0.5f * (ventana_xtam*dx.z +                                        ventana_ytam*dy.z);    }    public final RAYO generar_rayo(int x, int y)    {        // OJO: Es posible que esto este siendo lento por asignar a memoria        //      dinamica estas dos variables. Notese que podrian ser estaticos        //      y reutilizarse...        // Notese como se utiliza un vector preprocesado `dy` para calcular        // las coordenadas en la pantalla que aumentan hacia abajo        VECTOR dir = new VECTOR(            x*dx.x + y*dy.x + _dir.x,            x*dx.y + y*dy.y + _dir.y,            x*dx.z + y*dy.z + _dir.z);        // La direccion de este rayo es un vector unitario, dado que en la        // version actual de RAYO::RAYO se normaliza...        RAYO ray = new RAYO(posicion, dir);        return ray;    }}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.geom;import vitral.toolkits.common.COLOR;import vitral.toolkits.common.VECTOR;import vitral.toolkits.entorno.RAYO;import vitral.toolkits.entorno.MATERIAL;// An object must implement a GEOMETRIA interface in order to// be ray traced. Using this interface it is straight forward// to add new objectspublic abstract class GEOMETRIA {    public MATERIAL material = null;    public abstract boolean interseccion(RAYO r);    public abstract void informacion_extra(RAYO ray, float t,                                            VECTOR p, VECTOR n);}//===========================================================================//= EOF                                                                     =//===========================================================================//===========================================================================package vitral.toolkits.geom;import vitral.toolkits.common.COLOR;import vitral.toolkits.common.VECTOR;import vitral.toolkits.entorno.RAYO;import vitral.toolkits.entorno.MATERIAL;import vitral.toolkits.geom.GEOMETRIA;public class ESFERA extends GEOMETRIA {    private VECTOR _centro;    private float _radio;    private float _radio_al_cuadrado;    private VECTOR _static_delta;    public ESFERA(MATERIAL s, VECTOR c, float r) {        material = s;        _centro = c;        _radio = r;        _radio_al_cuadrado = _radio*_radio;        _static_delta = new VECTOR();    }    /**    Dado un RAYO `inout_rayo`, esta operación determina si el rayo se    intersecta con la superficie de este objeto o no. Si el rayo no intersecta    al objeto se retorna 0, y de lo contrario se retorna la distancia desde    el origen del rayo hasta el punto de interseccion.    En caso de intersección, se modifica `inout_rayo.t` para que     contenga la distancia entre el punto de intersección y el origen    del `inout_rayo`.    */    public boolean    interseccion(RAYO inout_rayo) {        /* OJO: Como en Java, a diferencia de C no hay sino objetos por                referencia, no se puede hacer una declaración                 estática de un objeto, y poder hacerla es importante                 porque la constructora VECTOR::VECTOR se ejecuta muchas veces, 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产a毛片| 2014亚洲片线观看视频免费| 日韩精品久久久久久| 欧美一级欧美三级在线观看| 精东粉嫩av免费一区二区三区| 中文字幕人成不卡一区| 欧美视频三区在线播放| 精品中文字幕一区二区| 久久久国产一区二区三区四区小说 | 欧美三级韩国三级日本一级| 亚洲h动漫在线| 国产色婷婷亚洲99精品小说| 在线观看成人免费视频| 国产一区二区在线免费观看| 亚洲女人****多毛耸耸8| 精品国产免费人成电影在线观看四季| 91在线观看污| 久久国产三级精品| 亚洲在线观看免费| 久久久影院官网| 欧美日韩国产综合久久 | 亚洲精品美腿丝袜| ww久久中文字幕| 在线观看免费一区| 国产不卡免费视频| 美腿丝袜在线亚洲一区| 亚洲久本草在线中文字幕| 久久天天做天天爱综合色| 欧美优质美女网站| 成人动漫视频在线| 免费成人美女在线观看| 国产精品麻豆一区二区| 精品国产乱码久久久久久久久| 色综合久久中文综合久久牛| 国产高清在线观看免费不卡| 亚洲777理论| 一区二区三区免费看视频| 久久精品男人天堂av| 91精品国产一区二区人妖| 波多野结衣亚洲| 精品一区二区三区视频在线观看| 亚洲午夜一区二区| 亚洲三级小视频| 国产精品美女www爽爽爽| 久久综合999| 欧美xxxxx牲另类人与| 777午夜精品视频在线播放| www.亚洲在线| 丁香天五香天堂综合| 狠狠色丁香婷婷综合| 免费在线欧美视频| 午夜精品久久久久久不卡8050| 亚洲一二三四久久| 亚洲综合网站在线观看| 国产精品传媒在线| 国产欧美日韩三区| 国产无遮挡一区二区三区毛片日本| 91麻豆精品国产91久久久使用方法| 欧美日韩美女一区二区| 欧美在线免费观看视频| 色激情天天射综合网| 色呦呦网站一区| 欧洲一区二区三区免费视频| 色婷婷久久久综合中文字幕| 99精品1区2区| 色噜噜狠狠一区二区三区果冻| 91美女精品福利| 欧美亚洲国产一卡| 在线不卡免费av| 精品嫩草影院久久| 国产调教视频一区| 国产精品美女久久福利网站 | 精品入口麻豆88视频| 欧美精品在线视频| 在线免费不卡视频| 欧美精品乱码久久久久久按摩| 欧美一区在线视频| 欧美成人精品二区三区99精品| 久久免费午夜影院| 国产精品视频在线看| 亚洲乱码中文字幕综合| 日韩精品一级中文字幕精品视频免费观看| 日韩一区精品字幕| 国产在线视视频有精品| 懂色av一区二区三区免费看| 91啪九色porn原创视频在线观看| 欧美老女人第四色| 欧美成人女星排行榜| 中文成人综合网| 一区二区三区影院| 久久99精品一区二区三区三区| 国产乱色国产精品免费视频| 不卡免费追剧大全电视剧网站| 欧美视频在线一区二区三区| 精品剧情v国产在线观看在线| 久久先锋影音av| 一区二区三区中文在线| 理论片日本一区| 不卡在线视频中文字幕| 制服丝袜中文字幕亚洲| 欧美极品xxx| 午夜久久久久久久久| 国产麻豆一精品一av一免费| 色哦色哦哦色天天综合| 日韩免费福利电影在线观看| 国产精品热久久久久夜色精品三区| 一区二区三区小说| 免费的国产精品| 91香蕉视频黄| 久久综合色鬼综合色| 日韩在线卡一卡二| 欧美视频一区二区三区在线观看| 国产精品久久久久久久岛一牛影视| 美女网站一区二区| 欧美精品成人一区二区三区四区| 亚洲人成7777| 成人免费视频播放| 久久久91精品国产一区二区三区| 日本成人在线网站| 色婷婷av一区二区三区之一色屋| 久久久99精品久久| 天天操天天色综合| av中文字幕一区| 久久久久久久一区| 亚洲国产精品久久久男人的天堂| 激情图片小说一区| 欧美剧情电影在线观看完整版免费励志电影| 亚洲国产成人一区二区三区| 麻豆国产欧美日韩综合精品二区| 欧美视频在线播放| 亚洲图片你懂的| 国产成人在线视频网址| 日韩免费高清视频| 国产精品人人做人人爽人人添| 麻豆成人综合网| 91麻豆精品国产91久久久久 | 在线这里只有精品| 国产精品国产自产拍在线| 激情成人综合网| 国产精品久久久久一区二区三区共| 精品一区二区久久| 8x8x8国产精品| 亚洲福利视频一区| 欧美亚洲国产一区二区三区va| 亚洲男帅同性gay1069| 成人av在线资源网站| 欧美韩日一区二区三区| 高清日韩电视剧大全免费| 欧美电影在哪看比较好| 一区二区三区色| 欧美午夜影院一区| 日本一道高清亚洲日美韩| 欧美一区二区三级| 精品亚洲国产成人av制服丝袜| 久久久久国产免费免费| 97久久精品人人做人人爽50路| 玉米视频成人免费看| 91.成人天堂一区| 久久99精品久久久久| 中文字幕av一区二区三区| 91精彩视频在线观看| 天堂影院一区二区| 久久蜜桃av一区精品变态类天堂 | 欧美激情在线一区二区三区| 91在线码无精品| 肉色丝袜一区二区| 久久久久久黄色| 91网址在线看| 日本不卡视频一二三区| 中文字幕第一区综合| 色欧美88888久久久久久影院| 男女性色大片免费观看一区二区| 久久精品在这里| 欧美性色综合网| 国产在线不卡视频| 亚洲精品视频在线观看免费 | 一区二区高清在线| 日韩欧美一区二区三区在线| 9色porny自拍视频一区二区| 婷婷开心久久网| 国产精品每日更新| 日韩欧美国产三级| 91在线观看成人| 国产在线观看免费一区| 亚洲国产毛片aaaaa无费看| 欧美精品一区二区久久婷婷| 色噜噜狠狠成人网p站| 精品一二三四区| 一区二区三区日韩欧美精品| 久久人人97超碰com| 欧美另类videos死尸| 成人小视频在线| 青青草精品视频| 精品国产乱子伦一区| 丁香婷婷深情五月亚洲| 欧美撒尿777hd撒尿| 国产成人综合网站| 美女一区二区视频| 尤物在线观看一区| 国产日产欧美精品一区二区三区|