curvePic.java
package src;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
import java.lang.*;
public class curvePic extends Applet {
static int LEN;
static int Xo,Yo;
static int X2,Y2;
final int X1=50,Y1=30;
int Yunit,Xunit;
float Unit;
String Xstr,Ystr;
String Xstring;
int[] Xval;
int[] Yval;
float[] Y=new float[5];
int[] X=new int[8];
float[] temp=new float[1];
int Xmax,Xmin;
float Ymax,Ymin;
int[] Yvalue;
int[] Xvalue;
int xpar=0;
public void init() {
}
public void start() {
int width=this.getBounds().width;
int height=this.getBounds().height;
setSize(width,height);
Xstr=getParameter("xValue");
Ystr=getParameter("yValue");
Xstring=getParameter("xStr");
Xval=Substr(Xstr);
Yval=Substr(Ystr);
LEN=Xval.length;
Yvalue=new int[LEN];
Xvalue=new int[LEN];
Xo=50;
Yo=height-30;
X2=width-30;
Y2=Yo;
Yunit=(height-100)/4;
Ymax=getMaxVal(Yval);
Ymin=0;
Xmax=getMaxVal(Xval);
Xmin=0;
if(Ymax==Ymin){
Ymin=0;
}
if(Xmax==Xmin){
Xmin=0;
}
float tempy=((float)Ymax-(float)Ymin)/4;
Y[0]=0;
Y[1]=(Ymin+tempy)/100;
Y[2]=(Ymin+tempy*2)/100;
Y[3]=(Ymin+tempy*3)/100;
Y[4]=(Ymax)/100;
xpar=(int)(Xmax/100)+1;
Xunit=(width-100)/xpar;
float Xtempy=0;
X[0]=0;
int xi;
for(xi=1;xi<=xpar;xi++){
X[xi]=xi;
if(xi==xpar){
Xtempy=100;
}
}
Yvalue=getY(Yunit,tempy,Ymin,Yval);
Xvalue=getX(Xunit,Xtempy,Xmin,Xval,width,xpar);
}
public static int[] getY(int unit,float diff,float ymin,int[] value){
int I=0;
int[] result=new int[LEN];
for(I=0;I<LEN;I++)
result[I]=(int)(Yo-((4*unit)/(diff*4))*(value[I]-ymin));
return result;
}
public static int[] getX(int unit,float diff,float xmin,int[] value,int wideth,int xaxis){
int I=0;
int[] result=new int[LEN];
for(I=0;I<LEN;I++)
result[I]=(int)(X2-((unit)/(diff))*(value[I]));
return result;
}
public void paint(Graphics g){
java.text.DecimalFormat df1 = new java.text.DecimalFormat("##0");
g.setColor(Color.red);
g.drawLine(Xo,Yo,X1,Y1);
int I;
for(I=0;I<5;I++){
g.drawLine(Xo-5,Yo-Yunit*I,Xo,Yo-Yunit*I);
g.drawString( df1.format(Y[I]),Xo-38,Yo-Yunit*I);
}
g.drawLine(X1,Y1,X1-5,Y1+5);
g.drawLine(X1,Y1,X1+5,Y1+5);
g.drawLine(Xo,Yo,X2,Y2);
for(I=0;I<=xpar;I++){
g.drawLine(Xo+Xunit*I,Yo,Xo+Xunit*I,Yo+5);
g.drawString(Integer.toString(X[I]),Xo+Xunit*I-6,Yo+20);
}
g.drawLine(X2,Y2,X2-5,Y2-5);
g.drawLine(X2,Y2,X2-5,Y2+5);
g.setColor(Color.blue);
g.drawString("Öµ(value)",X1-50,Y1);
g.drawString(Xstring,X2-20,Y2+20);
for(I=0;I<LEN;I++){
if(Ymax==0){
g.drawLine(Xo,Yo,Xo+Xunit*xpar,Yo);
}
else if(I==LEN-1){
g.drawLine(X2+50-Xvalue[0],Yvalue[0],X2+50-Xvalue[I],Yvalue[I]);
}
else{
g.drawLine(X2+50-Xvalue[I],Yvalue[I],X2+50-Xvalue[I+1],Yvalue[I+1]);
}
}
}
public static int[] Substr(String str){
int I=0;
StringTokenizer st = new StringTokenizer(str,";");
int len=st.countTokens();
int[] val=new int[len];
while(st.hasMoreTokens()){
float midtemp=Float.parseFloat(st.nextToken())*100;
val[I]=Math.round(midtemp);
I++;
}
return val;
}
public static int getMaxVal(int[] Maxval){
int I,result;
result=Maxval[0];
for(I=0;I<Maxval.length;I++){
if(result<Maxval[I])
result=Maxval[I];
}
return result;
}
public static int getMinVal(int[] Minval){
int I,result;
result=Minval[0];
for(I=0;I<Minval.length;I++){
if(result>Minval[I])
result=Minval[I];
}
return result;
}
}
test.html
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<html>
<APPLET height=300 width=500 code=curvePic.class>
<PARAM NAME="xValue" VALUE=2.07;2.17;2.25;2.34;2.45;2.52;2.63;2.71;2.80;2.91;2.99;3.05;3.15;3.23;3.31;3.37;3.43;3.53;3.56;3.62;3.72;3.75;3.81;3.87;3.89;3.96;3.98;4.02;4.05;4.08;4.11;4.12;4.14;4.16;4.17;4.17;4.18;4.19;4.19;4.19;4.20;4.19;4.19;4.19;4.18;4.17;4.10;4.08;4.06;4.04;4.01;3.97;3.93;3.91;3.84;3.79;3.75;3.67;3.65;3.59;3.54;3.49;3.41;3.34;3.30;3.26;3.13;3.10;3.01;2.91;2.87;2.79;2.69;2.62;2.53;2.46;2.35;2.22;2.20;2.05;1.96;1.89;1.77;1.70;1.59;1.49;1.45;1.27;1.20;1.17;.97;.94;.90;.73;.70;.63;.52;.48;.41;.34;.29;.24;.20;.15;.12;.10;.06;.04;.04;.02;.01;.00;.00;.00;.02;.03;.04;.09;.13;.18;.22;.27;.33;.38;.45;.50;.57;.64;.72;.79;.88;.96;1.03;1.13;1.20;1.29;1.39;1.47;1.56;1.66;1.76;1.83;1.93;2.02;>
<PARAM NAME="yValue" VALUE=15;15;15;15;15;100;15;15;16;15;15;15;15;15;15;15;15;16;15;15;15;15;16;16;15;15;15;16;15;15;15;15;16;15;15;15;15;15;15;15;15;15;15;15;15;16;15;16;16;16;18;17;18;19;19;20;19;19;19;20;22;21;20;22;22;23;22;21;21;22;23;23;21;20;21;21;20;20;20;20;20;18;17;18;18;18;17;16;17;16;16;16;15;16;16;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;16;16;16;17;17;18;17;16;16;17;17;18;17;16;16;16;16;16;16;16;16;15;15;15;15;16;15;>
<PARAM NAME="xStr" VALUE=时间(T)>
</APPLET>
</html>
分享到:
相关推荐
【标题】"Applet编写的三角函数曲线"指的是在Java编程环境下,利用Applet小应用程序技术绘制出的正弦函数图像。Applet是Java的一种早期特性,它允许开发者创建可以在Web浏览器中运行的小型交互式程序。在这个特定的...
为了实现动态曲线显示,开发者可能使用了Java的Swing或AWT库来构建UI组件,比如JPanel或JComponent,然后在这些组件上绘制曲线。Java的Graphics类提供了丰富的绘图功能,可以用于画线、填充形状等,通过定时器更新...
Showdata.java文件很可能是实现这一功能的核心,它可能包含了绘制曲线的图形API调用,如Java AWT或Swing库中的`Graphics`类,以及处理实时数据更新的方法。 3. 实时数据处理与更新: 在远程采集系统中,数据的实时...
### 在Applet画面中实现y=ax² + bx + c函数曲线的绘制 #### 一、课程设计背景与目的 在计算机科学与技术专业中,利用编程语言实现数学公式的图形化展示是一项重要的技能。本课程设计的目标是让学生通过Java语言中...
5. 将图表嵌入Applet:创建一个Applet类,覆盖paintComponent()方法,在其中调用ChartPanel对象的drawChart()方法,将JFreeChart对象绘制到Applet的画布上。 6. HTML嵌入:在HTML文件中,使用<applet>标签指定...
在本课程设计中,学生被要求在Applet中实现y=a*x^2+b*x+c函数曲线的绘制。这个任务旨在让学生掌握Java语言的程序设计方法,理论与实践相结合,提升软件开发技术,培养分析和解决问题的能力,以及提高论文撰写水平。 ...
`Graphics`对象提供了各种绘图方法,如`drawLine()`用于绘制直线,`drawOval()`用于绘制椭圆,`drawRect()`用于绘制矩形,以及可能使用`drawBezier()`或其他曲线绘制方法来绘制曲线。 为了使用户能够选择不同的颜色...
在这里,我们需要用到`drawLine()`方法来绘制曲线。 4. **计算sin(x)值**: 我们需要一个循环,遍历x轴上的多个点,并计算对应的sin(x)值。可以使用`Math.sin()`方法来获取正弦值。确保x值在有效范围内,例如从0到...
// 绘制曲线 g.beginPath(); for (int i = 0; i ; i++) { g.lineTo(xPoints[i], yPoints[i]); } g.closePath(); g.stroke(); } ``` 4. **设置窗口大小和位置**: 我们需要设置`JFrame`的大小和位置,使其...
在这个游戏中,可能使用了`Canvas`或者`JPanel`来绘制游戏场景,通过重写`paint`或`paintComponent`方法来实现图形的绘制。 4. **游戏逻辑**: 游戏的核心部分在于它的逻辑处理,包括主角移动的规则、宝藏和炸弹的...
4. **绘制小人沿曲线轨迹运动**:小人应该能够沿抛物线轨迹从起点移动到终点,并且在到达终点后自动返回起点继续循环运动。 #### 三、设计思路与实现细节 1. **初始化Applet参数**: - 使用`init()`方法获取并...
在Applet画面中实现y=a*x2+b*x+c 函数曲线的绘制 1)通过Applet参数传递a,b,c值; 2)通过Applet参数控制曲线的粗细; 3)曲线的颜色通过颜色对话框选取(通过一个颜色按钮控制); 4)绘制一个小人沿曲线轨迹...
在贝塞尔曲线的Java Applet中,代码可能利用Java的AWT或Swing库来创建图形用户界面,并使用Java的Graphics类来绘制曲线。用户可能可以通过滑块或输入框来改变控制点的位置和t值,实时观察曲线的变化。 通过分析和...
用java绘制一个三维蝴蝶效应的applet程序,具有多线程功能
基于 Java Applet 的液位 PID 控制仿真...该系统是一种基于 Java Applet 的液位 PID 控制仿真系统,具有在线仿真、实时曲线绘制、界面动画等功能,针对高校过程控制实验设备和场地不足的问题,提供了一种新的解决方案。
此外,Applet的复杂性相比其他Web技术更高,学习曲线较陡峭。 10. **现代Web开发的替代方案**: 考虑到Applet的现状,开发者可以转向JavaScript库(如jQuery)、WebGL、WebAssembly等技术,它们在不依赖额外插件的...
3. **二维和三维图形绘制**:使用Java的`Graphics2D`和`Java3D`库来绘制和渲染曲线。在笛卡儿曲线的例子中,`Graphics2D`可能用于二维渲染,而`Java3D`则用于构建三维场景。 4. **笛卡儿坐标系**:理解笛卡儿坐标系...
在这个applet中,`java.awt.Graphics`类是关键,它提供了绘制直线、曲线、填充区域等方法。例如,`drawLine(int x1, int y1, int x2, int y2)`可以用来绘制一条从(x1, y1)到(x2, y2)的直线。 5. **Applet生命周期**...
2. **Plot类**:作为Applet类的子类,负责与HTML页面的交互,接收参数,并调用`Curve`类绘制统计曲线。 - **参数解析**:从HTML页面中读取`param`标签数据,传递给`Curve`类。 - **Applet生命周期管理**:遵循...
Java_paiting.rar_drawlet_applet 是一个基于Java编写的画图应用程序,它利用了Java Applet技术,为用户提供了一个简单但功能丰富的矢量图形绘制环境。Drawlet Applet是Java编程领域中一种常见的示例,它展示了如何...