0
我是新来的android和我试图在加速度计值的变化触发屏幕上绘制正弦波。我只需要在屏幕上动态绘制的纯正弦波(限于屏幕)。我可以在画布上绘制坐标并验证屏幕尺寸,但我无法考虑如何将正弦值(范围从0到1)转换为屏幕坐标。如何使用sin()函数和canvas在android中绘制正弦波曲线?
我是想这样的事情在onSensorChanged():
tvarY = sin(tvarX)*2.0; // tvarX and tvarY are double values
tvarX= (tvarX+ 2); // 2.0 is for magnifying
xPosition = (float)tvarX;
yPosition = (float)tvarY;
但tvarx的使用这种方法的值总是从无限远的来回切换为0。任何人都可以请建议我的任何方法更改值并将其转换为屏幕坐标以绘制正确的正弦波?
感谢:-)
'/ 2.0是放大'号。这只会将波向右移动。但是你已经使用X来计算Y,所以之后改变X是没有意义的。或者2.0是您的下一个X的deltaX? '使用这种方法的tvarx的值总是从无穷大到零之间来回切换'。你是决定X范围的人。然后用Y = sin(X);来计算Y. – greenapps
请显示您画鼻窦的整个循环。完成初始化。 – greenapps
我应该改变x线性绘制一个正弦波,我的坏。但是,我应该如何使用数值上的差值来将它们放大到屏幕大小? – 8Bit