2017-02-07 2 views
-1

애완 동물 프로젝트의 마우스 이동 거리를 측정하고 싶습니다. 그래서 저는 실험을하고 싶습니다 : 1m에서 얼마나 정확하게 거리를 얻을 수 있다고 가정 해 봅시다.마우스의 이동 거리를 측정하는 방법은 무엇입니까?

테스트 프로그램을 작성하려했지만 몇 가지 어려움이 있습니다. 화면 테두리.

가장자리에 도달하려고 할 때 마우스 위치를 설정하기 위해 Robot 클래스를 사용하고 있지만 이것이 맞는지 잘 모르겠습니다. 화면이나 다른 솔루션을 언 바운드 (unbound)하는 방법에 대해 알고 있습니까?

가 여기 내 테스트 코드입니다 : 참으로 내가 마우스의를 사용하고 싶습니다

public class App { 
    public static void main(String[] args) throws AWTException { 
     Toolkit toolkit = new WToolkit(); 
     int screenResolution = toolkit.getScreenResolution(); 
     Robot robot = new Robot(); 
     List<Point> list = new ArrayList<Point>(); 
     int distance = 0; 
     while (true) { 
      if(MouseInfo.getPointerInfo().getLocation().y <= 50) 
      { 
       robot.mouseMove(910, 1080); 
      } 
      list.add(MouseInfo.getPointerInfo().getLocation().getLocation()); 
      if(list.size() >= 2) { 
       Point p2 = list.get(list.size()-1); 
       Point p1 = list.get(list.size()-2); 
       if(p2.getY() <= p1.getY()) { 
        distance += (int) Math.sqrt(0 + Math.pow(p2.y - p1.y, 2)); // sqrt(pow(x2-x1) + pow(y2-y1)) sqrt(pow(x2-x1) = 0 for just measure on Y 
        System.out.println(distance/screenResolution * 0.0254); 
       } 
      } 
      try { 
       Thread.sleep(200); 
      } catch (Exception e) { 
       System.out.println("something"); 
      } 
     } 
    } 
} 
+0

업데이트 사이에 전체 여행 찾을 포인트 P1과 P2를 업데이트 계속 될 것 로봇 용 광학 센서 센서로 로봇이 움직이는 거리를 측정하고 싶습니다. 그래서 내가 마우스 센서로 가능한지 알아 내고 싶습니다. – Poko

+0

자바로 할 수 있다고 생각하지 않습니다. 'MouseInfo'는 마우스 포인터의 현재 위치를 알려줄뿐입니다 - 당신이있는'GraphicsDevice' 가장자리를 넘어서 측정 할 수 없습니다. (와우, 나는 처음에는 틀린 상자에 입력했다.) –

+0

왜 당신은 제곱 한 다음'p2.y - p1.y'를 제곱근하고 있습니까? –

답변

1

이 솔루션에서, 당신은 거리가

//I think this code should work for what you are doing 
double distance = Math.sqrt(Math.pow(p1.getX()-p2.getX(),2)+Math.pow(p1.getY()-p2.getY(),2)); 
관련 문제