색깔 판별..
소라
지금 제가 인공지능 청소기를 만들고 있는데
frame을 칠하는 사각형(초록색)-청소기
고정된 사각형(파란색) - 장애물
이렇게 설정한 가운데
제가 지금 좌표의 값에 사각형의 크기(청소기크기) 만큼 더해서 그 앞에 있는 좌표의 색이 파란색이면
방향을 틀려고 하는데;; 도저히 어떻게 해야 색을 판별할수 있는지 모르겠습니다..
계속 저것때문에 하루종일 고민입니당..ㅠㅠ
혹시 색이 아닌 다른 방법으로 피할수 있는 방법이 없을까요?
장애물좌표를 저장해서 비교해서 피하는 방법도 있긴 한데 그건 나중에 여러개의 랜덤 장애물이 노이면
청소기 이동 패턴설정이 어려워져서 ..ㅠㅠ
부탁드립니다.. 혹시 색을 판별하는 클래스가 없나요?
-
한샘가온
청소기가 지나왔던 영역을 union으로 합집합 시키면 될듯한데요? ㅎㅎ
( 이때는 물론 사각형이 아니라, 그냥 도형(Shape)로 처리해야 하겠네요. ) -
은새
색이 여러개라면.. 비트 연산을 이용하면 되겠죠^^
-
여울가녘
사이트수다님에게 질문이 있습니다..
저도 처음에 2차원 배열을 이용해서 하려고 했는데
각각을 값을 넣으려면 일단 프레임을 쪼개야 하지 않나요??
1. 프레임이 그렇게 바둑판철머 나눌수 있나요?
제 생각 - gridlayout을 이용해서 해볼려고 했지만 아무런 값을 안넣으면 안쪼개져서
즉 5*5 를 만들려고 해도 각각에 값을 넣지 않는 이상 안쪼개지더군용;
2. 그리고 그 프레임에 각각 값을 넣을수 있는지도좀;;
제 생각- 만약에 위에 그 -
검사
보통 저런경우에 2차원 배열로 장애물 위치를 표시해서 사용하시면 될겁니다.
0,0,0,0,0,0
0,1,0,0,0,0
1,0,0,0,1,0
0,1,1,1,0,0
위 처럼 1이 있는 부분이 장애물이 있는 위치고요..
알고리즘 책보면 미로찾기라는 부분 참고하면될듯하네요.. -
아키
찬님도 질문이 있습니다..;;
Rectangle을 마구 뒤져서 사용해보기도 했습니다.
제가 제대로 클래스를 사용못했는지 잘 되지 않았지만 궁극적으로
렉탱글은 일단 좌표의 위치를 반환하거나 비교해야하는 방식인데
나중에 제가 장애물 여러개를 랜덤으로 위치 시킬껀데
물론 랜덤 좌표는 일일이 기억시키겠지만
궁극적으로 청소기가 움직일때 솔직히 규치적인 패턴이 있는데
이게 상당히 어려워지지 않을까 합니당..ㅠㅠ;; -
다슬
java.awt에 있는 Rectangle은 Shape를 상속 받았는데요..
특정 영역에 자신이 포함되는가?
특정 영역에 자신을 포함한 영역은?
등의 메소드가 존재합니다.
단지 \보여지는 색깔\을 어떻게 하려고 하는것 보다는
좀 더\의미적인 정보\인 영역을 그린뒤에, 그것에 포함되는지를 살펴 보면 되지 않을까요? -
매디
시뮬레이션 하시는 건가 보내요.
그럼 이런식으로 하셔도 되지 않을까요?
청소기 좌표를 움직일때 마다 주변 정보를 가져오는거에요.
예를들어 청소기 전면 3단위 위치정보를 가져와서
그전에 장애물이란 위치정보가 있다면 그전에 턴하는거죠.
(말은 쉬운데 나름 생각할게 많을듯;;)
2차원 평면이라면 각 위치마다 정보를 저장하고 있어야겠죠.
그래서 청소기가 정보들 요청 하면
어떤곳은 평면이다. 어떤곳은 장애물이다 그런 정보를 반환?
색상이라면 색상 정보를 -
횃대비
아;; 제가 이걸 안썻네용..ㅠㅠ;; 일단 저것은 소프트웨어적으로 구현하고 있습니다..
카메라센스도 없고 오직 프로그램적으로 구현해야 한답니당..ㅠㅠ;; -
리네
청소기에 카메라 같은게 있겠죠? 그럼 그림 파일로 만들어서 RGB로 판별하면 될거같네요.
파란색의 범위를 주어서 RGB값이 해당 범위에 속한다면 파란색으로 판별하면 될거 같은데요.
java.awt.color 에서 rgb값을 얻는 메소드 있을거에요.
아마 VM이 임베디드 자바용일텐데, 해당 벤더사에서 제공하는 api 잘 찾아보시면 더 나은 방법도 있을 겁니다.
그리고 이건 확실하지 않은 정보인데, 보통 센서(적외선인지 초음파인지는 잘 모름;;)같은걸로