[Math] Rotation Vector (= Axis-Angle, Rodrigues Angle)
·
.../Math
3차원 공간에서의 rotation을 표현하는 방법.Euler angle과 함께 가장 많이 사용되는 방법 중 하나임.하지만 3개의 축에 대한 3개의 rotation angle로 표현하는 Euler angle과 달리,Rotation Vector는 하나의 vector만으로 표현한다.컴퓨터 비전과 3D 그래픽스에서 자주 사용되며, 카메라 캘리브레이션, 객체 추적, 포즈 추정 등에 중요함.정의3차원 공간에서의 rotation은 회전축과 회전각이 필요한데Rotation Vector는회전축 : Rotation Vector의 direction으로 표현, $\mathbf{e}$.회전각 : Rotation Vector의 length로 표현 (L-2 norm), $\theta$일반적으로 회전중심은 origin이 됨.Axis..
[Python] for statement
·
Programming
for statement는 loop를 위한 control structure의 대표격이다. Python에서는 iterable 객체 (주로 collection type의 객체들)이 가지고 있는 item들을 iterate하는 용도로 사용된다. 프로그래밍을 배울 때, 구구단 출력과 같은 고전적인 예를 통해 배우고, 정말 기본 중의 기본으로 활용된다. 단, NumPy등을 익히게 되면서 loop가 아닌 matrix 를 이용한 처리 (쉽게 생각하면 많은 memory를 이용하여 반복을 덜하는 방식이라고 할 수 있음)가 보다 효율적이기 때문에 정말 필요한 경우 아니면 쓰지 말라고 애기를 하게 되지만... for statement는 정말 기본 중의 기본이다. (반복을 얼마나 효율적으로 하느냐가 성능 뿐 아니라 유지보수의 ..
[Python] (Data) Type: Summary
·
Programming
1. Type 이란?Programming에서 사용되는 모든 value 혹은 object 들의 종류 를 (data) type이라고 부름.수학에서 숫자의 종류(type)를 실수, 정수, 자연수 등으로 나누는 것을 생각하면 쉽다.Programming에서는 문자들도 다루며, 여러 object를 묶어 하나로 처리하기도 하기 때문에 보다 다양한 type을 지원한다.2. Programming에서 Type 이란?Programming에서 특정 object가 어떤 type인지가 결정되면 다음의 내용이 해당 type에 따라 결정된다.해당 object가 가질 수 있는 value들의 집합이 결정됨. (예를 들어 int type이면 정수만을 값으로 가질 수 있음)해당 object를 operand(피연산자)로 가질 수 있는 ope..
[Python] Python 소개?
·
Programming
Python 이란Python은 현재 가장 많이 사용되는 High-Level Programming Language 중 하나임. 사실, Machine Learning (특히 Deep Learning) 분야와 Data Science 분야, 그리고 Scientific Computing분야에서 가장 많이 사용되는 언어라고 할 수 있다.기반 기술을 개발하는 이들이나Web Application이나 Desktop Application이나스마트폰 App를 개발하는 이들의 경우엔JavaScript나 C, C++, Rust, Go 등등을 애용하겠지만. 또한, 기존의 automation 등의 분야 외에도,ML과 DS의 성공을 통해 확보하게 된 수많은 사용자들을 지지를 통해Web Application이나 Desktop Appl..
[Python] Dynamic Language vs. Static Language
·
Programming
Python은 대표적인 dynamic (typed) langauge 이다. (dynamic language는 대부분 interpreter language 임.) 좀 더 엄밀하게 애기하면,Dynamic Language란 특정 동작이나 사항들이 runtime(실행 시간)에 결정되는 특징을 가진 Programming Language를 가르킴. comile 시점이 아닌 runtime에 해석되고 실행되며, type이나 호출할 method나 접근할 attribute가 runtime에 해석된다는 특징을 가지고 있다. 유연성이 높고 높은 생산성을 가지나, 성능은 static language 보다 떨어지며 코드가 길어질 경우 오류 탐지가 쉽지 않다는 단점을 가짐. Static (Typed) LanguageProgramm..
[Python] Keyword란? (Soft Keyword 포함)
·
Programming
Keywords (or Reserved Words) Keyword란 Python에서 특별한 단어 (special word)들을 가르킨다. Keyword들은 Python에서 특정한 목적으로 사용되도록 이미 정해진 word들로 Python에서 정해놓은 방법 외로는 사용을 할 수 없음. 때문에 variable이나 function등의 name 등으로 사용할 수 없음. 다음 code는 keyword 여부를 체크해볼 수 있는 keyword module을 사용하는 예제임. import keyword # string argument가 Python Keyword인지를 True/False 로 반환해줌. print(f'None is a keyword of Python Interpreter. : {keyword.iskeywo..