int[]x = new int[1000];
int[]y = new int[1000];
for (int i=0; i<1000; i++)
{
x[i] = i+50;
y[i] = 350+(int)(text1*Math.sin(i*text2));
}
g.setColor( Color.black);
Graphics2D g2 = (Graphics2D)g;
g2.setStroke(new Basic Stroke(text));
g2.drawPolyline(x,y,1000);
super.paint(g);panel 2. paint Components(g);
这是正弦波的代码,我该怎么做才能使这波成为方波?感谢
答案 0 :(得分:1)
要将正弦波转换为方波,请取sin
的{{3}}。
double sinPoint = Math.sin( i * text2 );
double squarePoint = Math.signum( sinPoint );
y[i] = 350 + (int)( text1 * squarePoint );
signum
中提到了这一点。
答案 1 :(得分:0)
简单的方法是花一段时间来'T'
然后计算为i变量运行循环然后执行i%T&lt; T / 2然后y轴的值是1,否则它将是-1