编写一个applet,在applet中画出一个正弦曲线
时间: 2023-09-17 19:05:39 浏览: 200
用java画出两个周期内的正弦曲线
4星 · 用户满意度95%
### 回答1:
以下是一个画正弦曲线的Java Applet示例代码:
```java
import java.awt.*;
import java.applet.*;
public class SineCurve extends Applet {
public void paint(Graphics g) {
int x,y;
double sinValue;
g.setColor(Color.red);
for(x=0; x<getWidth(); x++) {
sinValue = Math.sin((double)x/180*Math.PI);
y = (int)(getHeight()/2 - 50*sinValue);
g.drawLine(x, y, x+1, y);
}
}
}
```
在这个Applet中,我们使用了Math.sin()函数来计算正弦值,并将其绘制在画布上。可以在HTML文件中嵌入该Applet以显示正弦曲线。
### 回答2:
编写一个applet,可以在applet中绘制一个正弦曲线。
首先,在Java的applet中,我们需要使用Graphics类来绘制图形。以下是一个简单的示例代码:
```java
import java.applet.Applet;
import java.awt.Graphics;
public class SinCurveApplet extends Applet {
public void paint(Graphics g) {
int width = getWidth(); // 获取applet的宽度
int height = getHeight(); // 获取applet的高度
int cx = width / 2; // 曲线的中心点x坐标
int cy = height / 2; // 曲线的中心点y坐标
int amplitude = height / 4; // 正弦曲线的振幅
int period = width / 4; // 正弦曲线一个周期的长度
g.drawLine(0, cy, width, cy); // 绘制x轴
for (int x = 0; x < width; x++) {
double angle = (double) (x - cx) / period * 2 * Math.PI; // 计算当前x点对应的角度值
int y = (int) (cy - amplitude * Math.sin(angle)); // 根据正弦函数计算y坐标
g.drawLine(x, y, x, y); // 绘制当前点
}
}
}
```
在上述代码中,我们首先获取applet的宽度和高度,然后根据这些参数计算出曲线的中心点坐标、振幅和周期。接下来,我们使用for循环遍历所有的x点,并根据正弦函数计算出对应的y坐标。最后,使用drawLine方法绘制曲线上的每个点。
在HTML文件中使用这个applet时,可以使用如下的代码:
```html
<applet code="SinCurveApplet.class" width="500" height="300"></applet>
```
上述的代码中,SinCurveApplet.class表示编译后的applet类的文件名,width和height属性可以调整applet的宽高。将上述的Java代码保存为SinCurveApplet.java并进行编译后,将生成SinCurveApplet.class文件,将这两个文件一起放在同一个目录下,并在HTML文件中引用SinCurveApplet.class文件即可加载和显示绘制的正弦曲线applet。
### 回答3:
要编写一个applet来画出一个正弦曲线,可以使用Java的applet类和绘图类Graphics来实现。首先,需要在applet的init()方法中设置画布的大小和背景色。然后,可以在applet的paint()方法中使用Graphics对象来绘制正弦曲线。
具体步骤如下:
1. 在applet的init()方法中设置画布的大小和背景色:
```java
public void init() {
setSize(400, 400);
setBackground(Color.WHITE);
}
```
2. 在applet的paint()方法中使用Graphics对象来绘制正弦曲线:
```java
public void paint(Graphics g) {
int width = getWidth();
int height = getHeight();
int midY = height / 2;
g.setColor(Color.BLACK);
// 绘制坐标轴
g.drawLine(0, midY, width, midY); // x轴
g.drawLine(0, 0, 0, height); // y轴
// 绘制正弦曲线
int amplitude = 100; // 振幅
int period = 100; // 周期
for (int x = 0; x < width; x++) {
int y = midY + (int) (amplitude * Math.sin((double) x / period));
g.drawLine(x, y, x + 1, y); // 绘制一个像素点
}
}
```
在上述代码中,我们首先获取了画布的宽度、高度和中间点的y坐标。然后,设置绘图颜色为黑色,并绘制x轴和y轴。接下来,使用for循环遍历画布的横坐标,根据正弦函数的公式计算出对应的纵坐标,并使用drawLine方法绘制一个像素点。循环结束后,整个正弦曲线就会被画出来了。
最后,可以在HTML页面中使用applet标签来嵌入这个applet并运行它。
阅读全文