https://brunch.co.kr/@hopeless/8#comment

 

초보 개발자를 위한 IT영단어 정리

프로그래밍에서 자주 나오는 영어단어 정리 | 최종수정일 2020. 2. 26 본인은 수원스마트앱개발학원 이라는 개발자 양성 기관의 기관장으로써 교육하고 책 쓰는 개발자로써 그 동안 프로그래밍을

brunch.co.kr

※ 내적

     - 내적(inner product)은 점곱(dot product)이라고도 불린다.

      표기법 )  U ● V 

 

      내적은 스칼라 값을 나타내는 벡터 곱셈이다. 곱셈 결과는 스칼라 값이 나온다.

      다음과 같이 내적이 정의 된다.

U = (Ux , Uy,  Uz) 인 벡터

V = (Vx , Vy , Vz) 인 벡터

 

U ● V  = Ux Vx  + Uy Vy  + Uz Vz

      실제계산)

U = (-1 , 3 , 6)

V = (-5 , 2 , 9)

 

U ● V =  (-1 x -5) + (3 x 2) + (6 x 9) = 65

 

     ★ 내적의 정의만 봐서는 내적의 기하학적 의미가 분명하지 않다. 그래서 코사인 법칙을 적용하면

          다음과 같은 관계를 찾을 수 있다.

 

U ● V = ll U ll x ll V ll x cosΘ 

(여기서 Θ는  0 ≤  Θ ≤ π)

(U가 단위 벡터 , V가 단위 벡터 이면 U ● V = cosΘ 가 된다.)

 

         - 여기서 유용한 속성 몇가지를 이끌어낼 수 있다.

           1.  U ● V = 0 이면 ,  U ⊥ V 이다 (수직이다. 즉 두 벡터는 직교이다.)

           2.  U ● V > 0 이면, 두 벡터 사이에 각도 Θ는 90도 보다 작다.

           3.  U ● V < 0 이면, 두 벡터 사이에 각도 Θ는 90도 보다 크다.

 

        실제계산)

        U =  (1 , 2 , 3) 인 벡터

        V =  (-4 , 0 , -1) 인 벡터

※ 직교투영

     - 수직으로 내린 그림자 라는 뜻인데 어떤건지는 다음과 같이 보자.

     ★ 공식을 구해보자.         

          벡터 V , 단위벡터 n이 주어졌을 때 P를 내적을 이용해서 v와 n으로 표현하는 공식을 구해보자.

P = kn을 만족하는 스칼라 k가 존재

ll n ll = 1이므로 

ll P ll =  = ll kn ll = l k l x ll n ll = l k l 

(P와 n이 반대 방향일 때 k는 음수를 가져서 절대값으로 나타낸다.)

 

이제 삼각함수 법칙들을 적용하면 

COSΘ = k / ll v ll

k = ll v ll COSΘ

 

따라서 

P = kn

P = (ll v ll COSΘ)n 

 

그런데 n은 단위 벡터이므로 다음과 같이 표현

P = (ll v ll COSΘ)n

P = (ll v ll x 1 x COSΘ)n

P = (ll v ll x ll n ll x COSΘ)n

P = (V ● N)n

 

이 공식에 따르면 k = V ● N이다. n이 단위 벡터일 때 V ● N의 기하학적 의미를 말해준다.

이러한 P를 n에 대한 v의 직교투영(orthographic projection  ; 또는 정사영)이라고 한다.

 

표기법)

 

※ 직교화(orthonormal)

     - 벡터 집합{V0 ~ Vn-1}의 모든 벡터가 단위 길이고 , 서로 직교일 때 그러한 벡터 집합을 정규직교(orthonormal)집합라 한다.  (집합의 모든 벡터가 다른 모든 벡터와 수직이다.)

