본문 바로가기

old drawer/programming

[Programming] 3D 프로그래밍에 필요한 간단한 수학 공식 소스 3d 프로그래밍을 하면서 필요한 공식들을 한 곳에 모아봤습니다. 공식은 아는데 막상 구현하기 귀찮고 찾자니 이곳저곳에 있어서 불편했었는데 이참에 이렇게 모아서 정리했습니다. 앞으로도 조금씩 추가할 생각이구요..그럼 즐프~! 함수 선언부 //2점이 이루는 백터 구하기(점1, 점2, 결과) void HJGetVector(const float *p1,const float *p2, float *result); //점과 평면의 거리(점, 평면의 방정식) float HJGetLenPointFromPlane(const float *p,const float *plane); //3점으로 이루는 외적 구하기(점1,점2,점3) void HJOuterPoroduct(const float *p1,const float *p2,c.. 더보기
[VC++] 단축키 모음 VC++ 단축키 Ctrl + Tab Edit하고 있는 Child Window 간의 이동 Ctrl + F4 현재 Edit하고 있는 Child Window를 닫기 Ctrl + I >> 문자열 입력 점진적으로 문자열 찾기 (Incremental Search) Ctrl + F3 현재 커서에 있는 문자열 찾기 (블록 지정 안 해도 됨) Shift + F3 현재 커서에 있는 문자열 찾기 backward F3 찾은 문자열에 대한 다음 문자열로 이동 (Next Search) Ctrl + H 문자열 찾아 바꾸기 (Replace) Ctrl + Left/Right Arrow 단어 단위로 이동 Ctrl + Delete 또는 Backspace 단어 단위로 삭제 Ctrl + F2 현재 라인에 북마크 지정/해제 F2 지정된 다음 .. 더보기
[ETC]명령어로 path 환경 변수를 영구히 변경하는 방법 명령어로 path 환경 변수를 영구히 변경하는 방법 Windows 7 1 Command Prompt 실행 단축키 윈도우키 + R 누르기 입력창에 cmd 입력하고 확인 버튼 클릭 2 setx 명령으로 path 환경 변수에 C:\Program Files\java\jdk1.6.0_26\bin 추가 C:\>setx path "%PATH%;C:\Program Files\java\jdk1.6.0_26\bin" 3 Command Prompt 재실행 후 javac 명령 실행 C:\>javac Usage: javac where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,so.. 더보기
[cmd] What is the Xcopy Command? What is the Xcopy Command?: The xcopy command is a Command Prompt command used to copy one or more files and/or folders from one location to another location. The xcopy command is also a DOS command available in MS-DOS. The xcopy command, with its many options and ability to copy entire directories, is similar to, but much more powerful than, the traditional copy command. The robocopy command is.. 더보기
[ETC] cmd 명령어를 활용한 환경변수 추가 command 창을 활용한 환경변수 추가 실행 - cmd >path 현재 환경변수 정보 보여줌. >set path path명령과 동일한 현재 환경변수 정보와 동일한 path 정보와 pathext라는 시스템 실행파일 확장자 변수가 같이 나온다. >set path =%path%;추가하고자하는경로; ex) >set path=%path%;c:\java\bin; 환경변수 추가(일시적) >setx path "%PATH%;추가하고자하는경로" ex) >setx path "%PATH%;c:\java\bin" 환경변수 추가(영구적) %path%를 하는 이유는 현재 환경변수에 path 정보를 가져와서 현재 환경변수에 새로운 환경변수를 추가해야하기 때문이다. echo 명령어를 사용하면 %%를 이용하여 모든 환경변수 내용을 알.. 더보기
[배치파일] 디렉토리 복사(폴더복사) "도스창(명령 프롬프트)"에서 직접 또는, 배치 파일 속에서 디렉토리를 복사하는 방법입니다. 도스의 일반적인 COPY 명령에는 디렉토리 복사 기능이 없습니다. 파일만 복사할 수 있습니다. 그 외에도, 파일 속성을 복사할 수 없는 등의 제약이 아주 많습니다. XCOPY 라는 외부 명령어로 디렉토리를 복사할 수 있습니다. 하위 디렉토리까지 포함, 모든 파일 복사 예제 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: xcopy d:\z\*.* d:\x\ /e /h /k D드라이브의 Z디렉토리의 트리 구조를, D드라이브의 X디렉토리로 전부 복사하는 예제입니다. /e : 비어 있는 하위 디렉토리까지 복사 /h : 히든 파일과 시스템 속성의.. 더보기
[배치파일] 6강 함수 고급 배치파일 제 006강 : 함수 [목차보기] 입력문, 제어문, 반복문에 이어, 이제는 함수에 대해 알아 봅시다. ◆ 함수 C언어등 대부분의 프로그래밍 언어에서는 함수를 지원합니다. 그런데 배치파일 역시나, 함수를 지원할 수 있습니다. 배치파일의 함수는 크게 3가지로, - 내부함수 - 외부함수 - 외부 EXE 응용 함수 이렇게 나눌 수 있습니다. 내부함수란 같은 배치파일 내에 함수를 호출하는 구조이며, 외부함수는 배치파일을 따로 작성해서 함수를 호출하는 구조입니다. 그리고, 외부 EXE 응용 함수는 배치파일에서는 할 수 없는 기능들을 하거나(실수연산, 텍스트컬러, 좌표이동 등) 거대한 알고리즘(정렬 등) 을 해야 할 때 빠른 속도로 도움을 받아 배치파일에 적용하는 기술입니다. 이 기술은 환경변수 트릭 .. 더보기
[배치파일] 5강 FOR 반복문 고급 배치파일 제 005강 : FOR 반복문 모든 프로그래밍 언어는 흐름형 구조, 제어문 구조, 반복문 구조를 가지고 있습니다. 배치파일에서도 반복문을 쓸 수 있는데 이는 for 문 또는 set /a와 goto문을 응용해서 만들 수 있습니다. ◆ FOR 반복문 [코드] for /L %%변수 in (시점,증감,종점) do ( [for문 코드] ) :: 띄어쓰기 조심하라는 부분은 로 강조하였음, 특히 ) 뒤의 띄어쓰기도 조심 변수 : set변수가 아닌 for문 변수이므로 %변수%가 아닌 %%변수 시점 : for문 반복시 초기 값 증감 : for문 반복할 때 마다 오르는 값 종점 : for문 반복을 마치기 위한 값 for문 코드 : 수행할 코드 입력 (단, set /a에서도 '%%변수'로 써야 함) 1부터 1.. 더보기
[배치파일] 4강 정수형 수치연산 2 고급 배치파일 제 004강 : 정수형 수치연산 2 [목차보기] 지난번에는 단순히 set /a 를 이용한 수치연산이라면 이번엔, 복합 대입 연산 (+=, -=, *=, /=, %%=) 에 대해 알아봅시다. ◆ set /a opr= 수치처리 (단, opr는 연산자) set /a 변수 연산자=연산식 이 뜻은 풀어서 설명 한다면 set /a 변수=변수 연산자 (연산식) 이 됩니다. 예를들어, set /a a+=b 라는 것은 set /a a=a+b 으로 풀어쓸 수 있다라는 말입니다. 즉, 자기자신 a에 있는 값과 b에 있는 값을 서로 더해 다시 a로 저장을 하라라는 뜻입니다. 물론 역시, -, *, /, %%(나머지) 역시, 동일한 원리로 동작을 하게 됩니다. 아래 예제를 봅시다. 파일명 : 4-1.bat @ec.. 더보기
[배치파일] 3강 정수형 수치연산 고급 배치파일 제 003강 : 정수형 수치연산 입력문, 제어문에 이어 이제 정수를 처리해 봅시다. ◆ set /a 기본적인 수치처리 1강에서 그냥 set a=123 이라고 하면 a에 문자열 123이 저장되었는 걸 배웠습니다. 또, set /p b=입력: 으로 입력문을 받았습니다. 이번엔 set /a 로 수치데이터 저장 및 연산에 대해 알아봅시다. set /a 변수=식이나 값 및 변수 (연산자는 +,-,*,/,%%(나머지) 의 산술 연산 뿐만 아니라, , ^, &, | 등의 비트 연산자등 C언어에서 사용되는 연산자 이용가능, 단, 숫자는 9자리까지 연산가능) 예를들어 먼저, 예제를 봅시다. 파일 명 : 3-1.bat @echo off echo ============================== echo.. 더보기
[배치파일] 2강 일반 제어문 고급 배치파일 제 002강 : 일반 제어문 지난 001강에서는 배치파일 기초 문법과 입력문에 대해 알아보았습니다. 이번 시강에서는 제어문에 대해서 알아봅시다. ◆ goto문 goto문이란, 그 레이블로 뛰어 넘어 가라는 말로 거꾸로도 올라가게도 할 수 있습니다. [코드] goto 레이블 [코드] :레이블 [코드] :레이블 : goto문에서 사용할 레이블을 정의합니다. (앞에 콜론 주의하세요. 세미콜론(;) 아닙니다.) goto 레이블 : 정의한 레이블로 넘어갑니다. ※위로 올라가는 goto문은 뛰어넘은 후 또 다시 goto문에 의해 계속 올라가기 때문에 조건 없이 한다면 무한반복이 발생되므로 주의하시기 바랍니다. ※레이블 이름은 exit, dir 등등 예약어도 쓰실 수 있으며, 한글, 숫자 다 됩니다. .. 더보기
[배치파일] 1강 입력문 ※ 배치파일을 시작하기 전에 배치파일은 일반 메모장에서 작성이 가능하고, 배치파일의 확장자는 .bat이며, 윈도우에서는 그 파일을 더블 클릭 한다면 바로 실행이 가능 합니다. 즉, C언어처럼 컴파일하는 언어는 아닙니다. 아래는 기초 구문입니다. 배치파일의 주석문은 앞에 :: (콜론2개)을 붙이며, 주석붙은 것은 실행이 안되며 다음줄로 넘어 갑니다. 또한 rem으로도 주석 처리가 가능 합니다. @echo off는 'C:\Users\Administrator>' 의 지저분한 표시를 없애기 위한 필수 구문입니다. echo. :공백 한 줄을 출력하라는 뜻 echo 메시지 :화면에 표시 pause>nul :키보드 입력 대기 (cmd에서 하지 않고 탐색기에서 더블 클릭하면 배치파일의 실행이 끝난후에는 곧바로 닫으므로.. 더보기
[Programming] 해쉬 함수 (Hash function) 해슁은 검색할 키 값을 비교하지 않고 검색할 수 있는 방법으로써 번지를 이용한 정렬방식과 유사한 방식이다. 해슁은 해쉬 테이블을 사용하여단 한번의 접근으로 원하는 레코드를 검색할 수 있다. 해쉬 테이블은 파일의 레코드의 키 값에 대응하는 해쉬주소와 레코드를 저장하는 공간은 버켓으로 구성되어 있다. 포인터를 사용하여 구현하는 경우에는 실제의 레코드 대신에 레코드가 저장되어있는 메모리 포인터를 저장한다. 파일 내의 키 값에 해쉬함수를 적용하여 해쉬주소를 생성한다. 해슁의 절차를 보면 아래와 같다. 파일 내 모든 레코드의 키 값을 해쉬함수를 사용해 해쉬주소Hash Address를 구한다. 해쉬주소로 해쉬 테이블을 구성, 해쉬주소의 버켓에 레코드를 입력한다. 검색대상 레코드의 키 값에 해쉬함수를 적용, 해쉬주소.. 더보기