我有一个函数,y = 50sin(x / 50)+100。现在我要做的就是为此函数绘制一条曲线,但是在没有图形绘图仪的任何其他信息的情况下,我只需要在屏幕上挥一挥即可。X应该对应于屏幕的X参数,Y应该对应于屏幕的Y参数。这是我当前视图的代码。
public class Sinusoid extends View {
Paint paint = new Paint();
public Sinusoid(Context context) {
super(context);
paint.setColor(Color.RED);
}
@Override
public void onDraw(Canvas canvas) {
//todo draw the line using myFunction
}
private double myFunction(double x){
return 50 * Math.sin(x / 50) + 100;
}
}
现在的问题是,我应该填写什么我的待办事项?
请帮助,任何文档或示例将非常有用。
提前致谢。
这个想法是有这样的事情:
@Override
public void onDraw(Canvas canvas) {
for (int x=0; x<canvas.getWidth();x++) {
canvas.drawPoint(x,(float) myFunction(x),mPaint);
}
}
但是最终您将需要在给定画布高度的情况下调整函数的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句