단, 주어진 벡터 집합이 정규직교에 가깝지만 완전히 정규직교가 아닌경우도 있다. 이러한 벡터 집합을 정규직교벡터 집합으로 만드는 걸 직교화(orthonormal) 이라고 한다.

 

    - 왜 쓰는가?  

     최적화 하려고 쓴다고 한다. 예를 들어 어떤 벡터를 단위 벡터로 만들지 않고 쓰면 계산이 복잡해 진다. 즉 연산량이 많아진다. 그래서 크기 단위가 1인 벡터로 만들어 사용하면 연산이 적어진다. 고로 벡터 집합들을 단위 벡터로 다 모아두면 필요로한 벡터연산을 할 때 연산량을 적게 들이고 연산을 할 수 있다.

 

- 설명

다음 서로 직교인 2차원 벡터 집합을 만들어보자.

1. W0 = V0으로 시작해서 , 벡터 V1이 W0과 직교가 되게 만든다. 이를 위해 W0의 방향으로 작용하는 부분을 V1에서 뺀다.

이제 서로 직교인 벡터 집합 {W0 , W1} 이 만들어 졌다.

이제 집합을 정규화해서 단위 길이로 만들어 사용한다.

정규화 그림

 

3차원도 비슷하다 단계만 늘어날 뿐이다.

서로 직교인 3차원 벡터 집합

1. W0 = V0 시작 V1이 W0 직교되게 만든다.  이를 위해 W0 작용하는 부분을 V1에서 뺀다.

1번

2. V2가 W0과 W1 모두에 직교가 되게 한다. 이를 위해 W0방향으로 작용하는 부분과 W1방향으로 작용하는 부분을 V2에서 뺀다.

이제 서로 직교인 벡터 집합 {W0 , W1, W2} 가 만들어 졌다.

이제 이를 일반화해서 , N개의 벡터들의 집합 {V0 , V1 ... Vn-1}을 정규직교 집합 {W0,W1....Wn-1}으로

직교화 할때는 그람-슈미트 직교화라는 공정을 적용한다.

 

'Directx12 > 기본이론' 카테고리의 다른 글

전치행렬, 단위행렬, 행렬식, 딸림행렬, 역행렬  (0) 2022.10.29
행렬 대수  (0) 2022.09.05
외적 , 직교화 , 점  (0) 2022.07.21
벡터의 길이와 단위벡터  (0) 2022.07.17
벡터의 좌표 , 연산  (0) 2022.07.15

1. 벡터의 크키(길이) 정의

    - 기하학적으로 한 벡터의 크기는 해당 지향 선분의 길이이다. (지향 선분 : 방향이 있는 벡터)

      표기법 : ll u ll

피타고라스 정리에 의해서

U 벡터의 크기(길이)가 나온다.

벡터의 크기(길이)는 알아봤다. 하지만 벡터는 순전히 방향만 나타내는 용도로만 쓰인다. 그래서 다음과 같이 길이가 1인 단위로 환산하여 단위벡터를 만들어서 사용한다.

 

2. 단위벡터(unit vector)

    - 길이가 1인 단위로 만든 벡터. 길이가 1인 벡터로 만드는 것을 정규화(nomalization)이라고 한다. 

       다음은 정규화 공식이다.

정규화 공식

    - 공식 확인

    - 계산

      벡터 u = (-1 , 3 , 4) 정규화를 해보자

 

 

'Directx12 > 기본이론' 카테고리의 다른 글

전치행렬, 단위행렬, 행렬식, 딸림행렬, 역행렬  (0) 2022.10.29
행렬 대수  (0) 2022.09.05
외적 , 직교화 , 점  (0) 2022.07.21
내적, 직교투영 , 직교화  (0) 2022.07.18
벡터의 좌표 , 연산  (0) 2022.07.15

