반응형

전체 글 37

당신의 뇌는 최적화를 원한다.

0. 최적화된 삶이란?최적화란 종속변수의 최댓값 또는 최솟값을 갖는 독립변수를 찾는 알고리즘이다. 내가 생각하는 최적화된 삶은 성과를 위해 군더더기 시간을 없애는 것이었다. 밥 먹을 때, 잘 때, 걸어 다닐 때, 버스탈 때에도 일 생각을 하는 삶이었다. 한 학기 정도는 저렇게 살아봤으나 오래 유지하기 힘들었다. 결과가 좋으면 버틸만하다. 그러나 결과가 안 좋을 경우 받아들이기 힘들었다. 잘하기 위해선 지치지 않고 잘 쉬는 것이 중요하다. 이 책을 통해 쉴 때 쉬고, 달릴 때 달릴 수 있는 방법론을 배웠다.1. 시도해 볼 것세르토닌 분비를 위해 (의지력)밥을 꼭꼭 씹어 먹기, 점심은 외식, 햇빛을 받기 (선크림 들고 다니기)멜라토닌 분비를 위해 (잘 자기)10시에 집에 들어가면 눈에 들어오는 광량을 줄이기..

Book Review 2025.11.10

chapter2. FEM을 해석하기 위한 1D 요소들 (-ING)

지난 챕터에선 재료 역학의 관점에서 FEM을 풀기 위한 용어를 정리 하였다. 이번 강의에선 1D element가 어떻게 추상화 되는지 살펴볼 것이다. Spring은 Hooke's Law(훅의 법칙)에 의해 탄성 계수 한개만을 이용한 변형을 일으킨다. Truss는 축과 평행한 방향의 힘만 고려하고, Beam은 Transverse Force에 대한 힘만 고려한다. 요소SpringTrussBeam작용 하는 힘Axial ForceAxial ForceTransverse + Bending 각 Element에 대해 F = K d 를 유도해야한다. 힘의 평형을 이용하는 방법과 에너지기반 방법이 있다. 0. Boundary Condition 어떤 문제의 FEM을 풀기위한 F = K d 1. SpringFirst C..

Graphic 포스팅 계획 [취미]

Isaac simulator나 Muzuco 등 다양한 시뮬레이터에서 그래픽스가 쓰인다. 또한 내가 만든 애플리케이션을 appimage로 패키징 해서 배포한다면, GUI가 필요하다. 또한 만화나 애니메이션 버튜버쪽에 관심이 있어서 취미로 공부해보고 싶다. 취미인 만큼, 시장성보단 재미로 하고 있다. Rust를 통해 Graphics를 공부해보려고 한다. CMU에서 들은 강의 내용도 요약할 예정이다. Rerun 비쥬얼라이저에 쓰이는 (winit egui), 요즘 뜨고 있는 WebAssembly, WebGPU 등을 공부 해보려고 한다. 1. 뭘 공부 하면 재밌을까?┌─────────────────────────────────────────┐│ Application (게임, 앱) ..

chapter1. FEM을 위한 용어 정리

시뮬레이션에서 유체나 유동성 고체를 나타내려면 어떻게 해야 할까? FEM(Finite Element Method, 유한요소법)은 3D 대상을 유한한 그래프로 쪼개서 미분방정식을 해석하는 방법이다. Electromagnetic potential, 열전도, 구조 해석 등 연속체의 역학의 근사해를 얻을 수 있다. 그중 재료역학의 관점으로 FEM 이야기를 풀려고 한다. $$ F = [m] \ddot{d} + [c] \dot{d} + [k]{d} $$임의의 물체에 힘이 가해 졌을 때, 가속 운동, 댐핑, 변형 된다. 우선 가속과 댐핑이 없는 변형만 일어나는 시스템이라고 보자. 1. Stress Strain의 정의Stress[σ, N/m^2, Pa, 응력]: 물체의 외력에 저항하여 물체 내부에 발생하는 단위 면..

Orbit: A Unified Simulation Framework for Interactive Robot Learning Environments, 시뮬레이션 주파수는?

