본문 바로가기

프로그래밍 -----------------------

[언리얼엔진4] 날짜 및 시간을 자리수에 맞춰서 문자열만들기 더보기
[UE4] Unreal Engine4 - textfile create & read & white. In .h ------------------------------------------------------------------------------------- UCLASS() class FF_WALKING_API URWTextFileLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION( BlueprintPure, Category = "text", meta = (Keywords = "LoadText") ) static bool LoadText( FString FileName, FString& OutText ); UFUNCTION( BlueprintCallable, Category = "text", meta = (.. 더보기
임의 Possess후 리플리케이션 범위작동이 이상할때 임의 possess를 수행하였을 경우 리플리케이션 주체가 이상하게 작동할때가 있는데 아래 옵션때문에 그런거다. PlayerCameraManager의 속성값때문 c++bUseClientSideCameraUpdates = false; blueprint 딥하게 파보진 않았지만 아마도 위 옵션을 수정하면 리플리케이션주체가 클라이언트카메라가 아닌 possess된 엑터포지션을 사용하게 되는 것으로 예상된다. 참고urlhttps://answers.unrealengine.com/questions/220787/bug-net-cull-distance-doesnt-work-when-the-player.html 더보기
MFC에서 Stack Overflow 해결법 내가 만든 프로그램이 친절한 MFC에 의해서 자동으로 꺼져버린 것인지 알고, 알고보니 너무 많은 재귀적 호출로 인한 Stack Overflow 문제였다.. 해결법은, double array[max]; 처럼 배열들을 스택을 사용하게 만들지 말고, malloc이나 new를 사용해서 heap공간을 사용하도록 만들던가... 아니면 지금 내가 소개하려는 것 처럼... MFC의 Project setting을 바꾸어줘서 스택의 공간을 늘리는 방법이 있다. 나의 경우는 배열의 크기가 너무 크다기 보다 너무 많은 재귀적 호출에 의한 Stack Overflow이므로 두번째 방법을 사용했다. (사실은..코드 뜯어 고치기도 귀찮고 두번째 방법이 아주 간단하기 때문이다..;;) 방법은, 메뉴의 'Project' -> 'Sett.. 더보기
Unreal4 - Dedicated Server에서 Animation시퀀스의 Notify 받는 방법 Dedi기반의 Ai등을 돌릴때에 공격타이밍등을 잡을때 AnimationSequence에 Notify를 설정하여 공격처리를 하기도하는데 아래와 같은 옵션을 설정해줘야만 notify가 정상적으로 받아진다. 다만 cpu는 조금더 먹을듯.. 1. Pawn액터에서 Mesh컴포넌트 찾기 2. Mesh컴포넌트 프로퍼티중 스켈레탈메쉬에서 Mesh Component Update Flag를 Always Tick Pose and Refresh Bones로 변경 (항상 본의 위치값을 갱신) 더보기
12. C에서 키보드 입력받는 방법 scanf() - 표준입력 12. C에서 키보드 입력받는 방법 scanf() - 표준입력 scanf()도 getchar()과 같이 표준입출력에 포함됩니다. scanf()란? scanf()는 형식화된 입력을 키보드로부터 받습니다. 형식화된 입력이란 printf()의 서식과 비슷한 의미를 갖습니다. 즉, 입력받을 변수를 여러개 기입하여 서식에 맞추어 데이터를 저장합니다. scanf()의 파라메터를 한번 보죠. scanf()의 파라메터 scanf( 서식 , 입력받을변수 ) 서식을 잘 모르시겠으면 [C,C++ 레퍼런스] - printf() 사용법 을 한번 보시고 오세요 ^^ 간단한 예를 보도록 하죠. int a; scanf("%d", &a); printf()문을 많이 사용하셨으면 쉽게 이해되실겁니다. 이건 서식이 정수형이고 a라는 변수에.. 더보기
11. C에서 키보드 입력받는 방법 getchar() - 표준입력 11. C에서 키보드 입력받는 방법 getchar() - 표준입력 키보드로 입력받는 것은 console, api, mfc, directX, 등등.. 프로젝트특성에 따라 다릅니다. 여기에선 기초적인 console기반프로그램에서 입력받는 것을 해보도록 하죠. 대표적으로는 getchar()와 scanf()가 있습니다. 이번글에서는 getchar()만 하고 다음글에 scanf()하도록 하죠. getchar()함수는 키보드로부터 한번에 한문자씩 읽어들입니다. 여기서 getchar()함수는 키보드에서 입력된 문자의 아스키코드값이 입력됩니다. 즉 키보드에서 "A"를 누르면 getchar()함수가 읽어들여서 ASCII코드값이 65인 "A"가 할당됩니다. 아스키코드를 잘 모르시겠으면 [C,C++ 레퍼런스] - 아스키 코.. 더보기
아스키 코드의 재미난 연산 출처 http://www.debuglab.com/knowledge/asciiop.html아스키 코드의 재미난 연산 1.요약 ASCII 코드는 총 126가지의 코드를 미리 정해놓은 문자 테이블입니다. 그런데, 이 ASCII 코드를 살펴보면 몇가지 재미난 점을 발견할 수 있습니다.(다들 아시나요? ^^) 2.본문 (1) 숫자 --> 문자로 변환 우리가 사용하는 숫자는 10진수로 0부터 9까지의 수를 사용하여 모든 값을 표현하는 것입니다. 그런데, 실제로 0이라는 문자는 아스키 코드표에서는 30h(편의상 16진수에는 'h'를 붙이도록 합니다.) 즉, 48 이라는 값을 가리키고 있습니다. 그리고, 1은 31h 또는 49입니다. 그런데 자세히 보면 다음과 같은 연관성을 찾을 수 있습니다. 숫자 아스키 코드 0 3.. 더보기
아스키 코드표 아스키 코드표 출처 : http://www.jasko.co.kr/lesson/ascii.html 10진수 16진수 8진수 2진수 ASCII 10진수 16진수 8진수 2진수 ASCII 0 0×00 000 0000000 NULL 64 0×40 100 1000000 @ 1 0×01 001 0000001 SOH 65 0×41 101 1000001 A 2 0×02 002 0000010 STX 66 0×42 102 1000010 B 3 0×03 003 0000011 ETX 67 0×43 103 1000011 C 4 0×04 004 0000100 EOT 68 0×44 104 1000100 D 5 0×05 005 0000101 ENQ 69 0×45 105 1000101 E 6 0×06 006 0000110 ACK 70.. 더보기
break문 사용법 break문 사용법 break는 반복문이나 조건문, 즉 제어문들에게서 벗어날때 사용합니다. 각 제어문들에 대한 예제를 보시면, if문 if( 참이냐 ) { if( 참이냐 ) { 명령문; break; } 명령문2; } ▷ else 를 사용하지 않아도 명령문2을 수행하지 않습니다. for문 for(int i=0; i 더보기
10. switch문 사용법 - 제어문 10. switch문 사용법 - 제어문 switch문은 다중선택문으로써 여러가지의 조건에 대한 분류를 합니다. else if문의 확장형이라고 생각하시면 쉽습니다. 형식 switch( 정수식 ) { case 상수1: 명령문1: break; case 상수2: 명령문2: break; case 상수3: 명령문3: break; } switch문은 case를 사용하여 분기를 합니다. if문과 한번 비교해 보도록하죠. switch문을 사용하지 않고 if문으로 만들 경우 if( 정수식 == 상수1) { 명령문1; } else if( 정수식 == 상수2) { 명령문2; } else if( 정수식 == 상수3) { 명령문3; } 무엇이 같고 다른지 아시겠죠? 여러가지 조건을 걸어야 할 경우 if문으로 만들면 위에서 본것마.. 더보기
9. while문 사용법 - 제어문 9. while문 사용법 - 제어문 while문은 for문과 비슷한 반복문입니다. 차이점은 for문은 초기값, 조건식, 변환값을 사용하지만 while문은 조건식만을 사용합니다. 형식 while( 조건문 ) { 명령문; } 그럼 간단히 1부터 100까지 더해보는 프로그램을 만들어 볼까요? 1부터 100까지 더해보는 프로그램 int sum = 0; int i = 0; while( i 더보기
8. for문 사용법 - 제어문 8. for문 사용법 - 제어문 for문은 반복되는 명령문을 수행할때 사용합니다. 반복되는 횟수와 조건, 변환값을 사용합니다. 형식을 보도록 하죠. 형식 for( 초기값; 조건식; 변환값 ) { 명령문; } 간단한 예제를 보도록하죠. 예제 for( int i=0; i 초기값 > 조건식 > 명령문 > 변환값 > 조건식 > 명령문 > 변환값 > 조건식... 이런식 입니다. 자 다른예제 한번보죠. 1부터 100까지의 합을 구하는 프로그램 한번 만들어보도록 할까요? 1부터 100까지의 합을 구하는 프로그램 int sum = 0; for( int i=1; i 더보기
7. if문 사용법 - 제어문 if문 사용법 - 조건문 이제 제어문을 공부할 차례가 되었습니다. 제어문은 크게 if, for, while, switch가 있습니다. 이번 글에서는 if문을 설명해 보겟습니다. if 문은 조건문 if문은 조건문입니다. 무엇이냐하면 참, 거짓 혹은 크냐, 작냐, 같냐 등등을 조건을 걸어 확인하는 제어문입니다. 연산자에 대해서 보도록하죠. 연산자 조건 A == B A와 B가 같다 A != B A와 B가 틀리다 A B A보다 B가 작다 A = B A보다 B가 작거나 같다 수학에서 사용하는 부동호들과 흡사합니다. 간단한 코드를 보도록 하죠. #include void main() { int a, b; a = 10; b = 5; if(a == b) printf(" A와 B가 같다.\.. 더보기
13. printf() 사용법 13. printf() 사용법 C언어에서 사용하는 가장 기본적인 출력문입니다. 변수 및 상수를 출력할때 사용하며 초보자부터 숙련자까지 이 출력문은 엄청나게 사랑받죠. ^^ 정외되어 있는 헤더 : stdio.h 원형 : int printf( const char * format, [argument, ... ] ) 쓰시려면 서식이라는 개념을 이해하셔야 합니다. 서식이라함은 코드 입력 : printf("저의 나이는 %d살 입니다.", 30); 결과 출력 : 저의 나이는 30살 입니다. 위와 같은 출력문이 있다면 %d가 서식입니다. 서식이 있을 경우에는 뒤에 오는 argument가 같은 갯수로 존재해야 합니다. 위와 같은 경우에는 %d가 서식이었고 30이 argument입니다. 코드 입력 : printf("저의 .. 더보기
6. C 자료형 C 자료형 C에서 사용하는 기본 자료형에 대해서 알아보도록 하겠습니다. 자료형이라 함은 변수를 선언할때사용하는 겁니다. 비유를 하자면 "컴파일러야. 내가 지금 깡통A를 만들껀데 이것의 자료형은 int야."라는 것인데요. 깡통A가 무슨예기인지 모르시겠으면 [C,C++ 기초] - 변수는 무엇일까요? 이것부터 읽어 보세요. 자 그럼 자료형에 대한 정보를 케보도록하죠. 32비트 컴파일러가 보편적이니 32비트를 기준으로 작성하겠습니다. 자료형의 종류와 정보들 자료형 키워드 크기 범위 문자형 char 1 Bytes -128 ~ 127 정수형 short 1 Bytes -32,768~32,767 int 1 Bytes -2,147,483,648 ~ 2,147,483,647 long 1 Bytes -2,147,483,64.. 더보기
5. 상수는 무엇일까요? 상수는 무엇일까요? 오늘은 상수에 대해서 알아보도록 하죠. 상수란 프로그램의 실행중에 변하지 않는 값이라 합니다. 이전글에 이어 설명하겠습니다. 이전글 [C,C++ 기초] - 변수는 무엇일까요? 자 그럼 이어가도록 하죠. 깡통1 : 새우깡 깡통2 : 우유 깡통3 : 없음 자 여기서 새우깡이랑 우유는 이쪽저쪽 깡통에 옮겨도 변하지 않습니다. 즉, 깡통 1 = 깡통2(우유) 이렇게 하여도 우유는 옮겨갈뿐 변하지 않죠. 마찬가지로 깡통3 = 깡통1(새우깡) 새우깡은 변하지 않죠. 이런것들을 상수라 합니다. 그럼 이전소스에서 어떤것들이 변수이고 상수인지 알아볼까요? 빨간색으로 줄친 것들이 변수입니다. 파란색으로 줄친 것이 상수입니다. 정리하자면, 값이 변할수 있는것은 변수이고, 변할수없는 고정된 값은 상수입니다. 더보기
4. 변수는 무엇일까요? 변수는 무엇일까요? 오늘은 변수에 대해서 알아보도록 하죠. 변수라는 것의 정의는 자료처리하는 과정에서 그 값이 변하는 자료를 변수라 합니다. 쉽게 예를 들자면 빈 깡통이라 생각하시면 됩니다. 깡통1, 깡통2, 깡통3이 있다고 가정합시다. 일단 3개가 다 비여잇다고 가정하구요. 깡통1에 새우깡을 넣었습니다. 깡통2에 우유를 넣고요. 지금 상황을 보면 깡통1 : 새우깡 깡통2 : 우유 깡통3 : 없음 입니다. 자 그러면, 깡통3 = 깡통1 + 깡통2 자 깡통3에는 무엇이 있을까요? 맞습니다. 깡통3에는 새우깡+우유가 있겠죠? ㅎㅎ 자 그러면, 이건 어떨까요. 깡통1 : 새우깡 깡통2 : 우유 깡통3 : 없음 깡통1 = 깡통2 // 깡통2에 있는것을 깡통1에 넣습니다. 깡통3 = 깡통1 + 깡통2 // 깡통3.. 더보기
컴파일 속도 빠르게 하는 방법. 컴파일옵션 /MP 컴파일 속도 빠르게 하는 방법. 컴파일옵션 /MP 드뎌 찾았습니다. ㅋㅋ 매번 빌드할때마다 걸리던 그 엄청난 시간이 거의 절반수준으로 떨어지더군요. 기존에 1개만 수행되던 cl.exe가 위 옵션을 사용하면서 쿼드코어를 사용하는 제 pc에서 여러개가 뜨더랍니다. ㅋㅋ 아마 단일cpu에서는 확인은 못해봤지만 안될듯 싶구요. 멀티프로세서 사용하시는 분들은 다 될겁니다. 참 이건 비쥬얼스튜디오 2005 SP1하고 2008부터 되는거라니까 확인하시구요 ^^ 원문 http://msdn.microsoft.com/en-us/library/bb385193.aspx 더보기
3. 화면에 Hello World 출력하기 화면에 Hello World 출력하기 저번글에 이어 이번엔 아무것도 없는 빈 프로젝트에 파일을 추가해 Hello World를 출력해보도록 하겠습니다. 본문에 들어가기 앞서 Hello World라는게 무엇이냐 라고 궁금할수 있겠는데요. 많은 프로그래밍책들이 언어를 불문하고 모든 예제 첫페이지는 Hello World 를 많이 사용합니다. 뭐 시초는 왜 그런지는 잘 모르겠지만요. ^^ 뭐 알아보면 어떻게든 알수 잇겠지만 굳이 그것은 여기서 중요한 것이 아니니까 스킵합니다. ㅎ 자 그럼 Hello World를 만들어 봅시다. 일단 아래그림을 한번 보죠. 저번글에서 설명했던 Workspace와 Project입니다. 추후 하나의 Workspace에 여러개의 Project를 달수 있다고 지난글에 남겨놓았으니 저번글을.. 더보기
2. 프로그래밍의 시작 - 프로젝트 만들기 프로그래밍의 시작 - 프로젝트 만들기 C프로그래밍을 할수 있는 환경으로는 여러방법이 있지만 제일 간단한 MS Visual Studio를 기준으로 하겠습니다. 컴파일 및 링크, 실행이 툴에서 다 지원을 하기 때문에 사용법이 간단합니다. Visual Studio 6.0 이 그나마 용량도 작고 초보자들이 사용하기에 제일 심플하다고 판단됩니다. 그래서 저도 6.0 을 기반으로 앞으로 계속 작성할겁니다. ^^ Project라는 개념은 하나의 응용프로그램입니다. Workspace라는 개념이 또 존재하는데 Workspace는 말그대로 작업공간입니다. 쉽게 예를 들어서 스타를 비교해 보겠습니다. 블리자드사(스타개발사)에서 스타크래프트의 개발소스를 공개했다 치고 소스를 열어보니 이렇게 되어있는 겁니다. Workspace.. 더보기
1. 프로그래밍이란?? 프로그래밍이란?? 제가 생각하는 프로그래밍이란 것은 창조라고 생각합니다. 진부하다라고 생각하실수도 있겠지만 제 생각은 그렇다는 거죠. ^^ 제 블로그니까 제맘대로 쓸 생각입니다. -_-ㅋ 중학교때였던것 같습니다. 어쩌다 컴퓨터라는 것을 접하게 되었고 게임이란 것에 푹 빠져있었죠. 그러던 중 무심코 생각났던 것이 "이런건 어떻게 만드는 것일까?" 라는 것 이었습니다. 추후 프로그래밍 이란 것을 알게 되었고 서점에서 게임만드는 책을 구입했었죠. (그당시에는 순수 프로그래밍책이기 보단 어떤 프로그래머가 만들어놓은 게임툴 같은 것이었죠^^) 그 당시에는 그 책을 아무리 읽어도 뭐라는지 도무지 알수가 없었습니다. ㅋㅋ;; 그렇게 사춘기를 그냥저냥 보내다 대학진학할 때가 왔었습니다. 프로그래밍이란 것에 계속 목말라.. 더보기
SetRenderState 정리 D3DRS_ZENABLE D3DZBUFFERTYPE 열거형의 1 개의 멤버로서의 깊이 버퍼링 스테이트. z 버퍼링을 유효하게 하려면 D3DZB_TRUE, w 버퍼링을 유효하게 하려면 D3DZB_USEW, 깊이 버퍼링을 무효로 하려면 D3DZB_FALSE 를 각각 설정한다. D3DPRESENT_PARAMETERS 구조체의 EnableAutoDepthStencil 멤버에 TRUE 를 설정해 스텐실이 스왑 체인과 함께 생성 되고 있는 경우, 이 렌더링 스테이트의 디폴트값은 D3DZB_TRUE, 그렇지 않은 경우는 D3DZB_FALSE 이다. D3DRS_FILLMODE D3DFILLMODE 열거형의 1 개 또는 복수의 멤버. 디폴트값은 D3DFILL_SOLID 이다. D3DRS_SHADEMODE D3DSHADE.. 더보기
2바이트케릭터 <-> 1바이트케릭터 문자열 변환 http://blog.daum.net/crexy/6893583 에서 불펌.. -_-ㅋ;; ------------------------------------------------------------------------------------------ GDI+를 사용하게 되면 문자는 기본적으로 유니코드를 사용하게되어 있다. 그렇기 때문에 ANSI코드를 직접 입력하게 되면 문자가 깨져나오는 불상사가 생기게 된다. 그렇기때문에 #define UNICODE 메크로를 사용하여 코드가 유니코드를 사용하게 해야하는데 이는 아직 익숙치 않은 것이라 ANSI를 UNICODE로 변환하여 사용하는 방법을 사용한다. 물론 익숙하지 안은 것이외에도 반드시 코드변환을 사용해야 할 경우는 있다. 텍스트 파일에 있는 문자를 읽어 .. 더보기
[D3DBASIC] 평면의 방정식 간단한 정리 어떤 평면이 바라보는 법선 벡터 a,b,c와 평면상의 임의의 점 x, y, z와 원점 0,0,0 이 있을 경우 평면 방정식은 ax + by + cz + d = 0 과 같다. 여기서 x, y, z는 평면에 존재하는 무수히 많은 점들중 한개의 좌표 값이며, 이 점 x, y, z로 vector va 와 vector vb를 만들고, va, 와 vb를 외적 cross product 연산을 해서 나온 평면의 법선 벡터 a, b, c 를 연산 하면 된다. 여기서 중요한 점은 법선 벡터는 nomalize된 vector 라야 한다. d = -(ax + by + cz) d3d 함수는 D3DXPLANE *D3DXPlaneFromPoints( D3DXPLANE *pOut, CONST D3DXVECTOR3 *pV1, CONST.. 더보기
평면의방정식을 이용한 면<->점 충돌채크 // 노멀값을 구하기 위한 벡터 빼기 순서 // 루프를 돌려서 처리하고 싶기에 이렇게 인덱스를 만듬 // 면 0 1 2 3 4 5 WORD wIndex[] = { 2, 3, 4, /* | */ 5, 7, 6, 3, 4, 2, /* | */ 7, 6, 5}; // 폴리곤의 법선을 구한다. D3DXVECTOR3 vV1,vV2; float d1,d2,dir; int nCnt=0; int nCollCount=0; // 충돌한 면의 카운트 for(j=0; j=3) nCnt=1; // 세점에서 법선 구하기 vV1 = vPoint[ wIndex[j] ] - vPoint[ nCnt ]; vV2 = vPoint[ wIndex[j+6] ] - vPoint[ nCnt ]; D3DXVec3Cross(&vNormal[j],&v.. 더보기
내적이란거 내적, 처음 봤을 때는 이런 해괴한 걸 어따 쓰냐라고 생각했었는데 공부를 해가면서, 특히 다른 사람들이 내적을 활용하는 것을 접하면서 내적이란 거 정말 대단한 녀석이구나;라는 것을 매번 느끼게 된다. (나란 녀석은 사소한 것에 잘 감동한다. ㅎㅎ) 이번에 놀란 내용은 내적을 이용하여 점과 평면과의 거리를 구하는 것이다. 흔히 알고 있는 공식은 위와 같다. 이래저래 복잡하다. 하지만 내적을 사용할 경우에는 평면 위의 임의의 점 하나와 평면 노멀, 그리고 거리를 알고자 하는 점만 있으면 된다. 주의할 점은 여기서 노멀은 노멀라이징되어야 한다. 거리 = |(다른점-평면위의점)·평면노멀| 글쎄, 내적을 공부한 사람이라면 누구나 알만큼 단순하다. 아니, 이미 이론적으로는 알고 있을터. 단지 그것을 실제로 활용하는.. 더보기
윈도우에서 사용하는 문자 코드에 대한 이해 컴퓨터의 기본 용도가 문자열 처리를 필두로한 데이터 처리라는 점에는 이견이 없을 것이다. 그럼에도 불구하고 개발자들이 문자열 처리에 대한 문제를 간과하기 쉬운 것은 이와 관련된 내용을 다루는 책이 별로 없기 때문이다. 따라서 이번호의 주제를 '기본기를 다지자'로 정했다. 이 글에서는 컴퓨터 내부에서 다루는 문자열 처리를 비롯해 이와 관련된 함수에 대해 살펴보겠다. 지난 3월호에 첫 글이 나간 후 많은 독자들이 메일을 보내왔는데, 이번 글을 쓸 때 그 의견들을 많이 참고했다. 메일의 대부분은 한글과 영문 문자열의 처리 문제와 유니코드 처리, 다국어 문자의 표현에 관련된 것이었는데 한결같이 제대로 정리된 자료가 없다는 내용이었다. 물론 MSDN에 자료가 있긴 하지만 사람들이 주로 관심을 갖는 내용이 아니고,.. 더보기
디버깅을 위한 콘솔창 활용 닷넷 2005다. 먼저 코딩하고 있는 프로젝트의 속성 창을 띄운 후, 링커->시스템->서브 시스템 항목을 찾고 윈도우로 되어 있는 서브 시스템을 콘솔로 바꾼다. 그리고 아래와 같이 코딩한다. #include "stdafx.h" #include "GameCore.h" CGameCore GameCore; INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT nCmdShow ) { GameCore.ProcessStart(hInst, E_Graphics_RESOLUTION::RESOL_640_480, E_Graphics_COLORFORMAT::FMT_A8R8G8B8, false); return 0; } void main() { WinMain(GetModuleH.. 더보기
평면의 방정식, 평면의 공간적 해석 그래픽스에 관해 공부하면서 자주 부닥치게 되는 평면의 방정식! 맨나말 부딪힐 때마다 관련서적을 가볍게 훓고 넘어가는 터라 다음에 다시 평면의 방정식과 부딪히면 항상 또 책을 펼치고 마는 비생산적인 행위가 반복된다. 이번엔 좀 제발 외우고 넘어가야 겠다. 3차원에서 평면은 평면의 방정식으로 해석이 가능하다. 이 방정식등을 이용하여 공간상의 교차판정, 평면의 Normal, 평면의 전후면 판별등이 가능하다. 평면의 방정식은 다음과 같다. ax + by + cz + d = 0 즉, a, b, c는 평면안에 속해 있는 임의의 세 점을 선분으로 이은 두 벡터의 외적을 구한 후, 그 외적으로 부터 도출된 벡터의 세 성분이 되며, d는 위에서 언급했던 두 벡터의 내적으로서 구할 수 있다. Tip))) 1. 위에서 외적.. 더보기