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

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

?? contour.java

?? java 作圖的程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
   * Set the contour's color.   * @param c Color   */     public void setContourColor(Color c) { contourColor = c; }    /**   * Set the labelled contour's color.   * @param c Color   */     public void setLabelledContourColor(Color c) { labelledColor = c; }        /**   * Return the contour levels.   * @return An array containing the contour levels   */     public double[] getLevels() { return levels; }  /**   * If true the limits of the plot will be the grid limits.   * If false the limits of the plot will be the contours.   * @param b boolean   */          public void setLimitsToGrid(boolean b) { gridLimits = b; }  /**   *  Set the contour levels that are to have labels.   * <pre>   *    if 0 no labels are drawn   *    if 1 every level gets a label   *    If 2 every 2nd level gets a label   *    etc.   * </pre>   */     public void setLabelLevels(int i) {           if(i<=0) labelLevels = 0;          else     labelLevels = i;	}  /**   * If true contour levels are calculated on a log scale.   * @param b boolean   */     public void setLogLevels(boolean b) {               logLevels = b;               if( zmin <= 0.0 || zmax <= 0.0 ) logLevels = false;	     }  /**   * Set the number of contour levels.   * @@param l Number of contour levels   */     public void setNLevels(int l) {         if(l <= 0) return;                  levels = new double[l];                  calcLevels();         detachCurves();         curves = null;     }  /**   * If true contour levels are calculated automatically.   * @param b boolean   */     public void setAutoLevels(boolean b) {               autoLevels = b;	     }  /**   * If true contour levels are not labeled.   * @param b boolean   */     public void setDrawLabels(boolean b) {               drawlabels = b;	     }  /**   * Set the label style, either TextLine.SCIENTIFIC or   * TextLine.ALGEBRAIC.   * @param s Style   */     public void setLabelStyle(int s) {                    labelStyle = s;                   calcLabels(); }  /**   * Get the label style, either TextLine.SCIENTIFIC or   * TextLine.ALGEBRAIC.   * @return style   */     public int getLabelStyle() { return labelStyle; }  /**   * Set the label precision.   * @param s Precision   */     public void setLabelPrecision(int p) {                    labelPrecision = p;                    calcLabels();     }  /**   * Get the label precision.   * @return precision   */     public int getLabelPrecision() { return labelPrecision; }  /**   * Set the label significant figures.   * @param s number of significant figures   */     public void setLabelSignificance(int s) {                    labelSignificant = s;                   calcLabels();     }  /**   * Get the number of significant figures for labels.   * @return number of significant figures   */     public int getLabelSignificance() { return labelSignificant; }  /**   *   Add extra events to the G2Dint event handler.   *    *   If 'l' is pressed repaint without the labels   *   If 'L' is pressed repaint with the labels.   */     public boolean keyDown(Event e, int key) {           if(xaxis==null || yaxis==null) return false;           if( super.keyDown(e,key) ) return true;           switch ( key ) {           case 'l':                     drawlabels = false;                     repaint();                     return true;           case 'L':                     drawlabels = true;                     repaint();                     return true;           }           return false;     }/************************* Private Methods*********************//***  calcLevels()**              Calculate the contour levels*/     private void calcLevels() {       int i;       int l;              if(!autoLevels) return;       if(levels == null) levels = new double[NLEVELS];       labels = new TextLine[levels.length];       // Nice label steps not implemented yet       //levelStep();              if( logLevels ) {          double inc = Math.log(zmax-zmin)/                      (double)(levels.length+1);          try {             for(i=0; i<levels.length; i++) levels[i] = zmin +                           Math.pow(Math.E,(double)(i+1)*inc);	   } catch (Exception e) {             System.out.println("Error calculateing Log levels!");             System.out.println("... calculating linear levels instead");             logLevels = false;             calcLevels();           }	} else {          double inc = (zmax-zmin)/(double)(levels.length+1);             for(i=0; i<levels.length; i++) levels[i] = zmin + (double)(i+1)*inc;        }     }/***  calcLabels()**              Calculate the labels*/     private void calcLabels() {        int i;        if( !autoLabels ) return;        if(levels==null || levels.length <= 0) return;        labels = new TextLine[levels.length];        for(i=0; i<labels.length; i++) {             labels[i] = new TextLine();             labels[i].parseDouble(levels[i],                      labelSignificant,labelPrecision,labelStyle);        }      }/***   zrange()**           Calculate the range of the grid*/     private void zrange() {        int i;             zmin = grid[0];        zmax = grid[1];        for( i=0; i<grid.length; i++) {             zmin = Math.min(zmin,grid[i]);             zmax = Math.max(zmax,grid[i]);        }        System.out.println("Data range: zmin="+zmin+", zmax="+zmax);        if(zmin == zmax) {           System.out.println("Cannot produce contours of a constant surface!");	 }        if(zmin <= 0 || zmax <= 0) logLevels = false;      }/***   paintFirst(Graphics g, Rectangle r)**        before anything is painted calculate the contours.*/      public void paintFirst(Graphics g, Rectangle r) {         //System.out.println("paintFirst called");         if( curves == null && !noContours ) {                                   calculateCurves();                                  calcLabels();				}         setContourColors();         if(gridLimits && !userlimits ) {           if( xaxis != null ) {                if(xaxis.minimum > xmin ) xaxis.minimum = xmin;                if(xaxis.maximum < xmax ) xaxis.maximum = xmax;	      }           if( yaxis != null ) {                if(yaxis.minimum > ymin ) yaxis.minimum = ymin;                if(yaxis.maximum < ymax ) yaxis.maximum = ymax;	      }         } else          if( dataset.isEmpty() ) {           if( xaxis != null ) {                xaxis.minimum = xmin;                xaxis.maximum = xmax;	      }           if( yaxis != null ) {                yaxis.minimum = ymin;                yaxis.maximum = ymax;	      }         }      }  /**  *  Set the colors for the contour lines  */      private void setContourColors() {        int i;        int j;        Vector v;        if(curves == null ||            (contourColor==null && labelledColor==null) ) return;	for(i=0; i<curves.length; i++) {            setContourColors(curves[i],null);        }        if(contourColor != null) {	   for(i=0; i<curves.length; i++) {               setContourColors(curves[i],contourColor);           }        }        if(labelledColor != null) {	   for(i=0; i<curves.length; i++) {               if(i%labelLevels == 0) {                  setContourColors(curves[i],labelledColor);               }           }        }      }  /**  *  Set the colors for the contour lines  */      private void setContourColors(Vector v, Color c) {        int i;        DataSet d;        if(v == null) return;	for(i=0; i<v.size(); i++) {            d = (DataSet)(v.elementAt(i));            if(d != null) d.linecolor = c;        }      }/***    attachCurves()**        Attach all the curves to the graph and to the axes*/      private void attachCurves() {         int i;         if(curves == null) return;         for(i=0; i<curves.length; i++) attachCurves(curves[i]);      }/***    attachCurves(Vector v)**        Attach all the curves from a given level to the graph and to the axes*/      private void attachCurves(Vector v) {         int j;         if(v == null) return;         for(j=0; j<v.size(); j++) {               attachDataSet((DataSet)(v.elementAt(j)));               if(xaxis != null)                         xaxis.attachDataSet((DataSet)(v.elementAt(j)));               if(yaxis != null)                         yaxis.attachDataSet((DataSet)(v.elementAt(j)));	     }      }/***    detachCurves()**                 Detach All the curves from the graph and the axes.*/      private void detachCurves() {         int i;         if(curves == null) return;         for(i=0; i<curves.length; i++) detachCurves(curves[i]);      }/***    detachCurves()**                 Detach all the curves from a given level from **                 the graph and the axes.*/      private void detachCurves(Vector v) {         int j;         if(v == null) return;         for(j=0; j<v.size(); j++) {               detachDataSet((DataSet)(v.elementAt(j)));               if(xaxis != null)                         xaxis.detachDataSet((DataSet)(v.elementAt(j)));               if(yaxis != null)                         yaxis.detachDataSet((DataSet)(v.elementAt(j)));	     }      }/***    paintLast(Graphics g, Rectangle rect)**          Last thing to be done is to draw the contour labels if required.*/      public void paintLast(Graphics g, Rectangle rect) {              int i, j;              int points;              int index;              Vector v;              DataSet ds;              double point[] = new double[2];              int x;              int y;              Color current = g.getColor();              Rectangle r = new Rectangle();              if( xaxis == null || yaxis == null || labels == null ||                   labelLevels == 0 || !drawlabels || curves == null ) {                         super.paintLast(g,rect);                         return;	      }                            for(i=0; i<levels.length; i++) {                 if( labels[i] != null && !labels[i].isNull() &&                     i%labelLevels == 0 ) {                    labels[i].setFont(labelfont);                    labels[i].setColor(labelcolor);                     v = curves[i];                    for(j=0; j<v.size(); j++) {                        ds =  (DataSet)(v.elementAt(j));                        points = ds.dataPoints();                        index = (int)(Math.random()*(double)MINCELLS);                        while ( points > MINCELLS ) {                             point = ds.getPoint(index);                             x = xaxis.getInteger(point[0]);                             y = yaxis.getInteger(point[1]);                             r.width  = labels[i].getWidth(g);                             r.height = labels[i].getAscent(g);                             r.x = x - r.width/2;                             r.y = y - r.height/2;                             g.setColor(DataBackground);                             g.fillRect(r.x, r.y, r.width, r.height);                             g.setColor(current);                                                          labels[i].draw(g, r.x, r.y+r.height,                                             TextLine.LEFT);                             points -= MINCELLS;                             index += MINCELLS;                        }                        		      }		  }	      }              super.paintLast(g,rect);	    }/***   calculateCurves()**        Calculate the contours and attach them to the graph and axes.*/     protected void calculateCurves() {          int i;          int j;          double data[];          double xscale = (xmax-xmin)/(double)(nx-1);          double yscale = (ymax-ymin)/(double)(ny-1);                    IsoCurve isocurve;          isocurve = new IsoCurve(grid,nx,ny);          if( curves != null) {                               detachCurves();                               curves = null;			     }          if( zmin == zmax ) return;          curves = new Vector[levels.length];                    for(i=0; i<levels.length; i++) {              System.out.println("Calculating Contours: level="+levels[i]);              isocurve.setValue(levels[i]);              curves[i] = new Vector();              while( (data = isocurve.getCurve()) != null ) {                for(j=0; j<data.length; ) {                   data[j] = xmin + data[j]*xscale;                   j++;                   data[j] = ymin + data[j]*yscale;                   j++;		 }                try {                  curves[i].addElement(new DataSet(data, data.length/2));                } catch (Exception e) {                  System.out.println("Error loading contour into DataSet!");                  System.out.println("...Contour Level "+levels[i]);                }              }              attachCurves(curves[i]);              //repaint();          }     }	   }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品视频网| 国产精品理论在线观看| 亚洲国产日韩一区二区| 色久优优欧美色久优优| 亚洲综合精品久久| 欧美精品久久天天躁| 日本欧美久久久久免费播放网| 欧美人与性动xxxx| 免费观看在线综合色| 欧美精品一区二区三区四区| 国产成人综合在线观看| 中文字幕在线观看一区| 91福利视频在线| 性做久久久久久免费观看欧美| 欧美一二三在线| 国产一区二区三区最好精华液| 日本一区二区三区电影| 一本一道久久a久久精品| 亚洲丶国产丶欧美一区二区三区| 91久久精品一区二区三| 国产精品美女久久久久aⅴ| 91色九色蝌蚪| 免费在线一区观看| 国产精品三级视频| 欧美午夜一区二区| 久久 天天综合| 亚洲日本一区二区| 日韩欧美中文一区| 粉嫩一区二区三区性色av| 一区二区三区久久久| 日韩欧美中文字幕制服| 99精品欧美一区二区三区小说| 亚洲h动漫在线| 国产亚洲精久久久久久| 在线视频综合导航| 久久激情综合网| 亚洲精品日韩专区silk| 日韩三级中文字幕| a美女胸又www黄视频久久| 青青草国产成人99久久| 91免费国产视频网站| 91美女视频网站| 三级久久三级久久久| 国产日韩欧美一区二区三区综合| 欧美午夜精品免费| 高清视频一区二区| 久久成人久久爱| 香蕉成人啪国产精品视频综合网| 国产精品传媒入口麻豆| 亚洲精品在线观| 欧美一区二区在线看| 国产成人日日夜夜| 久久99精品一区二区三区| 亚洲成人av资源| 亚洲激情网站免费观看| 久久一二三国产| 91精品婷婷国产综合久久性色 | 亚洲欧洲99久久| 精品粉嫩超白一线天av| 欧美一区二区三区男人的天堂| 色狠狠桃花综合| 99re66热这里只有精品3直播 | 日本韩国一区二区三区视频| 国产盗摄一区二区| 国产在线播放一区三区四| 日韩va亚洲va欧美va久久| 亚洲v精品v日韩v欧美v专区| 一区二区三区四区五区视频在线观看| 亚洲国产成人私人影院tom| 久久网站最新地址| 久久网站热最新地址| 欧美α欧美αv大片| 欧美xxxxxxxxx| 日韩午夜激情av| 日韩精品一区二区三区三区免费 | 欧美天堂一区二区三区| 在线观看一区日韩| 日本韩国一区二区| 在线观看日韩精品| 欧美挠脚心视频网站| 在线播放国产精品二区一二区四区| 欧美性受极品xxxx喷水| 欧美猛男超大videosgay| 91麻豆精品国产91久久久资源速度| 欧美日韩亚洲综合一区| 884aa四虎影成人精品一区| 欧美一区二区三区成人| 久久综合久久综合亚洲| 国产精品天美传媒| 中文字幕亚洲电影| 亚洲一区二区三区激情| 亚洲成av人片一区二区三区 | 国产精品日产欧美久久久久| 国产欧美日韩中文久久| 国产精品国产三级国产普通话三级| 国产精品无遮挡| 一区二区成人在线| 日韩福利视频导航| 国产成人自拍网| 99久久精品免费精品国产| 欧美日韩在线不卡| 久久在线观看免费| 亚洲欧美视频在线观看| 日本在线观看不卡视频| 国产精品自拍在线| 91蝌蚪porny九色| 欧美高清dvd| 国产亚洲视频系列| 亚洲理论在线观看| 精品一区二区综合| 91在线国产观看| 日韩一区二区三区视频在线观看| 国产欧美精品一区二区色综合| 亚洲在线中文字幕| 国产麻豆精品视频| 日本久久一区二区三区| 日韩精品在线看片z| 亚洲精品免费在线| 看片网站欧美日韩| 在线精品国精品国产尤物884a| 国产欧美精品一区aⅴ影院| 亚洲精品第一国产综合野| 久久精品国产精品亚洲精品| 91老师片黄在线观看| 欧美精品一区二区三区蜜臀| 亚洲欧美激情在线| 国产精品影视天天线| 欧美日韩精品电影| 国产精品久久777777| 免费在线成人网| 色综合一个色综合| 精品国内二区三区| 亚洲色图在线播放| 国产经典欧美精品| 91精品国产综合久久久久久久| 国产精品网站在线| 久久99国产精品久久99| 欧美性感一类影片在线播放| 中国色在线观看另类| 精品影院一区二区久久久| 欧美日韩视频在线第一区| 国产日韩欧美在线一区| 久久激情综合网| 欧美日韩精品一区二区| 亚洲欧美色一区| 成人免费福利片| 欧美精品一区二| 日韩av电影免费观看高清完整版在线观看 | 成人午夜电影久久影院| 精品88久久久久88久久久| 视频一区二区三区入口| 欧美三级中文字| 亚洲免费视频成人| 91同城在线观看| 国产精品国产自产拍高清av王其| 国产麻豆一精品一av一免费| 精品国产乱码久久| 久久精品国产亚洲一区二区三区| 在线综合亚洲欧美在线视频| 亚洲va中文字幕| 欧美综合视频在线观看| 亚洲尤物在线视频观看| 日本韩国欧美国产| 亚洲免费视频成人| 色综合av在线| 亚洲尤物视频在线| 欧美三区免费完整视频在线观看| 一区二区三区蜜桃| 欧美色国产精品| 日韩av网站免费在线| 日韩视频在线你懂得| 久久国内精品自在自线400部| 日韩欧美一区中文| 蜜桃一区二区三区在线| 欧美一区二区观看视频| 韩国三级在线一区| 国产欧美一区视频| 成+人+亚洲+综合天堂| 亚洲男人的天堂一区二区| 色综合久久精品| 午夜久久久久久| 精品久久久久一区二区国产| 国产一区二区中文字幕| 国产精品欧美一区二区三区| 91香蕉视频mp4| 偷拍日韩校园综合在线| 欧美va天堂va视频va在线| 久久精品国产999大香线蕉| 久久久久国产一区二区三区四区| 国产成人av电影在线播放| 亚洲天堂免费看| 欧美老年两性高潮| 国产一区二区三区免费看 | 亚洲人xxxx| 欧美日韩aaa| 国产999精品久久久久久绿帽| 最新不卡av在线| 制服丝袜中文字幕一区| 风间由美一区二区三区在线观看 | 国产一区二区三区国产|