'화니 프로젝트/컬러코드'에 해당되는 글 37건
- 2008.10.03 up의 y좌표값과 ff값(최초 시작위치값)이 같을 때 문제점
- 2008.10.03 하나의 끝점이 분명하게 구분이 가지 않을때.. 2
- 2008.10.03 각 4개의 변들 ..중간 좌표 찾기 1
- 2008.10.03 아래의 방식까지..결과이미지 1
- 2008.10.03 외곽선 추출 알고리즘 - 분류기
- 2008.10.03 꼭지점 좌표의 문제점①
- 2008.10.03 [펌] 각도 구하는 함수
- 2008.10.03 Rotation 핵심 코드
- 2008.10.03 컬러코드 생성기 기초 제작
- 2008.10.03 rotation문제
up의 y좌표값과 ff값(최초 시작위치값)이 같을 때 문제점
나는 처음 사각형의 틀을 잡을때 왼쪽으로 기울었는지..
오른쪽으로 기울었는지를 파악할 때..up의 점이 중심점의
x축 좌표값 보다 적을때랑 클때를 구분하여 어느쪽으로
기울어져 있는지 파악 했다. 물론 많은up의 x좌표값들중에..
위 처림이 아닌.
밑에 그림
같이 x중심축값이 up의 모든x값보다 모두작을 경우에는
아무런 문제가 되지 않지만
같을 경우 어느쪽으로 기울어져 있는지 따로 코딩이 필요하다..
물론 한변이 수평일경우도 있지만 그건 나중에 보고..ㅡㅡ
1번부터 4번까지의 기본경우에 따른 코딩방식을 정리 했다.
------------------------------------------------------------------------------------------------
< 수정 결과 >
제일먼저 할 것은 기울기파악인데...up의 최고점-1으로 주어..
이 프레임이 실제로 가지고 있는 수를 카운터하고..
이때 카운터할때는 중심축을 기준으로 왼쪽과 오른쪽을 각각
카운터 한다..
그리하여 두 수를 비교하여 수가 적은 쪽이 위쪽이고..
많은 쪽이 아래쪽으로 했다..
거의 오류는 없는 거 같다...
그리고 시작x축 위치는 right와 left의 x축 사이를 카운터 했다.
나머지는 노이즈이므로 아무 필요없는 값이기 때문이다..
두번째. 어느쪽으로 기울어져 있는지 파악후에..
밑에 부분이 또 어느쪽으로 기울어져 있는지 알아야한다..
위에 사진을 보면 윗변의 기울기는 같은 방향인데..
밑에 3변의 방향이 서로 반대인 것을 알수있다..
이 두 도형은 이에 따라 꼭지점을 처음점으로 잡아야 할지..
끝점으로를 파악해야하므로...나는right값과 left값을 보고..
큰지 작은지에 따른 서로의 차이점을 파악하여 구별하였다.
그림보면 쉽게 알 것이다..
구별한 것은 앞에 설명한 꼭지점함수(처음,끝점)로 돌려 꼭지점을
찾고.. 위에 그림을 보면 하나의 꼭지점이 영뚱한 곳에 위치하고
있는데..이것또한 기울기를 써서 구하면 될듯하다..
3월 16일까지..오류수정중...기울기함수 완성요망상태이다..
하나의 끝점이 분명하게 구분이 가지 않을때..
1. ⓐ 찾을 수 있는 3개의 꼭지점은 마지막 끝점을 찾아 쓴다..
ⓑ 이때 쓰는 함수는 따로 필요 없이 그대로 하면된다.
(동일된 좌표에서 마지막 좌표를 찾는 함수포함외)
ⓒ 분명치 않는 점은 기울기의 차이로 구한다..
ⓓ left의 x축 좌표값과 down의 x축좌표값이
같을 때로 구분할 수있다
2. ⓐ 찾을 수 있는 3개의 꼭지점은 처음점을 찾아 쓴다..
ⓑ 이때 쓰인 함수는 따로 필요하다 (소스참고)...
ⓒ 동일
ⓓ left의 y축 좌표값과 down의 y축좌표값이
같을 때로 구분할 수있다.
3. ⓐ 찾을 수 있는 3개의 꼭지점은 끝점을 찾아 쓴다..
ⓑ 이때 쓰는 함수는 따로 필요 없이 그대로 하면된다.
(동일된 좌표에서 마지막 좌표를 찾는 함수포함외)
ⓒ 동일
ⓓ right의 y축 좌표값과 down의 y축좌표값이
같을 때로 구분할 수있다.
4. ⓐ 찾을 수 있는 3개의 꼭지점은 처음점을 찾아 쓴다..
ⓑ 이때 쓰인 함수는 따로 필요하다 (소스참고)...
ⓒ 동일
ⓓ right의 x축 좌표값과 down의 x축좌표값이
같을 때로 구분할 수있다.
기울기 구하는 거는 나중에...
위에 보면 제대로 나온 3개의 꼭지점과는 달리 left의 좌표가
중간정도에 걸쳐 있다..현재 간단히 기울기 함수를 만들어
처리한 결과는 밑에..
이렇게 하여 left의 값이 제대로는 아니라도..
거의 근사치로 나온 것을 알수 있다..
다음은 반대방향일때
각 4개의 변들 ..중간 좌표 찾기
두 좌표 (8,9) 와 (7,5)사이의 기울기인 Fs는 9-5/8-7이므로
Fs는 y=ax+b에서 a=4이다..그리고 Fa는 1 Fb는 4이므로
Θ를 구할수 있다..(로테이션 소스 참고)
Fs=Fa/cosΘ 으로 구할 수 있다. Fs/3으로 각각의 fs를 구한다.
좌표는???
Fb와 Fa를 3등분한 값을 원래 Fb,Fa에서 빼고
(8,9)(7,5)를 이용하여 빼던지...더하든지..해서 3등분된 좌표를 구할 수있다..
더 정확하게 구할 수도 있지만..그리 큰 의미는 없는 거 같다.
fa=fs/cosΘ, fb=fs/sinΘ (별 의미 없는 거 같음)..ㅡㅡ
그리고..
소수점은 좌표에 존재하지 않으므로..반올림으로 처리하면
어떨까 싶다...
(7.3,6.3) -> (7,6)
(7.6,7.6) -> (8,8)
< 실제 구현 >
그냥 두 좌표에서 /3하여 원래 좌표에서... 결과값인 두 X,Y축값을
빼주어..찾음..소수점은 반올림했음..