• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Java
  • 标签: contour  java  

资源简介

这是网格的等值线生成算法,生成的是折线。可以自己修改数据

资源截图

代码片段和文件信息

package contour;
/*--------------------------------------------------------------------
File “ContourPlot.java“:
--------------------------------------------------------------------*/
import java.awt.*;
import java.io.*;

//----------------------------------------------------------
// “ContourPlot“ is the most important class. It is a
// user-interface component which parses the data draws
// the contour plot and returns a string of results.
//----------------------------------------------------------
public class ContourPlot extends Canvas {

// Below constant data members:
final static boolean SHOW_NUMBERS = true;
final static int BLANK = 32
OPEN_SUITE = (int)‘{‘
CLOSE_SUITE = (int)‘}‘
BETWEEN_ARGS = (int)‘‘
N_CONTOURS = 10
PLOT_MARGIN = 20
WEE_BIT =  3
NUMBER_LENGTH =  3;
final static double Z_MAX_MAX = 1.0E+10
Z_MIN_MIN = -Z_MAX_MAX;
final static String EOL =
System.getProperty(“line.separator“);

// Below data members which store the grid steps
// the z values the interpolation flag the dimensions
// of the contour plot and the increments in the grid:
int xSteps ySteps;
float z[][];
boolean logInterpolation = false;
Dimension d;
double deltaX deltaY;

// Below data members most of which are adapted from
// Fortran variables in Snyder‘s code:
int ncv = N_CONTOURS;
int l1[] = new int[4];
int l2[] = new int[4];
int ij[] = new int[2];
int i1[] = new int[2];
int i2[] = new int[2];
int i3[] = new int[6];
int ibkeyicurjcuriijjelleixiedgeiflagniks;
int cntrIndexprevIndex;
int idirnxidirk;
double z1z2cvalzMaxzMin;
double intersect[] = new double[4];
double xy[] = new double[2];
double prevXY[] = new double[2];
float cv[] = new float[ncv];
boolean jump;

//-------------------------------------------------------
// A constructor method.
//-------------------------------------------------------
public ContourPlot(int x int y) {
super();
xSteps = x;
ySteps = y;
setForeground(Color.black);
setBackground(Color.white);
}

//-------------------------------------------------------
int sign(int a int b) {
a = Math.abs(a);
if (b < 0) return -a;
else return  a;
}

//-------------------------------------------------------
// “InvalidData“ sets the first two components of the
// contour value array to equal values thus preventing
// subsequent drawing of the contour plot.
//-------------------------------------------------------
void InvalidData() {
cv[0] = (float)0.0;
cv[1] = (float)0.0;
}

//-------------------------------------------------------
// “GetExtremes“ scans the data in “z“ in order
// to assign values to “zMin“ and “zMax“.
//-------------------------------------------------------
void GetExtremes() throws ParseMatrixException {
int ij;
double here;

zMin = z[0][0];
zMax = zMin;
for (i = 0; i < x

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      23486  2015-05-09 16:59  contour\ContourPlot.java

     文件       6113  2015-05-12 21:30  contour\ContourPlotapplet.java

     文件       5859  2015-05-09 16:59  contour\ContourPlotLayout.java

     文件        592  2015-05-09 16:59  contour\ParseMatrixException.java

     目录          0  2015-05-09 16:56  contour

----------- ---------  ---------- -----  ----

                36050                    5


评论

共有 条评论