sky__071의 등록된 링크

 sky__071로 등록된 네이버 블로그 포스트 수는 50건입니다.

CNN(Convolution Neural Network) 정리 (3) [내부링크]

이어서 Pooling에 대해서 알아봅시다. Pooling이 필요한 이유! 부터 알아볼건데요, 1. 앞 layer들에서 나온 모든 데이터들이 필요하지는 않다. 오히려 overfitting 2. downsizing을 통한 파라미터 감소, 메모리, 계산량 감소 3. 이미지가 shift 되어도 feature을 잘 보존 (shift invariant) 크게 2가지 방법이 있습니다. 설명은 안해도 바로 이해하실 수 있을것이라 생각합니다. feature map을 downsizing 하는 과정입니다! 1. Max Pooling 2. Averaging Pooling 앞서 필터의 보폭같은 것들을 조절해 준 것과 같이, pooling의 경우에도 사이즈와 보폭을 이미지에 맞게 설정하여 적용합니다. 다 배웠습니다! 이렇게 이미지가 주어졌을 때, 이를 co.......

CNN(Convolution Neural Network) 정리 (4) [내부링크]

cross Entropy부터 이어서 설명해보겠습니다! cross Entropy는 실제 확률 분포(target)와 예측 확률 분포(output)가 얼마나 유사한가?에 대한 지표로 활용이 됩니다. 유사하게 KL(Kullback Leibler) Divergence 라는 것이 있습니다. KL Divergence= Hp(q)-H(q) Hp(q): 실제 분포와 예측 분포의 cross entropy H(q): 실제 분포의 엔트로피 KL Divergence가 작으면 작을수록 둘이 유사하고, 반대의 경우에는 차이가 큰 경우입니다. NN에서의 error값을 계산하는 이유는 이를 최소화하고자 함에 있습니다. 즉, KL Divergence를 최소화시켜야겠죠. 여기서 cross entropy와 KL Divergence는 결과적으로 동일한 의미를 가집니다. H(q)가 상수이기.......

국내 가상/증강현실 연구실(대학원) [내부링크]

가상현실/증강현실은 1950년도부터 그 개념이 시작되었으나 오큘러스가 다시 붐을 일으킨 것은 2013-14년도 정도로 다른 학문에 비해 굉장히 역사가 짧은 편입니다. 한국에서는 VR/AR/MR 관련 대기업이 거의 없고, 연구실 또한 선택지가 그리 많지는 않습니다. 그래서 이번 포스트는 혹 도움이 되실 분들을 위해 제가 해당분야 대학원을 준비하면서 얻은 정보들을 정리해보려고 합니다. 가장 먼저 한국전자정보통신산업단(KEA)과 서울대, 카이스트, 서강대, 고려대가 참여하는 가상증강현실 전문인력양성사업단을 살펴보시면 좋을 것 같습니다! 제가 기억하기로는 2020년도부터 신입생을 선발하고 있었고, 계속해서 대학들이 추가되는 방식으로 진.......

대학원 준비 하나부터 열까지(1) - 연구분야, 연구실 선정 [내부링크]

안녕하세요! 드디어 가을학기 대학원 입시가 끝났습니다. 저는 포스텍과 카이스트를 준비했고, 다행히도 두 곳 모두 좋은 결과가 나와 혹시 도움이 되실 분들을 위해 준비과정을 적어놓고자 합니다. 포스팅은 총 3개로 이루어질 예정입니다. 오늘은 그 첫번째로 솔직히 가장 중요한 연구분야와 연구실 선정!에 대해 다뤄보도록 하겠습니다! 모든 포스팅은 공학/자연과학 연구실 기준이며, 여러 교수님들과의 면담과 선배님들께 주워들은 내용으로 작성되었습니다 :) 아, 또한 저는 석사 후 취업도 생각해놓고 선정했습니다! 이 순서로 다루어볼께요 1. 연구분야/연구실 선정 2. 컨택과 면담 3. 실질적 입시 연구분야 및 기타 1. 연구분야가 그냥.......

대학원 준비 하나부터 열까지 (2) - 컨택 [내부링크]

앞선 포스팅에서와 같이 연구분야와 연구실까지 선정을 마쳤다면, 그 다음은 교수님께 컨택을 할 차례입니다. 대학원 입시의 경우 컨택이 90퍼다 라고 말할 수 있을 정도로 너무 중요한 단계입니다. 카이스트를 제외한 거의 모든 대학이 사전 컨택을 권장하고 있고, 대부분의 대학들이 컨택과 면담에서 이미 합불의 결정이 난다고 봐도 무방합니다. 실제로 많은 학교들에서 "입시에서보는 면접보다 사전 면담에서 교수님께서 마음에 들어하시면 뽑을 수 있다"가 정설이고, 교수님들께서도 이를 인지하고 계십니다. 카이스트의 경우 사전컨택이 입시에 전혀 관련이 없습니다. 하지만 얼굴한번 보여드리고 인사드리는 것이 "아 이친.......

