ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 벡터의 외적(Cross product)
    Algorithm with C/Math 2020. 9. 11. 00:48

    1. 외적의 기하학적 정의

    벡터의 외적을 한 결과값은 벡터이다.

    벡터는 크기와 방향을 갖는다고 하였으므로 벡터의 외적을 한 결과 또한 크기와 방향을 갖는다.

    이 방향은 벡터v1과 v2에 동시에 수직인 방향인데

    오른손 법칙에 의해서 엄지손가락이 가리키는 방향이 선택된다.

    [그림 1]

    v1과 v2의 외적의 크기와 방향

    [그림 2]

    v1과 v2의 외적의 크기와 방향

     

    2. 벡터의 성분에 대하여 외적을 정의

    벡터의 외적은 결과값이 벡터이므로 성분에 대해서 나타낼 수 있다.

    아래는 벡터의 성분에 대해서 외적을 정의한 것이다.

    [그림 3]

    아래의 두 그림에 대해서는 약간의 설명이 필요한데, 점 A,B,C가 xy평면에 대해서 정의되어 있다고 가정하자.

    (점A,B,C의 좌표에서 z성분은 0이라고 생각하자.)

    왼쪽 그림과 같이 우리 눈 쪽으로 오는 수직축을 z축의 음의 방향,

    오른쪽 그림과 같이 우리 눈 쪽에서 멀어져 가는 방향을 z축의 양의 방향이라 생각하자.

    벡터v1을 A에서 B로의 벡터라 하고 벡터v2를 A에서 C로의 벡터라 하자.

    왼쪽 그림은 시계 방향(+)을 오른쪽 그림은 반시계 방향(-)을 나타낸 그림

    위의 외적의 정의 식을 이용해서 벡터v1과 v2의 외적을 구해보자.

    (O는 원점을 의미한다.)

    위의 외적의 결과를 보면, x와 y 성분이 모두 0이고 z성분만 있을을 알 수 있다.

    위의 식에  성분을 대입해서 계산한 z성분이 음이면 시계 방향, 양이면 반시계 방향이 된다.

     

    2. 외적 구현 함수

     

    3. 나머지 부분 구현

    프로그램 실행결과1

     

    프로그램 실행결과2

     

    4. 소스 파일

    main.c
    0.00MB

    댓글

Designed by Tistory.