找到终点,给定android java中的起点,距离和角度

问题描述

鉴于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 (将#修改为@)