벡터란 ? 

 1. Vector (방향량) 는 크기(magnitude)와 방향(direction)을 모두 가진 수량(quantity)을 가리키는 말이다.

   

                     벡터의 예)

                     1. 힘(force) : 특정한 힘의 세기(크기) & 방향

                     2. 변위(displacement) : 한 입자의 최종적인 이동 방향 & 거리

                     3. 속도(velocity) : 빠르기 & 방향

                     따라서 힘,변위,속도를 나타낼 때 벡터를 씀.

 

       1) 벡터와 좌표계 표현

           2차원 벡터의 표현

           (a,b)의 방향을 가진 벡터 

 

           3차원 벡터의 표현(왼손좌표계를 사용)

 

(a,b,c)의 방향을 가진 벡터

 

       2) 벡터의 연산

           하나의 벡터 U로 지칭하고 U = (Ux,Uy)로 정의하겠음.

           하나의 벡터 V로 지칭하고 V = (Vx,Vy)로 정의하겠음.

           (여기선 표현하려고 2차원 벡터로 표현 , 3차원도 똑같이 적용됌.)

 

           - 덧셈

              U + V = (Ux + Vx , Uy + Vy)

              ex) U = (3,2) 

                    V = (2,3)

                    U + V = (3+2 , 2+3) = (5,5)

 

           - 뺄셈

              U - V = (Ux - Vx , Uy - Vy)

              ex) U = (3,2) 

                    V = (2,3)

                    U + V = (3-2 , 2-3) = (1,-1)

           - 스칼라 곱셈

             스칼라란 ? 벡터를 곱할 수 있는 양

             스칼라를 K라 칭함

             하나의 벡터 U에 스칼라를 곱함, U = (kUx , kUy)로 정의하겠음.

             

             k = 5

             U = (2,3)

             kU = (5x2 , 5x3) = (10, 15)

 

'Directx12 > 기본이론' 카테고리의 다른 글

전치행렬, 단위행렬, 행렬식, 딸림행렬, 역행렬  (0) 2022.10.29
행렬 대수  (0) 2022.09.05
외적 , 직교화 , 점  (0) 2022.07.21
내적, 직교투영 , 직교화  (0) 2022.07.18
벡터의 길이와 단위벡터  (0) 2022.07.17

https://markspeople.tistory.com/92

 

[어셈블러 입문] 레지스터와 스택

  이번글에서는 레지스터의 종류와 스택에 대해서 알아보도록 하겠습니다. 레지스터는 CPU내부의 대표적인 저장장치입니다. 레지스터는 CPU의 설계에 따라,또는 사용하는 용도와 목적에 따라 종

markspeople.tistory.com

굿

펌웨어를 하기 위해서 필요로 하는게
1. 전자 소자들 이해 
 - RLC, 각종 IC, falling edge, rising edge 등 클럭에 대한 이해
2. 프로그램 작성 능력
 - 그냥 프로그램 작성은 잘하시니 괜찮은데 이게 하드웨어 전용 프로그램이 되면 골치가 아픕니다. OJ님이 올린걸 보니 생체 신호 관련해서 하는건데 저걸 하려면 제어기법들은 기본으로 해서 보통 석박사들을 많이 써요. 대학 4년배워도 저건 좀 많이 빡십니다.
3. 회로도 해석 및 작성 능력
 - 펌웨어 한다고 하면 기본적으로 PCB기판 해석 및 설계를 할 줄 알아야 해요 패턴 굴기 길이 같은거에 타이밍도 달라져서.....
4. MCU 이해
 - 타이머(PWM 포함), 카운터, GPIO, 외부인터럽트, ADC, Serial 통신(TTL, 232, 485, SPI, I2C등등), 무선통신 (Zigbee, bluetooth 등) 보통 여기서 많이 포기하십니다. 딱 요렇게만 알아둬도 일을 할 수 있지만 대게 저걸 보자마자 포기하더라고요...
5. 범용장비가 아닌 전용장비
 - 칩이 달라지면 설정이 완전히 달라지는 경우도 존재합니다......... 요놈때문에 요즘 PC 소프트웨어쪽으로 인력이 치중된거 같아요

 

아는 분이 작성해주신것 이다. 나중에 공부해보자

+ Recent posts