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