问题描述
鉴于android java中的距离和角度,我正在尝试从起点到终点绘制直线。我使用的公式是:
lineX = (float) (lastX + (30 * cos(orientationDegree)));
lineY = (float) (lastY + (30 * sin(orientationDegree)));
绘制:
protected void onDraw(Canvas canvas) {
// Todo Auto-generated method stub
super.onDraw(canvas);
drawRotateImage(canvas);
for (Line l : listLine) {
canvas.drawLine(l.StartX,l.StartY,l.EndX,l.EndY,paint);
}
}
private void stepDetector () {
l = new Line();
l.setStartX(lastX);
l.setStartY(lastY);
l.setorientationDegree(orientationDegree);
lineX = (float) (lastX + (30 * cos(orientationDegree)));
lineY = (float) (lastY + (30 * sin(orientationDegree)));
l.setEndX(lineX);
l.setEndY(lineY);
listLine.add(l);
System.out.println ("" + l.toString());
invalidate();
lastX = lineX;
lastY = lineY;
}
每条线将保存在一个数组中,并调用 onDraw
来绘制线。但是,它似乎无法准确工作。方向正朝着与预期不同的任何方向发展。如果用户在特定角度直线行走,则应绘制一条直线,而不是不同角度。这似乎是由于android的坐标系。能否请您建议如何使其准确?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)