대학원 준비 하나부터 열까지 (3) - 면담 [내부링크]

앞선 포스팅에서와 같이 컨택을 완료하셨고, 답장까지 받으셨다면, 경우의 수는 두가지입니다. 1. 미안하네, 이번 학기는 티오가 없어서 함께하지 못할것 같다. 2. 면담 한번 합시다! 이 글을 읽는 모든 분들이 2번에 해당하길 바라면서! 계속 써볼께요. 이제 교수님과 면담 시간을 잡게되고, 요즘은 코로나때문에 자대가 아닌이상 대부분 화상으로 진행합니다. 면담 많이해보고 쌓인 제 면담 예상질문들은 다음과 같습니다. 예상질문 1. 대학원 왜 오게? 2. 왜 그 많은 연구실 중 우리 연구실이야? 3. 무슨 분야하는 연구실인지 알아?? 어떤 거 해보고 싶어? 왜 그거 하고싶은거야? 4. 혹시 생각해본 주제 있어? 5. 졸업하고 진로? 6. 어떤 사람.......

대학원 준비 하나부터 열까지 (4) - 서류, 자소서, 면접 [내부링크]

마지막 포스팅은 이제 진짜 입시에 대한 내용입니다. 교수님과 면담을 마치게 되면 보통 세가지의 경우의 수가 생깁니다. 1. 같이해보자. 면접때 보자 2. 우리학교는 입시는 따로 못도와주는 시스템이야. 알아서 뚫고 올라와야해. 합격하면 같이 연구해보자. 3. 좀 더 생각해보고 연락줄께, 후 거절 먼저 1번의 경우 면접에서 진짜 똥만 안싸면 합격입니다. 걱정 안하셔도 될 것 같고, 학교에서 요구하는 서류들만 잘 준비하시면 될 것 같습니다. 2번의 경우 보통 입시와 컨택이 상관이 거의 없는 카이스트와 포스텍에서 많이 볼 수 있습니다. 서류 보통 입시에서 따로 준비해야 할 것은 영어성적! 학교마다 지원 커트라인이 다르니까 확인해보셔.......

[코테기본서 1강] 그리디(탐욕) 알고리즘 [내부링크]

[코테기본서 1강] 그리디(탐욕법) 뿌시기 https://youtu.be/-ATRxPRYD5o 그리디 알고리즘, 다른 말로 탐욕법이라고도 불리는데요. 순간순간의 선택에서 가장 최적의 답을 선택하자는 알고리즘입니다. 예를 한번 들어볼께요. 아래 그림과같이 생긴 경로가 있다고 한번 생각해봅시다. A에서 D까지 가는 경로를 코드로 짠다고 생각을 했을 때, 각 노드에서 다음 노드로 넘어가는 데에 있어서 거리가 최소인 값을 골라간다면, 최적의 해를 구할 수 있습니다. 따라서 우리는 각 포인트에 도달했을 때, 그 순간에 최적인 경로를 따라 감으로써 문제의 해답을 구할 수 있는 것이죠. 다음으로는 유명한 거스름돈 문제가 있습니다. 3250원을 거슬러 줘야 하.......

[Unity] 03. 빌드 [내부링크]

유니티는 진짜 웬만한 플랫폼의 빌드를 거의 다 지원합니다. 저는 주로 Window PC와 Android를 이용합니다. Ios 빌드의 경우 맥에서만 가능하지만, 맥빌드의 경우에는 window pc에서도 가능합니다. 프로젝트 용량이 커지게 되면 빌드 설정을 바꾸는데에도 시간이 꽤나 걸리기 때문에 처음에 설정을 해두는 것이 좋습니다. 어쨌든, window pc의 경우 exe파일로 빌드가 되고, Android의 경우 apk로 빌드가 됩니다. 빌드 환경을 변경해주실 때에는 왼쪽 platform에서 원하시는 플랫폼을 선택해주시고, 오른쪽의 유니티 아이콘이 설정되어있는 것을 확인하시고 빌드하시면 됩니다. 아 이때, 자신이 빌드를 원하는 씬이 Scenes In Build에 추가되어있.......

[Unity] failed to update android sdk package list 오류 해결 [내부링크]

안드로이드 빌드 시 다음 오류들이 있었다. error: java_home is not set and no 'java' command could be found in your path. error: failed to update android sdk package list. 해결방법 1. c-> programfiles에 Java파일이 있는지 확인 2. 없다면 설치 3. unity -> edit -> preferences 에서 지원 버전 확인 저 같은 경우는 unity 버전 2019.2.0f1로 바꾸면서 오류가 발생하였고, jdk 최적화 버전이 달라서 발생한 오류같다. 4. 위에서 버전 확인해서 OpenJDK 1.8.0_152 버전을 설치해주었다. 5. 시스템 -> 자바 환경변수 설정 6. 유니티에 돌아와도 해결 안될 시, 아까 Preferences에서 체크표시 모두 해제 후 eidto.......

