Programming

728x90

    [Math] Rotation Vector (= Axis-Angle, Rodrigues Angle)

    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

    for statement는 loop를 위한 control structure의 대표격이다. Python에서는 iterable 객체 (주로 collection type의 객체들)이 가지고 있는 item들을 iterate하는 용도로 사용된다. 프로그래밍을 배울 때, 구구단 출력과 같은 고전적인 예를 통해 배우고, 정말 기본 중의 기본으로 활용된다. 단, NumPy등을 익히게 되면서 loop가 아닌 matrix 를 이용한 처리 (쉽게 생각하면 많은 memory를 이용하여 반복을 덜하는 방식이라고 할 수 있음)가 보다 효율적이기 때문에 정말 필요한 경우 아니면 쓰지 말라고 애기를 하게 되지만... for statement는 정말 기본 중의 기본이다. (반복을 얼마나 효율적으로 하느냐가 성능 뿐 아니라 유지보수의 ..

    [Python] (Data) Type : Summary

    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 소개?

    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

    Python은 대표적인 dynamic langauge 이다. (흔히, dynamic language를 scripting language라고도 부름) Static (Typed) Language Programming Language들 중에서 comiler language들의 경우 대부분이 static language로서 variable을 사용하기 전에 반드시 declaration(선언)을 해야하고, 이때 해당 variable의 tyep이 명시적(explicitly)으로 정해지며 explicit casting(명시적 형변환)을 하는 경우를 제외하곤 해당 type이 변하지 않음. C, C++, Java 등이 static language의 대표적 예들임. Static Language에서 variable은 type..

    [Python] Keyword란? (Soft Keyword 포함)

    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..

    [Basic] Literal

    Literal 소스 코드 상에서 고정된 값을 가르킴. (또는 고정된 값을 나타내는 표기법을 의미함.) Programming language에서 data의 값을 지정(specifying data values)하는 방법은 다음 중의 하나임. 1. Literal을 사용. 2. Variable을 사용 (constant variable포함). literal 은 문자 그대로 라는 뜻을 가짐. Python에서 literal은 Object임. C에서는 primitive datatype의 변수에 할당되는 값들을 주로 의미하나, Python에서는 literal도 object(객체)이다. 다음 코드는 x라는 변수에 9라는 값을 할당(assignment)을 의미함. x = 9 위의 코드에서 9 가 바로 literal이다. l..

    [Programming] Primitive Data Type : C, C++, NumPy, Torch

    Primitive Data Type이(Unboxed type)란?C, C++, NumPy, Torch, TensorFlow 등에서 사용되는 numeric data type들은보통 unboxed type이라고도 불리는 primitive data type들이다.unboxed type에서는할당된 메모리 bit들이 해당 numeric data type의 특정 값을 표현하는데 다 사용되고해당 type이 고유의 meta data나 methods 등을 가지고 있지 않음.C프로그래밍을 배운 이들에게 이는 매우 당연하게 받아들여지는 개념이다.이와 달리 boxed type이란,unboxed type처럼 값을 저장하는 메모리 bit들 외에도,1) 가지고 있는 값에 대한 meta data 및2) 값과 meta data를 처리..

    [CE] Computer and Program.

    개인적으로 선호하는 Computer의 정의는 다음과 같음 (wikipedia). A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These programs enable computers to perform a wide range of tasks. 컴퓨터는 어떤 task를 수행하기 위한 program (=set of instructions)을 수행시킬..