Skip to content

Commit 39535cf

Browse files
LimHyungTaeclaude
andcommitted
Refine chapter "About" copy · add Ph.D. to English author title
Korean copy reworded with the maintainer's wording for chapters 1–3, 5, 8–10. English versions enhanced to match the same depth (e.g. expanded Voxelization rationale, RANSAC's full name, ICP framed as local registration). Cluster description no longer mentions the color- stability mechanism. English author title now reads "Hyungtae Lim, Ph.D." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 4520640 commit 39535cf

2 files changed

Lines changed: 15 additions & 15 deletions

File tree

web/src/i18n/locales/en.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export const en = {
3232
},
3333
author: {
3434
toggle: "How's Hyungtae Lim?",
35-
title: "Hyungtae Lim",
35+
title: "Hyungtae Lim, Ph.D.",
3636
role: "Postdoctoral Associate · MIT SPARK Lab",
3737
focus: "Focuses on robust perception, simultaneous localization and mapping (SLAM), and state estimation.",
3838
bio: "Hyungtae Lim is a Postdoctoral Associate at MIT's SPARK Lab, working with Prof. Luca Carlone. He received his Ph.D. in Electrical Engineering from KAIST in 2023, advised by Prof. Hyun Myung. His research focuses on robust perception, state estimation, and lifelong mapping for mobile robots and autonomous vehicles. He is a recipient of the RSS Pioneers 2024 award and the 2022 IEEE RA-L Best Paper Award, an Associate Editor for IEEE RA-L, and the author of widely used open-source LiDAR-based libraries.",
@@ -175,7 +175,7 @@ export const en = {
175175
title: "Transformation",
176176
subtitle: "Apply a 4×4 rigid transform — translate and rotate the cloud.",
177177
about:
178-
"Apply a 4×4 rigid transform T = [R | t; 0 | 1] to every point. The same operation behind point-cloud registration, multi-sensor fusion and world ↔ body frame conversions.",
178+
"Applying a 4×4 rigid transform T = [R | t; 0 | 1] to every point is called transformation; the 4×4 matrix itself is the transformation matrix. It's the foundational operation behind point-cloud registration, multi-sensor fusion, and world ↔ body frame conversions — found in essentially every SLAM pipeline.",
179179
params: [
180180
{ name: "tx / ty / tz", desc: "Translation along each axis (meters).", effect: "" },
181181
{ name: "rx / ry / rz", desc: "Euler rotation in degrees, applied as Rz · Ry · Rx.", effect: "" },
@@ -185,7 +185,7 @@ export const en = {
185185
title: "Voxelization",
186186
subtitle: "Voxel-grid downsampling — drag the leaf size slider.",
187187
about:
188-
"Voxel-grid filtering discretizes 3D space into uniform cubic cells and replaces every cell's points with their centroid. A staple preprocessing step — fast, deterministic, and preserves overall shape.",
188+
"Voxel-grid filtering (a.k.a. voxelization) discretizes 3D space into uniform cubic cells and replaces every cell's points with a single centroid. It's the most common first step in any point cloud pipeline — it strips redundant points so downstream algorithms run far faster while the overall shape stays intact.",
189189
params: [
190190
{
191191
name: "leaf size",
@@ -198,7 +198,7 @@ export const en = {
198198
title: "PassThrough",
199199
subtitle: "Crop the cloud with an axis-aligned interval filter.",
200200
about:
201-
"PassThrough is the simplest spatial filter: keep points whose value along one axis falls inside an interval (or, with negative=true, drop them).",
201+
"PassThrough keeps points whose value along one axis falls inside [min, max] (or, with negative=true, drops them). Common uses: stripping the floor in flat indoor scenes, or trimming away points sitting too high above an autonomous vehicle to matter for driving decisions.",
202202
params: [
203203
{ name: "axis", desc: "Spatial axis the filter runs along.", effect: "" },
204204
{
@@ -231,7 +231,7 @@ export const en = {
231231
title: "Radius Search",
232232
subtitle: "All neighbors of a query point within a given radius (KdTree).",
233233
about:
234-
"KdTree-accelerated query: return every point within a fixed radius of a query position. Click any point in the viewer to set the query.",
234+
"Use a KdTree to return every point within a fixed radius of a query position. Click any point in the viewer to move the query there.",
235235
params: [
236236
{
237237
name: "query x / y / z",
@@ -281,7 +281,7 @@ export const en = {
281281
title: "Iterative Closest Point",
282282
subtitle: "Step through correspondences and pose updates one iteration at a time.",
283283
about:
284-
"ICP alternates two steps: (1) for each src point find the nearest tgt point, (2) solve the rigid (R, t) that best aligns those pairs (Procrustes / SVD). Repeat until convergence.",
284+
"Iterative Closest Point (ICP) is a local registration method that, on each iteration, treats the nearest tgt point of every src point as a valid correspondence and optimizes from there. The two-step loop: (1) for each src point find the nearest tgt point, (2) solve the rigid (R, t) that best aligns those pairs (Procrustes / SVD). Repeat until the pose update drops below a threshold.",
285285
params: [
286286
{
287287
name: "max correspondence distance",
@@ -296,7 +296,7 @@ export const en = {
296296
title: "RANSAC Plane Segmentation",
297297
subtitle: "Find the dominant plane (e.g. ground) and split inliers / outliers.",
298298
about:
299-
"RANSAC samples 3 random points to fit a plane, scores it by the number of inliers (within `threshold`), and keeps the best across many trials. The classic ground / wall / table extractor.",
299+
"RANSAC (Random Sample Consensus) repeatedly picks 3 random points to fit a plane, counts how many other points lie within `threshold` of that plane (inliers), and keeps the plane with the most inliers. The classic, robust extractor for ground, walls, and tabletops.",
300300
params: [
301301
{
302302
name: "distance threshold",
@@ -314,7 +314,7 @@ export const en = {
314314
title: "Euclidean Clustering",
315315
subtitle: "Connected-component grouping by spatial proximity.",
316316
about:
317-
"Group points by spatial proximity: BFS that connects any two points within `tolerance`. Cluster colors stay stable across slider changes by matching centroids to the previous frame.",
317+
"Grouping spatially adjacent points into a single object is called clustering. Here, a BFS connects any two points within `tolerance` and assigns them to the same cluster.",
318318
params: [
319319
{
320320
name: "tolerance",

web/src/i18n/locales/ko.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ export const ko: LocaleDict = {
177177
title: "Transformation",
178178
subtitle: "4×4 강체 변환 — 평행이동과 회전을 슬라이더로 직접 적용.",
179179
about:
180-
"모든 점에 4×4 강체 변환 T = [R | t; 0 | 1]을 적용. 정합·센서 fusion·world ↔ body 좌표계 변환 등 거의 모든 SLAM 파이프라인의 토대가 되는 연산.",
180+
"모든 점에 4×4 강체 변환 T = [R | t; 0 | 1]을 적용하는 연산을 transformation이라고 부르며, 이 4×4 행렬을 transformation matrix라고 부릅니다. 정합 · 센서 fusion · world ↔ body 좌표계 변환 등 거의 모든 SLAM 파이프라인의 토대가 되는 기본 연산입니다.",
181181
params: [
182182
{ name: "tx / ty / tz", desc: "각 축 방향 평행이동 (미터).", effect: "" },
183183
{ name: "rx / ry / rz", desc: "Euler 회전각 (도). Rz · Ry · Rx 순으로 합성.", effect: "" },
@@ -187,7 +187,7 @@ export const ko: LocaleDict = {
187187
title: "Voxelization",
188188
subtitle: "Voxel grid 다운샘플링 — leaf size를 슬라이더로.",
189189
about:
190-
"Voxel-grid 필터는 3차원 공간을 균일한 정육면체 셀로 나누고, 각 셀의 점들을 그 centroid 한 점으로 대체합니다. 빠르고 결정적이며 전체 형태를 잘 보존하는 가장 기본적인 전처리.",
190+
"Voxel-grid 필터(voxelization)는 3차원 공간을 균일한 정육면체 셀로 나누고, 각 셀에 들어가는 점들을 그 centroid 한 점으로 대체합니다. 거의 모든 point cloud 처리 파이프라인의 첫 전처리 단계로 사용되며, redundant한 점 수를 줄여 뒤이은 알고리즘의 연산 효율을 크게 높여줍니다.",
191191
params: [
192192
{
193193
name: "leaf size",
@@ -200,7 +200,7 @@ export const ko: LocaleDict = {
200200
title: "PassThrough",
201201
subtitle: "축별 박스 필터로 cloud 잘라내기.",
202202
about:
203-
"PassThrough는 가장 간단한 공간 필터: 한 축의 좌표가 [min, max] 구간 안에 들어가는 점만 남기거나(혹은 negative 옵션으로) 빼냅니다.",
203+
"PassThrough 필터는 한 축의 좌표가 [min, max] 구간 안에 들어가는 점만 남기거나(또는 negative 옵션으로) 빼냅니다. 평평한 실내 환경에서 바닥을 빠르게 제거하거나, 야외 주행에서 도로 판단과 무관한 높이의 점들을 사전에 잘라낼 때 자주 사용됩니다.",
204204
params: [
205205
{ name: "axis", desc: "필터를 적용할 공간 축.", effect: "" },
206206
{ name: "min / max", desc: "구간 경계 (미터).", effect: "넓을수록 더 많이 남음." },
@@ -229,7 +229,7 @@ export const ko: LocaleDict = {
229229
title: "Radius Search",
230230
subtitle: "쿼리 점의 반경 내 이웃 (KdTree).",
231231
about:
232-
"KdTree로 가속된 쿼리: 주어진 쿼리 점 주변 반경 내의 모든 이웃을 반환. 뷰어의 점을 클릭하면 쿼리 점이 그 위치로 옮겨집니다.",
232+
"KdTree를 활용해 주어진 쿼리(query) 점 주변 반경 내의 모든 이웃을 반환합니다. 뷰어의 점을 클릭하면 쿼리 점이 그 위치로 옮겨집니다.",
233233
params: [
234234
{
235235
name: "query x / y / z",
@@ -275,7 +275,7 @@ export const ko: LocaleDict = {
275275
title: "Iterative Closest Point",
276276
subtitle: "Step / Play로 매 iteration의 짝 찾기 → pose update를 직접 관찰.",
277277
about:
278-
"ICP는 두 단계를 반복: (1) 각 src 점의 nearest tgt 점 찾기, (2) 매칭된 pair들에 가장 잘 맞는 강체 (R, t)를 SVD로 추정 (Procrustes). 변화량이 임계값 아래로 떨어질 때까지 반복.",
278+
"Iterative Closest Point(ICP)는 매 iteration마다 가장 인접한 점을 유효한 대응(correspondence)으로 보고 최적화하는 local registration 기법입니다. (1) 각 src 점의 nearest tgt 점 찾기, (2) 매칭된 pair들에 가장 잘 맞는 강체 (R, t)를 SVD로 추정(Procrustes)하는 두 단계로 구성되며, pose 변화량이 임계값 아래로 떨어질 때까지 반복합니다.",
279279
params: [
280280
{
281281
name: "max correspondence distance",
@@ -290,7 +290,7 @@ export const ko: LocaleDict = {
290290
title: "RANSAC Plane Segmentation",
291291
subtitle: "주된 plane(예: 지면)을 찾아 inlier/outlier로 분리.",
292292
about:
293-
"RANSAC: 무작위로 3점을 뽑아 plane을 만들고, 그 plane에서 threshold 이내의 점을 inlier로 셉니다. 가장 많은 inlier를 가진 plane을 채택. 지면 · 벽 · 테이블 추출의 고전.",
293+
"RANSAC(Random Sample Consensus)을 활용해 무작위로 3점을 뽑아 plane을 만들고, 그 plane에서 threshold 이내에 들어오는 점을 inlier로 셉니다. 가장 많은 inlier를 갖는 plane을 채택하며, 지면 · 벽 · 테이블 추출에 널리 쓰이는 고전적인 방법입니다.",
294294
params: [
295295
{
296296
name: "distance threshold",
@@ -308,7 +308,7 @@ export const ko: LocaleDict = {
308308
title: "Euclidean Clustering",
309309
subtitle: "공간 인접성으로 연결된 점들끼리 묶기.",
310310
about:
311-
"공간 인접성으로 점을 묶기: tolerance 이내로 연결된 점들끼리 같은 cluster. 슬라이더 변경에도 cluster 색은 centroid 매칭으로 유지됩니다.",
311+
"공간 상에 인접한 점들을 하나의 객체로 묶는 작업을 clustering이라고 부릅니다. 여기서는 BFS로 tolerance 이내로 연결된 점들을 같은 cluster로 묶습니다.",
312312
params: [
313313
{
314314
name: "tolerance",

0 commit comments

Comments
 (0)