사다리꼴 문제점 해결1 - 2부
우선 말하고자 할 것이 있다..
출력하여 살펴본 결과..시작점이랑 최고up점이랑 같을 경우..즉..겹침의 상황에서는
꼭지점을 알아서 찾아 내었다...
위에 따로 소스가 있으니까..그게 실행되어 찾더라..^^
근데..만약 시작점이 up보다 작은 y축에 있을 경우..즉!!
겹침현상이 아닐경우..(앞에 1부 결과 사진 잘볼 것)
발생하는 문제점을 해결하기 위한 소스임을 밝혀둔다..
그럼./.
그 사다리꼴을 해결하기 위한 소스이다.
if(old_y_up_x<xx_half || what==4 || what==2){
if(old_x_left_y == old_y_up){
plusORminus=TRUE;
outlet1=sadarigol4(old_x_right, old_x_right_y);
old_y_up_x=Returrns(outlet1);
old_y_up=Returrnsy(outlet1);
}else if(old_x_left != old_y_up_x){
처음점 찾는 소스랑 나머지 사다리꼴 찾는 소스이다..
}
무지 간단하게 구현되었다..
앞에서 구현되었던 똑같은 경우
if(old_y_up_x<xx_half || what==4 || what==2){
일 경우에는 모두 처음점을 이용하여 꼭지점을 찾아야 했지만..
이 경우는 끝점을 찾아야 하므로..
처음점을 찾는 소스 바로 앞에다
if(old_x_left_y == old_y_up){
}를 구현했다..
이유는 성질을 잘 살펴보면 최고 왼쪽점의 y축값이랑
최고 위쪽점의 y축값이랑 같음을 찾을 수 있기 때문이다..
나머지 안의 소스는 앞에 겹침현상에서 쓴 소스랑 거의 같다..
그러나.
한가지 짚을 것은..
+3이나..-3을 이용하여 기울기함수를 쓸때..
all_count의 0값보다..작은 곳에 꼭지점의 좌표가 저장되어있을 확률이 높기때문에..
차라리 right값을 넘겨주어..
거기서 부터..기울기함수를 호출하여 계산한 값을
up값에 각각 넣어 버리면 간단해지기 때문에...그렇게 해따..
그리고 다시 실행한 결과사진은
..
이다..