[Unity/C#] 스크립트로 자식오브젝트 설정하기 [내부링크]

player라는 오브젝트를 Team1의 자식오브젝트로 설정 player.transform.SetParent(Team1.transform);

[Unity/C#] 메모리 영역 / 다른 Scene의 변수가져오기 [내부링크]

GetComponent로는 다른 씬의 오브젝트에 달려있는 스크립트 안의 변수를 가져오는 것이 불가능하다. 씬이 로드될때 데이터들이 사라지기 때문. 변수를 선언할 때 static으로 지정해주면 데이터 영역에 저장되어 프로그램이 종료될 때 까지 데이터가 사라지지 않아 씬이 바뀌어도 접근이 가능하다. 즉, 불러올때 해당클래스이름.변수이름 으로 바로 불러올 수 있다. 예제 코드 public class Login(){ public static int name; } public class Play(){ Id=Login.name; } 프로그램을 실행하면, 운영체제는 각 메모리 영역에 로드를 시작한다. 메모리 영역은 크게 4가지로 나눠볼 수 있고, 각 영역에 할당되는 정보들의 종류는 다음과 같다. 1. .......

[Unity/C#] 스크립트로 자식 오브젝트 불러오기 [내부링크]

Unity에서 계층구조에 대한 정보는 Transform component 안에 들어있다. public으로 선언한 뒤 스크립트 밖에서 참조를 해줄 수 있지만, 해당 오브젝트가 하위 오브젝트거나, inactive 상태이면 불가능하다. 다음과 같은 방법들이 있다. 1.GetChild() Test.transform.GetChild(6).gameObject; 2.transform에서 찾기 Transform trans = obj.transform; Transform childTrans = trans. Find(name); gameobject.transform.Find("ChildName") ; 3. GetComponentInChildren() Transform[] allChildren = GetComponentsInChildren(); 4.하위 오브젝트 Find

[Unity/Photon] OnPhotonSerializeView [내부링크]

OnPhotonSerializeView는 자주 바뀌는 값들 중 네트워크 사용자들간에 동기화 시키고 싶은 경우에 사용된다. 부드러운 동기화를 위해 두가지를 설정해주어야 한다. 1. sendrate (default값 20): Player가 1초에 보낼 수 있는 패킷의 개수 2. serializationrate (default값 10) OnPhotonSerializeview를 이용하기 위해서는 인터페이스를 추가해주어야 한다. IPunObservable을 추가해주고, 인터페이스를 구현해준다. 예를 들어, Fps 게임에서의 체력동기화를 다음과 같이 구현할 수 있다. SendNext(여기) 에 동기화하고 싶은 값을 iswriting 상태(보내는 쪽)에서 Sent하고, !iswriting에서 ReceiveNext로 받아오면 된다. 항상 보내는쪽이 있으면 받.......

01.운영체제란/운영체제의 역사 [내부링크]

우리가 현재 사용하고 있는 OS는 window와 mac os가 있다. 1950년대 까지만해도 운영체제라는 것이 존재하지 않았고, 현대 운영체제의 시초가 되는 UNIX가 만들어지고 나서야 획기적인 발전이 시작되었다. system resource(시스템자원)=하드웨어는 운영체제 없이는 동작하지 못한다. 운영체제는 cpu, 메모리, i/o 디바이스, 저장매체와 같은 컴퓨터 하드웨어를 관리하는 소프트웨어이며, 이와 더불어 사용자와의 커뮤니케이션을 가능하게 해주고, 수많은 응용프로그램(application)을 실행시켜주는 역할을 한다. 운영체제의 역사에 대해 간단히 살펴보자! 1950년 운영체제라는 개념이 없었고, 에니악 시절에는 응용프로그램 하나를 실행시키.......

visual studio 2019 파일 소스를 열 수 없습니다 [내부링크]

오류: visual studio 2019 파일 소스를 열 수 없습니다 해결법: 오른쪽에 "최신 빌드 도구용 c++ MFC"를 설치해준다.

CNN(Convolution Neural Network) 정리 (1) [내부링크]

오늘은 이미지, 소리 분야에서 상당히 많이 쓰이는 CNN에 대해 알아보려 합니다! CNN의 경우 구글 이미지 분류, 태깅 부터 시작해서 네이버 상품추천, 휴대폰 얼굴인식 등에 사용되고 있죠. CNN의 개념은 1950년대 Hubel과 Wiesel이 "과연 인간이 시각적인 정보를 뇌에서 어떻게 해석할까?"에 대한 실험에서 출발하였습니다. 그들은 고양이에게 사진에서 보이는 여러 각도의 막대를 보여주고, 고양이의 시신경이 어떻게 반응을 하는가에 대해 실험을 진행했습니다. 고양이가 이 막대들을 단순히 하나의 막대로 생각한다면 시신경에서 자극받는 부분이 같을 것이라고 예상을 했습니다. 하지만, 조그만 feature들(이 실험에서는 각도가 되.......

CNN(Convolution Neural Network) 정리 (2) [내부링크]

앞서 설명한 개념을 컴퓨터에서 적용하기 위해서 Convolution을 도입해봅시다. 먼저 컨볼루션(합성곱)은 예시를 들어 설명하면 좀 더 간단할 것 같아요. 왼쪽 표는 주어진 이미지이고, 오른쪽 표는 우리가 찾을 Local feature을 담고 있는 컨볼루션 필터입니다. 오른쪽 필터를 보시면 우리는 이미지에 가로선이 있는지를 찾고 싶은 것입니다. 우리는 이 두개의 행렬을 컨볼루션 연산을 통해 하나의 값으로 만들어 볼거예요. 행렬의 합성곱은 너무너무너무너무 간단합니다. 같은 자리에 있는 것들을 곱해서 싸그리 더해주면 되요. 굳이 식을 써보자면 다음과 같이 되겠죠! 해보시면 1이 나옵니다. 이 컨볼루션 한 값이 높으면 높을 수록 해당 loca.......

[4강] 전달함수(Transfer Functions) [내부링크]

filter와 actuator들을 modeling할 때 transfer function을 이용한다. 전달함수는 초기상태를 0으로 잡았을때 LTI system의 implulse response를 라플라스 변환한 것이다.

[1강] 유체역학 서론 [내부링크]

유체역학: fluid(정지 또는 이동)에 의한 힘과 에너지를 연구. 유체의 거동, 고체표면 경계면에서의 해석을 연속체의 개념에서 다룬다. 유체역학을 해석하는 방법에는 크게 3가지가 있다. 1.Exact solution 찾기 : AFD 2.실험: EFD 3.컴퓨터: CFD (전산유체역학) 그래서 유체란 무엇인가? 유체란 아무리 작은 힘을 가할지라도 유체 내에 전단응력이 작용한다면 연속적으로 변형되는 물질이다. 유체 내에 전단응력이 존재하지 않는 상태를 정적평형상태라고 부른다. 물체의 전단응력 고체: 각변형량에 비례 유체: 각변형속도에 비례 소성체란? 일정 전단응력까지는 고체와 같이 유한변형을 하나, 한계점을 넘으면 유체처럼 지속적인 변형을 하는 물.......

[2강] 유체의 특성 [내부링크]

유체의 특성에 대해 알아보기 전에 차원(Dimension)에 대한 정리를 간단히 하고 가자. 기본차원(Primary dimension): M,L,T,θ 유체의 Property 밀도(ρ): 단위 체적당의 질량 [kg/m3], [m/L3] 비체적(v): 밀도의 역수 비중량(γ): 단위 부피당의 무게 [N/m3] 비중(SG): 4도 물 밀도와 유체의 밀도 비 압력(P): 단위 면적 당 힘 vacuum pressure=gauge pressure(계기압력) absolute pressure(절대압력) 온도(R,,K,) 비열(specific heat) 이상기체 방정식 P=ρRT 점성(viscosity)

html 1강 elements / structure [내부링크]

방금 강의를 봐도 까먹는 내 기억력 때문에 다시 찾아보는 용도로 쓰려합니다! 주석은 대충 알아볼 수 있게 //로 표시하겠습니다. 자세한 내용을 원하시는 분은 codeacademy에.com 에서 무료로 열리는 강의들을 보시면 좋을 것 같습니다. 1. html 기본 툴 2. 링크걸기 3.링크 새로운 페이지에 걸기 4. 이미지 누르면 링크로 연결 5. 페이지 내의 특정 부분으로 링크걸기(페이지 업다운 느낌) 6. html에서의 주석 7. 강조

html 2강 Table(표만들기) [내부링크]

방금 강의를 봐도 까먹는 제 기억력 때문에 다시 찾아보는 용도로 쓰려합니다! 주석은 대충 알아볼 수 있게 //로 표시하겠습니다. 자세한 내용을 원하시는 분은 codeacademy에.com 에서 무료로 열리는 강의들을 보시면 좋을 것 같습니다. 1. 표만들기 2. 보통 표의 첫라인에 오는 표의 정보?들 <th> 3. 행합치기, 열합치기 느낌 4. 테이블 구성. 항목/바디/총합계

Ch1. HCI의 역사 [내부링크]

1940년대 에니악을 시작으로 컴퓨터의 발전이 이루어졌지만, 컴퓨터와 인간의 상호작용에 대한 연구는 1980년대가 되어서야 시작되었습니다. 그 당시의 컴퓨터는 상당히 귀중해서 대학이나 정부 기관에만 존재를 했기 때문에 그에 대한 연구가 이루어지기가 어려웠습니다. 1940년 에니악을 시작으로, 1950년 Univac, 1960년 jcl stack, 1970sus unix와 pdp-11이 개발이 되면서, 1980년대가 되서야 아무나 컴퓨터를 사용할 수 있게 되었습니다. 사용성이 확대가 되면서, 초기 보안 상태의 시스템에서 넘어와 개인이 사용할 정도의 환경을 갖추게 되었습니다. 이때부터 인간과 컴퓨터의 상호작용, HCI에 대한 연구가 시작이 되었고, 컴퓨터의 개발.......

포톤 Pun 2 namespace가 불러와지지 않는 오류 [내부링크]

유니티 2019.3.12 버전, visual studio community 2019를 사용하고 있었고, Photon pun 2 무료버전으로 APPID setting까지 다 한 상태임에도 다음과 같이 namespace가 불러와지지 않는 오류가 있었다. Photon.Chat과 Photon.Realtime은 using이 되는데 pun은 불러와지지 않았다. 해결) 유니티 2019.1.12버전으로 교체하였고, 비주얼 스튜디오의 경우 2017, 2019버전 모두 사용가능한 것을 보니 유니티 쪽 문제였던 것 같다. 인터넷에 검색해보면 나와 같은 사람들이 많은 것 같고, assembly definition이나 폴더 경로를 바꾸는 방법 등이 있었지만 해결하지 못했다 ㅠㅠ 같은 문제를 겪고 있는 사람이라면 asset store에서 Photon Unity Networki.......

[Unity] 01. 설치하기 [내부링크]

유니티는 게임 엔진 기술로써 통합개발환경(Integrated Development Envionment, IDE)을 제공하는 소프트웨어입니다. 국내 상위 1000개 모바일게임의 64.8% 이상이, 엑스박스와 플레이스테이션 게임의 30~40%, 닌텐도 스위치 게임 70%가 유니티 엔진으로 제작되고 있다고 합니다. 게임시장 외에도, 전체 VR/AR 콘텐츠의 60% 이상을 차지하고 있습니다. 오늘은 Unity의 설치 방법에 대해 알아보고자 합니다. 먼저, https://unity.com/kr에 들어가셔서 시작하기를 누릅니다. "개인"을 누르시고 Personal을 클릭해줍니다. 유니티 personal 사용제약 조건은 다음과 같습니다. 연매출이 $10만 달러(한화 약 1억원) 미만 유니티 Personal은 상.......

[Unity] 02. 기본 [내부링크]

오늘은 Unity의 기본 사용법에 대해 알아보고자 합니다. 오늘은 3D를 기반으로 먼저 다뤄볼 예정입니다. 먼저 Hub를 열어주시고 새로생성을 클릭하셔서 새로운 프로젝트를 생성해줍니다. 3D를 선택해주시고 프로젝트이름, 저장경로를 정해주시고 생성을 클릭합니다. 처음 생성하시게 되시면 위와 같이 배치는 안되어있겠지만 기본적으로 Scene창, Game창, Project창, 그리고 Hierarchy창이 뜰겁니다. 계층구조창에 오른쪽 클릭을 해서 큐브를 하나 만들어봅시다! 큐브를 생성해주게되면 씬창에 큐브하나가 보이게 되고, Game창에는 정사각형 하나가 보이게 됩니다. 씬창과 계층구조창과 스크립트를 활용해서 물체를 커스텀하고, 이를 maincamera를.......

[1강] 폐쇠루프 (Closed loop control) [내부링크]

오늘부터는 제어공학 요약노트를 만들어보고자 한다! 유투브 brian douglas의 control system lecture와feedback control of dynamic system(pearson 2014)에 대한 요약본을 만들고자 한다. manual control: 자동차 운전하는 것처럼 사람이 컨트롤 하는 것 Automatic control: 집의 난방시스템같이 자동으로 조절되는 시스템 regulators: output을 일정하게 가져가기 위해 디자인된 시스템 tracking or servo systems: reference signal에 맞추기위해 디자인된 시스템 control system은 크게 3가지로 나누어볼 수 있다. 1.closed-loop: output의 결과가 피드백되어 그다음 output에 영향을 주는 시스템 2.open-loop: output이 system에 영향을 주.......

[6장] 역행렬 [내부링크]

역행렬이란, A-1A=I 를 만족하는 행렬을 의미한다. 모든 행렬이 역행렬을 가지는 것은 아니다. 오늘은 역행렬에 관한 성질들을 짚고 넘어가보자. 1. 역행렬이 있다 <---> elimination 과정을 통해 n개의 pivot을 찾는 것이 가능하다. 2. BA=I이고 AC=I이면, B=C이다. 3. A의 역행렬이 존재한다면, Ax=b는 유일해인 x=A-1b 를 가진다. 4. Ax=0이 0이 아닌 해를 가진다면, A는 역행렬이 없다. 5. 2x2 행렬의 역행렬 6. 대각선 행렬의 역행렬은 각 원소를 역수취하면 된다. 7. (AB)-1=B-1A-1 // 역행렬이 존재하는 행렬 A,B의 곱인 AB는 역행렬이 존재한다. 그럼 3X3에서 역행렬을 구하는 법을 간단.......

[7강] 가우스-조던 소거법 [내부링크]

가우스 조던 소거법은 역행렬을 쉽게 구해주는 툴이라고 생각하면 된다. 바로 시작해보자! Augmented matrix에서 [A b] --> [U c ]로 변환했던 것처럼, 가우스 조던 elimination에서는 [A I] --> [I A-1]로 만들어서 역행렬을 구한다. 예를 한번 살펴보자. A 대신 행렬 K를 이용하였다.

[8강] A=LU factorization [내부링크]

우리는 앞선 강의들에서 행렬 A에 E를 곱하여 U를 구하는 방법들에 대해 배웠다. a21의 값을 없애고 싶다면, E21A=U를 통해 소거를 진행했다. 이와는 반대로, 오늘은 U를 A로 만드는 작업을 해보고자 한다. 왜 필요한지는 차차 알아보자. E의 역행렬을 이용하면, 위의 식은 E21-1U=A가 된다. 여기서 E21-1을 L, 즉 lower triangular matrix(대각선 밑으로만 성분이 있는 상태)라 한다. EA=U, A=LU 'E의 역행렬을 이용해서 A를 인수분해 한다' 라고 생각하자. 3x3 행렬의 경우 U를 만들기 위해서는 a21, a31, a32값을 모두 없애주어야 한다. 즉, (E32E31E21)A=U 이고, A=(E32-1E31-1E21-1)U이다. L=.......

[9강] 벡터공간과(Vector space) 부분공간(Subspaces) [내부링크]

Ax=b의 완벽한 이해를 위해, 벡터공간과 부분공간에 대한 이해가 필요하다. 벡터공간(Vector space) Rn은 n개의 성분을 가지고 있는 모든 column 벡터들이 있는 공간을 의미하며, n-dimensional space라고 부른다. 여기서 R은 실수(real number)를 의미하며, 복소수를 성분으로 가지는 벡터의 경우 C를 이용한다. 이 외에도 다음과 같은 벡터공간들이 있다. M: 모든 2x2 real matrix로 이루어진 공간 F: 모든 real function f(x)로 이루어진 공간 Z: 0벡터만 가지고 있는 공간 부분공간(subspaces) 앞서 언급한 벡터 공간 안에 속하는 공간을 의미한다. 예를 몇가지 들어보자. 원점 (0,0,0)을 지나는 R3상의 평면을 생각해보자. 평면이니까.......

[10강] Nullspace와 Ax=0 [내부링크]

column space에 이어 이번 시간에는 Nullspace에 대해 알아보도록 하자. Nullspace는 Ax=0의 모든 해로 이루어진 공간을 의미한다. mxn 행렬에서 해인 x는 n개의 성분을 가지기 때문에 Nullspace는 Rn의 subspace임을 알 수 있다. Nullspace는 N(A)로 표현한다. 본격적으로 Ax=0를 풀어보기에 앞서, free column과 piovt column에 대해 예시를 통해 짚고 넘어가고자 한다. 여기 3개의 행렬 A,B,C가 있다. 이 행렬들의 Nullspace에 대해서 한번 생각을 해보자. 먼저 Ax=0을 살펴보자. U를 만들어서 back substitution을 편하게 만들면, 이렇게 되고, x1=x2=0이 유일한 해가 된다. n개의 pivot이 있다 = 역행렬이 있.......

[11강] Ax=0 [내부링크]

Ax=0을 푸는 것은 2가지 단계로 이루어진다. 1. A를 U,R로 만들기 2. U,R에 back substitution을 통해 x 구하기 3. free variable이 있다면 special solution을 구하기 4. special solution의 선형조합을 통해 complete solution 구하기 U를 보면, pivot이 1과 4 두개 밖에 없다는 것을 볼 수 있다. 즉, 3X4 행렬( 3개의 방정식과 4개의 미지수로 이루어진 행렬)에서, 미지수 4개 중, pivot variable은 x1,x3이 되고, 나머지 x2,x4는 free variable이 된다. 이제 앞선 강의에서 했던 것처럼 special solution을 구해서 complete solution을 완성해보자. x2=1,x4=0 일때의 special solution을 s1, x2=0, x4=1 일때의 spe.......

[12강] Rank와 Ax=b [내부링크]

우리는 행렬을 mxn의 사이즈로 보통 부른다. 하지만 이 속을 들여다보면 0=0의 방정식도 있을 수 있고, 나머지 방정식들의 선형조합으로 나타내어질 수 있는 방정식들도 다 포함이 되어있다. 그래서 행렬의 진짜 크기는 Rank라는 개념으로 나타내어진다. Rank = r = pivot의 개수 앞서 우리는 Ax=0의 complete solution을 구하는 방법에 대해 배웠다. 이번 시간에는 Ax=b의 particular solution과 complete solution을 구하는 방법에 대해 알아보자. 1. Ax=b를 augmented matrix로 바꾼다. [A b] 2.[A b]를 [R d]로 바꾼다. 3.Rx=d에서 free variable에 0을 싹다넣고 나머지 pivot variable을 계산한다 &#x3D.......

기초 선형대수 [내부링크]

컴공에서 그래픽스는 수학을 가장 많이 사용하는 학문이다. 이번 시간에는 선형대수학의 아주 기본을 정리하고자 한다.

그래픽스 모델링 [내부링크]

모델링이란 렌더링 할 물체를 만들어 내는 것을 의미한다. 모델링 시 polygon mesh를 사용하는데, 주로 삼각형이나 사각형을 이용한다. 표현하고자 하는 물체의 표면을 sample화 하고 이 정점들을 polygon으로 이어놓는다. 이때, 정점의 개수를 해상도라고 하며, resolution, level of detail (LOD)라고 부른다. 정점의 개수를 늘려 해상도를 높이는 것을 refinement, 반대의 작업을 simplification이라 한다.

좌표계와 변환 요약 [내부링크]

좌표계에서의 scaling, rotation, translation에 관한 내용을 살펴보자.

Object space와 World space [내부링크]

Object를 만들 때 썼던 좌표계를 object space라 부른다.각 물체들은 모두 그 나름의 공간에서 만들어짐. 얘네를 단일한 게임 공간으로 만들건데 이를 world space라 부르고 world space에는 모든 물체를 배치하게 된다. OS->WS 옮겨갈 때 transform이 필요함 = world transform이라 부르며, 똑같이 스케일링, 회전, 이동 변환이 필요하면 하면 된다. Object space basis와 rotation의 관계 Object space와 만들어진 object는 구속관계에 있으며 분리 불가하다. World space basis(e1,e2,e3) Object space basis(u,v,n) 물체가 회전하면 object space basis 같이 회전하며, 회전된 물체는 방향이 바뀐다. Translation은 위치를 바꾼다. R.......

[1장] 벡터란 [내부링크]

선형대수학의 꽃은 벡터에 있다. v, w를 벡터라 했을 때 cv+dw를 이들의 선형조합(linear combination)이라 한다. 벡터 v에 대해 상수 c를 곱한 cv는 line을 의미한다. 벡터 w가 그 line위에 있지 않을 때, 이들의 선형조합 cv+dw는 2차원 평면의 모든 점을 커버 가능하다. 첫 강의에서는 벡터의 기본적인 법칙들을 다룰 것이다. 시각화하기 쉬운 2,3차원상의 벡터들부터 시작해서 결론적으로는 n차 벡터들까지 다뤄보자. 2-Dimensional vectors 먼저 제일 익숙한 2차원부터 살펴보자. 우리는 벡터를 다음과 같이 표현한다. 위에서 보이는 바와 같이 1개의 column, 2개의 row로 벡터를 나타냈다. 계속 가끔씩 헷갈리는 column과 row는 정리한번 해.......

[2장] 선형방정식 풀기 [내부링크]

중학교 1학년땐가..? 기억이 가물가물하지만 그때 쯤 연립방정식의 해를 배웠던 것 같다. 흔히 보는 다음과 같은 거 말이다! x-2y=1 3x+2y=11 당장 해를 구해라! 하면 대입해서 뚝딱 나오겠지만 선형대수학이랑 공학수학2에서는 이를 먼저 2가지 방법으로 접근한다. row picture와 column picture. 먼저 row picture에 대해 살펴보자. 그래프 나중에 삽입 row picture은 우리가 지금까지 써왔던, 그냥 x-2y=1이랑 3x+2y=11을 좌표평면에 그려서 교차점을 찾는 것이다. 그 intersection point가 바로 이 연립방정식의 해가 되는 것이다. column picture column picture 방식은 위에 나와있는 선형 시스템을 벡터로 인지해보는.......

[3장] Gaussian Elimination [내부링크]

이번 시간에는 연립선형방정식의 해를 찾는 과정인 elimination을 한번 살펴보려 한다. 2차원은 생략하고 바로 3차원으로 다뤄보도록 하겠다! 2x+4y-2z=2 ---(1) 4x+9y-3z=8 ---(2) -2x-3y+7z=10 ---(3) 위의 3개의 미지수를 가진 3개의 방정식을 가지고 한번 이해를 해보자. 먼저, 맨앞에 있는 2를 pivot으로 설정하자. pivot이란, row에서 0이아닌 젤 먼저 나오는 숫자이다. 소거를 편리하게 해준다. 첫번째 pivot인 2를 이용해서 뒤의 식들을 간단히 만들어보자. 2x+4y-2z=2 ---(1) y+z=4 ---(2) y+5z=12 ---(3) (1)식에 2를 곱해서 (2)-(1)을, (1)식에 -1을 곱해서 (3)-(1)을 하면, 위와 같이 (2),(3)식의 x항.......

[4강] Row exchange matrix [내부링크]

3장에서는 행렬의 관점에서 subtraction을 하는 방법인 Elimination matrix E를 알아보았다. 이번 시간에는 행렬에서 row들을 서로 바꾸는 permutation matrix P에 대해서 알아보고자 한다. 그래서 왜 필요하냐구? 이럴 때 필요하다. 이렇게 두번째 pivot 자리에 0이 위치하는 경우. row2와 row3를 바꿔줌으로써 두번째 pivot을 찾을 수 있다. 이런 경우, 다음과 같은 permutation matrix를 사용한다. elimination matrix와 마찬가지로 I부터 시작해서 만든다. P의 row2에 원래는 010이 들어가 b2가 결과로 나오겠지만, 001을 집어넣어줌으로써 b3가 나오게 할 수 있는 것이다. E와 P를 살펴보면서 원하는 행렬을 만들 수 있게 되었다!

[5강] Augmented Matrix [내부링크]

우리는 앞선 강의들에서 E를 A에 곱해서 elimination 기능을 사용했다. E를 이용하는 궁극적인 목표는, Ax=b를 쉽게 푸는데에 있다. 우리가 연립 방정식을 풀 때를 생각해보자. 2x+y=11 3x-2y=1 연립 방정식을 앞서배운 방법대로 풀때 pivot을 없애주기위해 각 방정식에 특정 상수 값을 곱해서 빼주는 방식을 이용했다. 이때, A부분과 b부분은 같은 선형 변화를 거치므로 우리는 Ax=b를 행렬로 풀 때 A와 b를 묶어서 생각해도 된다. Ax=b를 풀기 위해, 우리는 Augmented matrix를 이용한다. 2x+4y-2z=2 4x+9y-3z=8 -2x-3y+7z=10 이렇게 A와 b를 하나로 묶은 직사각형 모양의 행렬을 Augmented matrix라.......

AUTODESK CAD 기초 - 4 (대칭) [내부링크]

대칭의 기본은 대칭을 할 대상과 그 기준선, 이렇게 2가지이다. 대칭아이콘을 클릭한 후, 대칭을 할 객체를 선택하고, 엔터! 그 다음 기준선을 그려주고 엔터를 누르면 된다.

AUTODESK CAD 기초 - 5 (그리드 설정) [내부링크]

우측 하단을 보면 이런 아이콘이 있다. 그리드를 잘 설정해 두면, 음.. 보기에 좋다! ㅎㅎ 옆의 화살표를 누르고 스냅설정에서 그리드 설정을 할 수 있다. 그리드 간격두기를 조절하여 그리드를 목적에 맞게 사용할 수 있다.

AUTODESK CAD 기초 - 6 (치수 깔끔하게) [내부링크]

도면을 그린 후 치수를 표시해 줄 때 제품의 크기에 따라 치수 화살표나 문자의 크기가 읽기 불편할 때가 있다. 다음과 같을 때 그렇다. 고쳐보자! Ddim을 치고 엔터! 를 치면 치수 스타일 관리자 탭이 나온다. 속성을 누르고 들어가서, 선, 기호 및 화살표, 문자 이 세 개만 이용해도 깔끔히 정리할 수 있다. 치수선, 치수보조선의 색상, 길이 화살표의 크기, 문자 크기 등을 조절할 수 있다.

Polyimide(PI)란? [내부링크]

2019년, LG에서 lg 시그니처 올레드 tv r을 공개하면서 tv의 패러다임을 바꾸기 시작했습니다. 오늘 알아볼 PI는 이런 플렉서블한 기판을 가능하게 해준 고분자 유기화합물입니다! 먼저 특성을 한번 나열해보자면, 1. 광범위한 온도 변화에 견딜 수 있다. 고온에 강하다. 2. 전기 절연성 3. 인체에 무해 4. 플렉서블 5. 쉽게 불이 붙지 않고 빠르게 연소되지 않는다. 이런 특성을 가지고 있는 PI는 1. 1969 아폴로 11호 때 사용한 우주복의 소재 2. 1980년 인텔 CPU 3. flexible PCB 4. LCD 액정 배향막 5. 플렉서블 기판 등에 사용되며, marketsandMarkets 리서치사에 시장보고서에 따르면, 2023년 26억 달러로. 12.5%의 CAGR(연평균 성장률)로.......

컴퓨터 그래픽스란 [내부링크]

컴퓨터 그래픽스란 3차원으로 표현된 물체를 우리가 2d 디스플레이에서 볼 수 있도록 2차원 영상으로 출력하는 작업을 의미합니다. fps (frame per second) 그래픽스는 크게 두가지 분야로 나누어지는데. 1. real-time graphics로 게임, vr, ar에 사용되는 것과 2. 영화 특수효과에 이용되는 비실시간 그래픽스로 나누어집니다. 컴퓨터 그래픽스는 크게 5단계로 이루어집니다. modeling -> rigging -> animation -> rendering -> post-processing 1.modeling 물체를 컴퓨터가 인식할 수 있도록 polygon mesh를 사용하여 설계 2.rigging 골격의 뼈대같은 것을 이용. Polygon mesh안에 뼈대를 집어넣어 상관관계를 정의 해준 후 움직임.......