AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
공식을 애니메이션으로 직접 조작해 보며 물리와 친해지는 웹 시뮬레이터입니다. 전체 74종이 대분류 → 중분류 → 소분류 3단계로 나뉩니다. 대분류는 좌측 상단의 ☰ 햄버거 메뉴에서 고르고, 그 아래에 중분류 탭과 소분류 목록이 나타납니다. 난이도 원칙: 기초 물리학의 고등물리 중분류는 물리학Ⅰ 범위를 넘지 않습니다. 공학 응용은 그 공식들이 실제 전공에서 어디에 쓰이는지 보여주는 확장이고, 현대물리와 우주는 이론이 어떻게 증명됐는지 보여주는 확장입니다 — 둘 다 기초 물리학의 난이도 원칙에는 영향을 주지 않습니다. 기계공학을 따로 둔 이유: 고체역학·파괴역학·열공학·진동공학은 항공우주공학에도 선박공학에도 똑같이 필요한 공통 기반입니다. 두 곳에 중복으로 넣는 대신 기계공학으로 모으고, 항공우주·선박에는 그 분야 고유의 내용만 남겼습니다. 의존성 없는 순수 HTML/CSS/JS입니다. 둘 중 아무거나: 또는 index.html을 브라우저로 그냥 열어도 됩니다. 공식을 하나도 몰라도 볼 수 있는, 가장 먼저 보는 중분류입니다. 계산이 아니라 "감"을 잡는 것이 목표입니다. 여기의 모든 시뮬레이션에는 도전 과제(아래 별도 절 참고)가 붙어 있습니다.Read the full README ↗
공식을 애니메이션으로 직접 조작해 보며 물리와 친해지는 웹 시뮬레이터입니다. 전체 75종이 대분류 → 중분류 → 소분류 3단계로 나뉩니다. 대분류는 좌측 상단의 ☰ 햄버거 메뉴에서 고르고, 그 아래에 중분류 탭과 소분류 목록이 나타납니다.
| 대분류 | 중분류 | 대상 / 범위 |
|---|---|---|
| 기초 물리학 (36종) | 초급 과정 (11) | 공식 없이 감부터 잡는 단계 — 힘과 운동 · 열과 무질서 · 파동과 빛 · 물질의 구성 · 중력과 우주 |
| 고등물리 (11) | 고등학교 물리학Ⅰ을 넘지 않음 (기획서 원칙) — 역학과 에너지 · 물질과 전자기장 · 파동과 정보통신 | |
| 일반물리 (14) | 대학 기초 — 역학과 진동 · 유체역학 · 열과 통계 · 전자기학 · 파동과 광학 · 상대성이론 | |
| 현대물리와 우주 (16종) | 유명한 실험 (4) | 이론이 역사적으로 어떻게 데이터로 확인됐는지 재현 |
| 양자역학 (6) | 물질도 파동이다 · 에너지는 띄엄띄엄하다 · 파동이기에 생기는 일 · 측정이 결과를 바꾼다 | |
| 천문학 (6) | 별빛 읽기 · 별의 일생 · 우주의 크기 재기 · 다른 별의 행성 | |
| 공학 응용 (23종) | 항공우주공학 (9) | 비행역학 · 궤도역학 · 로켓 추진 · 대기권 재진입 |
| 선박공학 (6) | 저항과 추진 · 복원성 · 내항성 · 운항 제어 (자율운항시스템공학) | |
| 기계공학 (6) | 고체역학 · 파괴역학 · 열공학 · 진동공학 — 항공우주·선박의 공통 기반 | |
| 공학응용 (2) | 분야를 가리지 않고 쓰이는 계측·신호 |
난이도 원칙: 기초 물리학의 고등물리 중분류는 물리학Ⅰ 범위를 넘지 않습니다. 공학 응용은 그 공식들이 실제 전공에서 어디에 쓰이는지 보여주는 확장이고, 현대물리와 우주는 이론이 어떻게 증명됐는지 보여주는 확장입니다 — 둘 다 기초 물리학의 난이도 원칙에는 영향을 주지 않습니다.
기계공학을 따로 둔 이유: 고체역학·파괴역학·열공학·진동공학은 항공우주공학에도 선박공학에도 똑같이 필요한 공통 기반입니다. 두 곳에 중복으로 넣는 대신 기계공학으로 모으고, 항공우주·선박에는 그 분야 고유의 내용만 남겼습니다.
의존성 없는 순수 HTML/CSS/JS입니다. 둘 중 아무거나:
node tools/dev-server.js
→ 브라우저에서 http://localhost:5173
또는 index.html을 브라우저로 그냥 열어도 됩니다.
시뮬레이션이나 그리기 코드를 고친 뒤에는 dev 서버를 띄운 채 http://localhost:5173/tools/check.html을 엽니다.
75종 전부를 실제 화면에서 나오는 9가지 캔버스 크기(27" QHD ~ 360px 폰)로 모든 프리셋·강조 상태와 함께 그려 보고 다음을 셉니다.
| 항목 | 기준 |
|---|---|
| 예외 | 0 |
| 글자 겹침 (투명 글자끼리) | 0 |
| 캔버스 밖 잘림 | 화면 밖으로 나간 물체(빠른 음원, 시야 밖 선박 등)에 붙은 라벨만 허용 |
특정 크기만 보려면 ?sizes=1407x704,436x471.
| 기획서 항목 | 구현 |
|---|---|
| 공식의 용도에 맞는 체험 화면(애니메이션) | 시뮬레이션마다 전용 캔버스 애니메이션 + 실시간 그래프 |
| 공식 구성요소의 위치 구성 | 공식의 각 기호가 고유 색을 가지고, 기호에 마우스를 올리거나 클릭하면 ① 화면 속 해당 요소(화살표·막대·점선)가 빛나고 ② 해당 슬라이더가 강조되며 ③ "이 값이 어디에서 작용하는가" 설명이 뜹니다 |
| 값을 직접 대입해 보는 경험 | 모든 상수가 슬라이더 + 상황별 프리셋 버튼(달의 중력, 얼음판, 에어백 효과 등) |
| 물리학Ⅰ 범위 유지 | 미적분·벡터 성분 분해 없이, 교과서 공식과 용어만 사용 |
공식을 하나도 몰라도 볼 수 있는, 가장 먼저 보는 중분류입니다. 계산이 아니라 "감"을 잡는 것이 목표입니다. 여기의 모든 시뮬레이션에는 도전 과제(아래 별도 절 참고)가 붙어 있습니다.
거시세계
√(1−β²))와 "중력이 강하면 시간이 느려진다"(일반 상대성 √(1−x), x=r_s/r)가 원인이 다른 별개의 효과라는 것, 그리고 "로켓을 타고 우주로 멀리 나가는 것" 자체는 (중력이 오히려 약해지므로) 시간을 거의 바꾸지 않는다는 흔한 오해도 함께 짚어 줌. 두 식 모두 근사가 아닌 정확한 식미시세계 9. 입자란 무엇인가? — 물질은 끊임없이 움직이는 작은 알갱이의 모임이라는 것. 온도 슬라이더 하나로 고체 → 액체 → 기체 상태 변화를 눈으로 확인(운동론적 분자 모델의 단순화) 10. 원자란 무엇인가? — 입자(알갱이) 자체도 원자핵(양성자+중성자)과 그 둘레를 도는 전자로 되어 있다는 것. 양성자 수 하나로 원소가 정해짐(단순화된 보어 모형) 11. 빛이란 무엇인가? — 빛의 파동성과 입자성(광자)을 한 화면에서 동시에 제시. 파장이 색을 정하고, 파장이 짧을수록 광자 하나의 에너지가 큼
"이런 상황을 만들려면 값을 어떻게 조작해야 할까?"를 직접 실험하며 알아내는 미니 게임입니다. 정답을 입력하는 퀴즈가 아니라, 슬라이더를 움직이면서 목표 상태에 도달했는지를 실시간으로 확인하는 방식입니다.
무대(캔버스) 바로 아래에 "🎯 문제방" 이라는 이름의, 다른 카드들과 뚜렷이 구분되는 독립된 영역으로 표시됩니다 — 공식·슬라이더·측정값 카드들과 섞이지 않도록 일부러 분리했습니다(처음엔 우측 패널 안에 다른 카드처럼 넣었다가, 눈에 잘 안 띈다는 피드백을 받고 무대 아래 별도 구역으로 옮겼습니다).
challenges: [{ id, title, desc, check(ctx), hint }]를 추가하면 문제방이 자동으로 생깁니다(없는 시뮬레이션에서는 문제방 자체가 숨겨짐).check(ctx)는 매 프레임 { P: 현재 슬라이더 값, st: 현재 시뮬레이션 상태, t: 경과 시간 }을 받아 true/false를 반환하는 순수 함수입니다 — 슬라이더 값만 보는 것(예: "알짜힘을 0으로")도, 재생하며 지켜봐야 하는 것(예: "6초가 지나도 계속 튀게")도 모두 표현할 수 있습니다.scratchpad/check_challenges.js로 전수 검증했습니다 — 검증 중 실제로 여러 설계 버그(허용 범위 안에서 절대 달성 불가능한 문턱값, 기본값 자체가 이미 정답이라 조작이 필요 없던 챌린지, 목표 지점의 문턱값 계산 실수)를 발견해 고쳤습니다.역학과 에너지
v = v₀ + at, s = v₀t + ½at² — 1초 간격 스트로보 잔상, v–t / s–t 그래프, v² − v₀² = 2as 실시간 검산F = ma — 힘·마찰력·수직항력·무게 화살표, 알짜힘 막대, 정지 마찰 판정p = mv, I = FΔt = Δp — 반발계수 e로 탄성/비탄성 충돌, 운동량 보존 그래프, 충돌 시간에 따른 평균 힘(에어백 원리)E = ½mv² + mgh — 롤러코스터, K/U 스택 막대, 마찰에 의한 에너지 손실R = v₀²sin2θ/g — 비스듬히 던진 공을 가로(등속도)·세로(등가속도)로 나눈 땅·벽 그림자, 같은 시간 간격 자취, 속도 성분 화살표, 45° 최대 사거리와 30°·60° 같은 사거리, 달의 중력물질과 전자기장
V = −N ΔΦ/Δt — 자석 왕복, 자기 선속 화살표 밀도, 검류계 바늘, 유도 전류 애니메이션, 렌츠 법칙 안내파동과 정보통신
v = fλ — 매질 입자는 제자리 진동(빨간 점)임을 강조, 파장·진폭 치수선, 마루 추적 표식, y–t 그래프n₁sinθ₁ = n₂sinθ₂ — 매질 경계에서 꺾이는 빛, 임계각을 넘으면 100% 반사되는 전반사, 광섬유(광통신)·다이아몬드가 반짝이는 이유질량·에너지와 열 (보강)
9. 질량과 에너지 E = mc² — 석탄·핵분열·핵융합·태양·반물질이 질량의 몇 %를 쓰는지 비교. 저울 위 질량 결손과 에너지 크기 눈금(1 kWh ~ 서울 1년 전력)
10. 열기관과 열효율 η = 1 − T_c/T_h — 고온부·저온부·기관의 에너지 흐름을 폭으로 시각화. 카르노 한계선 위는 "불가능 영역", 엔트로피 변화로 제2법칙 점검
11. 에너지띠와 반도체 n ∝ e^(−E_g/2kT) — 띠간격 하나가 도체/반도체/부도체를 가른다. 열로 띠를 넘는 전자, n형·p형 도핑 준위, 띠간격 → LED 색
This is the beginning of the README. Read the rest at the original. Read the full README ↗