* 간단하지만 고민하게 되는 각도 구하기~~

 

0~360중 목표 각도(targetAngle)로 이동시 현재 각도(detectAngle)에서 최소 이동 각도 산출 (방향성 + - 포함)

 

inline double GetShortAngle(double  targetAngel, double detectAngle)
{
	double fTA = fmod(targetAngel, 360.0);
	double fDA = fmod(detectAngle, 360.0);
	double fRA = fTA - fDA;
	
	if (abs(fRA) > 180.0)
	{
		fRA = (360.0 - abs(fRA));
		if (targetAngel > detectAngle) fRA *= (-1.0);
	}
	return fRA;
}

감지 위치별 목표각도까지의 회전각 예시

'작업 > C,C++' 카테고리의 다른 글

유니코드 변환 & Unicode, Multi Byte Code변환 함수  (0) 2020.01.09


USES_CONVERSION; /*주) 1MByte이상시 에러 발생*/

A2W() : wchar to char
W2A() : wchar to char


USES_CONVERSION;

char *pstrBuf = {"abcd"};

wchar strUni[100]= {0};
_stprintf(&strUni[0], _T("%s"), A2W(pstrBuf));

 

=============================================================

TCHAR 활용
기능 ANSI 함수 유니코드 함수 일반 문자열 함수
-------------------------------------------------------------------------------------------------------------
문자열의 길이를 반환하는 함수 strlen() wcslen() _tcslen()
두 문자열을 접합하는 함수 strcat() wcscat() _tcscat()
문자열에서 문자를 찾는 함수 strchr() wcschr() _tcschr()
두 문자열을 비교하는 함수 strcmp() wcscmp() _tcscmp()
문자열을 복사하는 함수 strcpy() wcscpy() _tcscpy()
부분 문자열을 찾는 함수 strstr() wcsstr() _tcsstr()
문자열을 역순으로 저장하는 함수 strrev() _wcsrev() _tcsrev()

 

 

strcpy -> wcscpy -> _tcscpy (문자열을 복사)
strncpy -> wcsncpy -> _tcsncpy ( 사이즈 만큼 복사)
strlen -> wcslen -> _tcslen (문자열 길이 확인)
strcat -> wcscat -> _tcscat (두 문자열 이어 붙이기)
strncat -> wcsncat -> _tcsncat (사이즈 만큼 이어 붙이기)
strcmp -> wcscmp -> _tcscmp (문자열 비교) (반환 값(-1, 0, 1))
strncmp -> wcsncmp -> _tcsncmp ( 사이즈 만큼 문자열 비교)
stricmp -> wcsicmp -> _tcsicmp (대소문자를 구별하지 않고 문자열을 비교)
strnicmp -> wcsnicmp -> _tcsnicmp (사이즈 만큼 대소문자를 구별하지 않고 문자열을 비교)
strchr -> wcschr -> _tcschr (문자 찾기)
strrchr -> wcsrchr -> _tcsrchr (문자 찾기 (문자열 끝에서 부터 검색))
strstr -> wcsstr -> _tcsstr (문자열 찾기)
strpbrk -> wcspbrk -> _tcspbrk (문자 찾기 (두번째 인수를 찾고자 하는 문자들의 집합(문자열)으로 구성)
strtok -> wcstok -> _tcstok (문자열 자르기 (두번째 인수를 집합(문자열)으로 구성 가능)) => 해당 문자가 NULL로 치환 됨
strset -> wcsset -> _tcsset (문자 치환, 첫째 인수의 모든 문자를 두번째 인수 문자로 변경함) => "abc" -> "bbb"
strnset -> wcsnset -> _tscnset (사이즈 만큼 문자 치환)
strupr -> wcsupr -> _tcsupr (대문자로 치환)
strlwr -> wcslwr -> _tcslwr (소문자로 치환)
strrev -> wcsrev -> _tcsrev (문자열 역정렬) => "가나다라마" -> "마라다나가"
_stprintf_s( buf, sizeof(buf), _T("point : %f, %f \n"), location.x, location.y );//문자열 나머지는 0xFF로
_stprintf( buf, sizeof(buf), _T("point : %f, %f \n"), location.x, location.y );//문자열까지만

'작업 > C,C++' 카테고리의 다른 글

감지 각도에서 목표각도까지 최단 각도 구하기  (0) 2021.01.06

+ Recent posts