0. 이 글은Orbit 논문의 요약이다. 또한 시뮬레이션의 주파수 관계에 대해 생각이 들어있다. 1. 저자 및 학교 소개ETH Zurich(스위스)에서, Nvidia와 University of Toronto(캐나다)의 도움을 받아서 만든 논문이다. Marco Hutter교수님의 Robotic Systems Lab에서 나온 논문이다.2. 내용 요약Orbit은 Issac Lab 의 전신으로, 최신의 랜더링 기법과 물리 엔진을 적용한 시뮬레이터이다. 시뮬레이션에는 물리엔진과 랜더러가 사용된다.시뮬레이터의 주요 기능물리 엔진랜더링 방법론정의힘의 작용(충돌)에 대한 미분방정식을 푸는 것3D의 모양을 카메라의 픽셀 스페이스로 옮겨 오는 것핵심 기능Physx 엔진으로 구현Path tracing (Ray tracing..

쏙쏙 들어오는 함수형 코딩

본 포스팅은 '쏙쏙 들어오는 함수형 코딩' 책에 대한 서평이다.기억할 것은 함수형 프로그래밍의 철학, 함수형 프로그래밍 툴 (코드 디자인 방법), 설계방법1. 함수형 프로그래밍이란?순수 함수(pure function)를 일급객체(first class object)로 만드는 코드 구조를 갖는다.프로그램을 데이터, 로직, UI를 분리하는 개념과 비슷하다.2. 용어 정리순수 함수, pure funciton순수 함수는 이상적인 함수다. 책에서는 계산이라고 부르며, 3가지 요건을 만족해야 한다.Side effect가 없어야 한다.내부의 변화가 밖의 시스템에 영향력이 없어야한다. (즉, 전역 변수를 함수 내부에서 호출하는 행위를 하면 안 된다.)시간에 관계 없이 같은 동작을 해야 한다.이메일 보내기, DB에 저장하..

Book Review 2025.08.31

객체 지향의 사실과 오해

0. 기억할 것객체지향에서 좋은 API 설계는 책임과 자율의 상충관계이다. what 보다는 how에 집중하라.How에 관한 내용을 파라미터로 넣으면 객체의 자율성이 떨어진다. How는 functional class로 만들어서 처리한다. 맴버 변수로 기억해야 한다.다른 object를 어떻게 호출할 것인가? 3가지가 있다. effective c++에서도 case3을 추천한다. 필요한 부분만 넘겨야 한다면 case2도 좋다.class c1{ ...}class c2{ ...}// case1class c1{ c2 member_obj();}c1.member_obj.foo()// case2c1.call(c2,) // 이런식으로 코딩하면 좋지 않다. 객체 자체를 넘기면, 필요 없는 부분까지 c1에게 넘..

Book Review 2025.08.27

BOJ 28423번 게임 C++

IDEA: f^n(x) 연산이 나오지 않는 경우: f^n(x) 연산에서 순환 하는 경우.i -> i_prime으로 node이동 Engineeringi_prime을 계산한 후, out of bound 조심하기#include #include #include #include #include #include using namespace std;vector parse(int i) { vector ret; while (i > 0) { ret.push_back(i % 10); i /= 10; } return ret;}int summation(vector vec){ int ret = 0; for(int i = 0; i vec){ int ret = 1; for(int i = 0;..

Python Variable Arguments(variadic arguments,가변인자), Ellipsis(엘리프시스)

Python의 Variable Arguments와 Ellipsis를 정리한다.Python Variable Arguments 어디에 적용하고 싶은가?다른 사람의 class를 기반으로 상속받아 코딩하려고 한다. 내가 만드는 child class에서, parent class의 생성자를 그대로 호출하고 싶다. 이때 같은 내용이 반복되지 않도록 Variable Arguments(가변인자)를 쓰려고 한다.class parent(): def __init__(self, param1: int, param2:np.ndarray, ... ): self.param1 = param1 ...class OurWrapper(parent): def __init__(*args, **kwargs): ..

Engineering/Python 2025.04.10
반응형