Explore every episode of the podcast 남주의 디자인 컴퓨테이션 / NJ's Computation for Design
| Title | Pub. Date | Duration | |
|---|---|---|---|
| Class 18 A: 수업 요약 - Summary Session - Data in Design | 28 Jun 2025 | 00:07:46 | |
한 학기 동안 진행된 디자인 관련 수업의 최종 복습 세션입니다. 제공된 자료들은 "데이터 인 디자인"이라는 과정을 통해 컴퓨테이션 디자인 방법론을 활용하여 디자인 프로세스를 코드화하는 방법을 설명합니다. 본 수업은 디자인 도메인 지식과 컴퓨터 공학 및 수치 해석 이해를 결합하여 디자인 사이언스 엔지니어링 관점을 함양하는 것을 목표로 합니다. 학생들은 데이터 형식, 프로세스 코드화, 다양한 디자인 알고리즘 및 시각화 기법을 학습하며, 최종 프로젝트를 통해 실질적인 컴퓨테이셔널 사고 적용 능력을 평가받습니다. 이 과정은 약 1900개의 슬라이드, 100개 이상의 모듈, 40시간의 강의 등 풍부한 교육 자료를 제공하며, 전문가들의 최종 리뷰와 피드백으로 마무리됩니다. 궁극적으로 디자인 단계에서 데이터를 명시적 또는 암묵적으로 활용하는 방법에 중점을 둡니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 17 B: Workshop - 디자인 연구와 프로젝트를 위한 CAD 도구 개발 / CAD System Application & Development for Design Research and Project | 25 Jun 2025 | 00:07:03 | |
해당 강연은 데이터 디자인 및 컴퓨테이션 디자인 분야에서 소프트웨어 개발과 관련된 중요한 개념들을 다룹니다. 강연자는 다양한 프로그래밍 언어와 개발 환경을 소개하며, 2D, 3D 그래픽스 및 매핑을 구현하는 방법들을 설명합니다. 특히, Unity, Three.js, Babylon.js와 같은 도구들을 활용한 렌더링 엔진과 파이프라인 구축에 초점을 맞춥니다. 또한, 컴포넌트 중심 프로그래밍 및 이벤트 처리 방식과 같은 소프트웨어 설계 원칙들을 강조하며, Rhino/Grasshopper 플러그인 개발과 같은 디자인 소프트웨어 확장의 가능성을 제시합니다. 궁극적으로 이 강연은 학생들이 컴퓨테이션 디자이너로서 지속 가능하고 경쟁력 있는 기술 활용 능력을 갖출 수 있도록 돕는 데 목적이 있습니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 17 A: Lecture - 디자인 연구와 프로젝트를 위한 CAD 도구 개발 / CAD System Application & Development for Design Research and Project | 20 Jun 2025 | 00:07:32 | |
제공된 자료는 CAD 소프트웨어 개발의 핵심 원리와 디자인 혁신에 대한 포괄적인 강의 내용을 담고 있습니다. 강의는 알고리즘과 데이터 처리를 넘어 디자인 프로세스를 실행 가능한 소프트웨어 시스템으로 패키징하는 것이 21세기 소프트웨어 혁명의 본질임을 강조합니다. 또한, 전통적인 디자인 개발과 달리 소프트웨어 개발이 점진적이고 체계적인 접근 방식을 요구하며, MVC(모델-뷰-컨트롤러)와 같은 디자인 패턴 및 객체 지향 프로그래밍(OOP)을 활용한 계층적 구조화의 중요성을 역설합니다. 최종적으로는 사용자 인터페이스(UI)와 사용자 경험(UX)의 중요성, 그리고 데이터, 관계, 규칙의 시스템으로서의 소프트웨어에 대한 이해를 바탕으로 문제 해결 능력과 꾸준한 노력을 통해 가치 있는 디자이너로 성장할 것을 독려합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 16 A: Lecture - 디자인 시각화 / Design visualization | 18 Jun 2025 | 00:06:17 | |
강의자는 디자인 시각화의 중요성과 다양한 기법을 폭넓게 설명합니다. 여기에는 3D 모델링 및 렌더링, 애니메이션, 그리고 모션 트래킹과 같은 포스트 프로덕션 기술이 포함됩니다. 또한, 카메라 앵글과 구도가 디자인 의도를 전달하는 데 어떻게 사용될 수 있는지 논하고, 데이터 시각화 및 인터랙티브 비주얼라이제이션 도구를 언급하며 분야의 깊이와 넓이를 강조합니다. 강의자는 자신의 건축 및 시각화 프로젝트 경험을 예시로 들어 설명하며, 시각화의 다양한 응용 가능성을 제시합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 15 A: Lecture - 디지털 매핑 & 시각화를 위한 GIS / Digital Mapping & GIS for visualization | 16 Jun 2025 | 00:06:38 | |
이 수업은 디지털 매핑과 GIS 시각화의 핵심 내용을 다룹니다. 강의 발췌록은 매핑이 단순히 정보를 나타내는 것을 넘어 인사이트를 추출하는 과정임을 강조하며, 다양한 데이터 유형과 구조(GeoJSON, Shapefile, 벡터, 래스터)를 설명합니다. 또한, 지오 프로세싱 작업(예: 버퍼, 디졸브)과 지도 일반화(예: 단순화, 클러스터링) 기법을 소개하고, 지도 투영의 중요성과 왜곡에 대해 논합니다. 요약 문서는 이러한 강의 내용을 구조화하여, 매핑을 통해 변화를 촉구하고 정보를 기록 및 전달하는 도구로 활용하는 관점을 제시하며, 실무에 유용한 다양한 도구와 라이브러리 및 상호 작용적 매핑 기법(애니메이션, 스토리텔링)을 언급합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 14 A: Lecture - 데이터 시각화 / Data visualization | 13 Jun 2025 | 00:07:48 | |
이 강의는 데이터 시각화에 대한 강연 내용을 담고 있습니다. 이 강연은 특히 디자이너 관점에서 데이터를 시각적으로 표현하는 것의 중요성과 다양한 시각화 기법 및 원리를 다룹니다. 좋은 시각화의 특징과 나쁜 시각화의 예시를 통해 정보의 무결성과 효율적인 정보 전달 방법을 강조하며, 시각 정보 처리 방식과 관련된 인지 과학적 측면도 함께 설명합니다. 또한, 데이터 시각화 과정에서의 상호작용(인터랙션)과 데이터 타입에 따른 적절한 시각화 도구 선택에 대해서도 언급하고 있습니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 13 A: Lecture - 다이내믹스 & 에이전트 시스템 / Dynamics & Agent System | 11 Jun 2025 | 00:06:37 | |
제공된 강의 발췌문은 디자인 분야에서의 다이나믹스 및 에이전트 시스템 개념을 소개합니다. 강의는 시간의 흐름과 요소 간 상호작용을 통해 변화하는 시스템을 구축하는 방법을 설명하며, 스프링 모델이나 파티클 시스템과 같은 동적 시뮬레이션 기법을 예시로 제시합니다. 또한, 각각 독립적인 행동 규칙을 가진 에이전트들이 환경과 상호작용하며 집단적인 결과를 만들어내는 에이전트 시스템, 특히 플로킹 알고리즘을 다룹니다. 마지막으로, 이러한 시스템을 구현하기 위해 객체 지향 프로그래밍(OOP)의 중요성을 강조하며, 설계 문제를 코드로 변환하고 다양한 매개변수를 조정하여 원하는 결과를 얻는 과정의 핵심을 설명합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 12 B: Lecture - 디자인 알고리즘과 최적화 / Design Algorithm & Optimization | 08 Jun 2025 | 00:06:30 | |
강의 발췌록은 디자인 문제 해결에 알고리즘적 사고를 적용하는 방법을 다룹니다. 강사는 하향식 접근 방식을 강조하며, 디자인 문제에서 시작하여 해결에 필요한 알고리즘을 식별하는 과정을 설명합니다. 텍스트 색상 대비 개선이나 CAD 스내핑과 같은 실제 디자인 문제 사례를 통해 알고리즘 적용을 보여줍니다. 또한, 입력에 따라 결과가 일관적인 결정론적 알고리즘과 무작위성을 포함하는 확률적 알고리즘의 차이를 설명하고, 디자인 최적화에서 목표 함수와 평가 지표의 중요성을 강조합니다. 궁극적으로 강의는 디자인 프로세스를 정량화하고 알고리즘화하는 컴퓨팅적 사고방식을 장려하며, 기본 데이터 구조와 알고리즘이 복잡한 문제를 해결하는 데 어떻게 활용되는지 보여줍니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 12 A: Lecture - 디자인 알고리즘과 최적화 / Design Algorithm & Optimization | 06 Jun 2025 | 00:07:37 | |
수업에서는 디자인 알고리즘과 옵티마이제이션이 디자인 프로세스와 분리될 수 없는 본질적인 요소이며, 디자이너의 의도와 방향성을 구체화하는 도구로 작용함을 강조합니다. 디자인과 엔지니어링, 알고리즘과 최적화는 모두 목표를 달성하기 위한 일련의 단계(알고리즘)를 설정하고 이를 효율화하는 과정이라는 점에서 동일하게 이해될 수 있습니다. 효과적인 컴퓨테이셔널 디자인을 위해서는 엔지니어링적 사고방식, 특히 소프트웨어 엔지니어의 접근 방식을 이해하는 것이 중요하며, 컴퓨테이셔널 씽킹이 핵심 능력으로 제시됩니다. 또한 결정론적/확률적, 완전 탐색/휴리스틱과 같은 기본적인 알고리즘 유형과 선형/비선형 데이터 구조에 대한 이해가 디자인 문제 해결에 필수적임을 다양한 사례를 통해 설명합니다. 궁극적으로 자료는 디자이너가 데이터와 컴퓨테이션을 활용하여 디자인 역량을 강화하기 위해 알고리즘적 사고와 기본 개념을 습득하는 것이 중요하다고 역설합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 11 B: Lecture - 인공지능 활용 디자인 / AI-aided Design | 04 Jun 2025 | 00:06:48 | |
디자인 분야에서 데이터를 활용한 인공지능(AI)의 적용에 대해 논합니다. 특히, 도시 분석, 데이터 보간, 이미지 분석 등을 위한 분석적 AI 모델의 사용 사례와 함께, 새로운 콘텐츠를 생성하는 생성적 AI 모델의 다양한 유형과 활용 방법을 소개합니다. 또한, 데이터를 해석하고 활용할 때 흔히 발생하는 통계적 오류를 피하고 도메인 지식을 적용하는 것의 중요성을 강조하며, 이러한 AI 도구와 모델에 접근할 수 있는 다양한 실용적인 자원들을 제시합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 11 A: Lecture - 인공지능 활용 디자인 / AI-aided Design | 03 Jun 2025 | 00:06:11 | |
디자인 맥락에서 데이터 처리 도구로서의 AI와 머신 러닝을 소개합니다. 강의 발췌록은 데이터 유형, 시각화의 중요성, 전처리 기술(결측값 처리, 이상치 제거, 스케일링), 차원 축소(PCA, t-SNE) 등 실제 구현에 필요한 핵심 개념들을 예시와 함께 설명합니다. 또한, 회귀 및 분류 문제, 다양한 신경망 아키텍처, 데이터 분할의 중요성, 앙상블 방법을 다루며 모델 일반화와 과적합 방지 필요성을 강조합니다. 브리핑 문서는 이러한 강의의 주요 내용을 요약하여 데이터 준비 및 품질의 영향력을 재차 강조하고, "가비지 인, 가비지 아웃" 원칙과 과적합 문제를 실제 예시(스마트 드로잉 앱 개발 시 발생한 문제점)를 통해 설명합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 10 D: Lecture - 디자이너를 위한 인공지능 / AI for Designers | 02 Jun 2025 | 00:05:45 | |
강의 자료는 데이터 과학 및 머신러닝 입문자를 위한 내용으로, 핵심 라이브러리와 기본 개념을 다룹니다. TensorFlow, PyTorch, 사이킷런 등 다양한 머신러닝 프레임워크를 소개하며, 특히 데이터 처리를 위한 필수 도구인 NumPy와 Pandas의 중요성을 강조합니다. 기본적인 데이터 타입, 배열 처리, 데이터 조작 및 분석 방법 등을 설명하고, 실습을 통해 기계 학습 문제를 이해하도록 돕습니다. 학습 자료와 리소스를 안내하며 꾸준한 연습의 필요성을 역설합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 10 C: Lecture - 디자이너를 위한 인공지능 / AI for Designers | 01 Jun 2025 | 00:08:06 | |
본 영상 강의는 인공지능(AI), 특히 머신 러닝(Machine Learning)의 기본 개념과 활용 방안에 대해 설명합니다. AI를 구현하는 방법론으로서 머신 러닝을 소개하며, 데이터를 기반으로 패턴을 찾고 예측하거나 분류하는 과정을 중점적으로 다룹니다. 강의는 **데이터 준비 및 전처리(missing values, outliers, scaling, normalization 등)**의 중요성을 강조하고, 선형 회귀(linear regression), 분류(classification) 등의 문제 해결 방법과 **모델 평가 지표(R-squared 등)**에 대해 설명합니다. 또한, 차원의 저주(curse of dimensionality), 과적합(overfitting) 및 과소적합(underfitting) 문제, 그리고 인공 신경망(Artificial Neural Networks, ANN), 합성곱 신경망(Convolutional Neural Networks, CNN) 등의 **다양한 모델과 학습 방법(supervised, unsupervised, reinforcement learning)**을 소개합니다. 궁극적으로 문제 해결의 관점에서 적절한 데이터와 모델을 선택하는 것의 중요성을 역설합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 10 B: Lecture - 디자이너를 위한 인공지능 / AI for Designers | 30 May 2025 | 00:06:28 | |
본 강의 발췌록은 디자이너를 위한 AI를 주제로, 특히 생성 AI에 대한 피상적인 이해에 대한 강사의 우려를 중심으로 전개됩니다. 강사는 디자이너들이 데이터, 알고리즘, 그리고 기본적인 기계 학습 모델에 대한 근본적인 이해 없이 생성 AI의 신기함에만 집중한다고 지적하며, 이는 결국 계산적 접근 방식의 효과적인 통합을 방해한다고 강조합니다. 강의는 분석 AI와 생성 AI의 차이점, 환각 현상과 그 원인(보간법), 데이터와 편향의 중요성, 그리고 보간법과 외삽법의 차이 등 핵심적인 AI 개념을 설명하며, 디자이너들이 도구 자체보다는 해결하려는 문제를 먼저 이해하고, AI 기술을 비판적으로 접근해야 함을 역설합니다. 또한, AI의 책임, 투명성, 공정성과 같은 윤리적 고려 사항의 중요성을 강조하며, 현재의 AI는 기존 프로세스를 강화하고 효율성을 높이는 데이터 처리 도구로서 이해해야 한다고 결론짓습니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 10 A: Lecture - 디자이너를 위한 인공지능 / AI for Designers | 29 May 2025 | 00:05:39 | |
강의 발췌록은 디자이너를 위한 인공지능(AI)을 주제로 하여, AI에 대한 일반적인 오해를 바로잡고, AI를 가능하게 하는 기술적 기반을 설명합니다. 특히 AI를 데이터 처리의 관점에서 접근하며, 전통적인 프로그래밍 방식(Software 1.0)과 데이터를 기반으로 모델을 구축하는 머신러닝 방식(Software 2.0)의 근본적인 차이점을 강조합니다. 강연자는 디자이너들이 AI를 단순한 유행이나 상상력에 의존하기보다는 기술적인 이해를 바탕으로 접근해야 함을 역설하고, AI가 마케팅 용어에 그치지 않고 실질적인 문제 해결 도구가 될 수 있음을 시사합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 09 B: Workshop - 래스터: 픽셀 & 복셀 데이터 구조 / Raster: Pixel & Voxel map Data Structure | 28 May 2025 | 00:06:17 | |
소스 자료는 픽셀과 복셀 데이터 구조를 활용한 컴퓨테이셔널 디자인 워크숍의 내용을 담고 있습니다. 이 자료는 연결성 정의와 데이터 스무딩이 픽셀 및 복셀 데이터 구조를 다루는 데 있어 가장 중요함을 강조하며, 주변 픽셀/복셀 간의 정보 전파 및 영향을 설명합니다. 또한, 이러한 데이터 구조를 활용하여 지형 생성, 데이터 시각화, 이미지 처리, 그리고 환경 분석 등 다양한 디자인 및 분석 작업을 수행하는 방법과 함께 기본적인 프로그래밍 개념 및 객체 지향 프로그래밍의 중요성을 역설합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 09 A: Lecture - 래스터: 픽셀 & 복셀 데이터 구조 / Raster: Pixel & Voxel map Data Structure | 27 May 2025 | 00:06:38 | |
강의 발췌록은 픽셀과 복셀이라는 기본적인 데이터 구조를 활용하여 공간 정보를 다루는 계산 설계의 개념을 설명합니다. 이 자료들은 이러한 구조가 그래프와 같은 기존의 데이터 표현 방식과 어떻게 관련이 있으면서도 연속적인 공간 데이터를 표현하고 조작하는 데 특히 적합한지를 강조합니다. 강의는 이미지 처리, 컬러 컴퓨테이션, 공간 분석 및 시뮬레이션에 대한 응용 사례를 제시하며, 복잡한 현실 데이터를 디지털 형식으로 추상화하고 필터를 적용하는 기법들을 소개합니다. 결국, 픽셀과 복셀 데이터 구조는 데이터 요소 간의 연결성과 관계를 정의하는 계산적 사고의 중요한 도구로 제시됩니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 08 B: Workshop - 그래프 데이터 구조 / Graph & Network | 25 May 2025 | 00:07:56 | |
제공된 영상 발췌록은 그래프 이론과 계산 디자인 응용을 소개하는 워크숍 내용을 다룹니다. 파이썬 및 그래스호퍼 환경에서 노드와 엣지로 구성된 그래프 구조를 구축하고 최단 경로 탐색, 사이클 감지, 가중치 그래프 분석 등 다양한 알고리즘을 구현 및 시각화하는 방법을 시연합니다. 또한, 객체 지향 프로그래밍을 통한 추상화와 코드 모듈화의 중요성을 강조하며, 라이브러리 활용과 직접 구현의 장단점을 비교하고 공간 분석 문제에 그래프 이론을 적용하는 예시를 제시합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 08 A: Lecture - 그래프 데이터 구조 / Graph & Network | 25 May 2025 | 00:06:40 | |
이 강좌는 그래프 데이터 구조에 대한 포괄적인 개요를 제공합니다. 특히 강사는 그래프의 기본 구성 요소인 노드와 엣지를 설명하고, 그래프가 도시 네트워크, 소셜 구조, 심지어 AI 알고리즘까지 포함한 다양한 실제 시스템을 모델링하는 데 어떻게 사용될 수 있는지 논의합니다. 또한, 방향 그래프와 가중치 그래프 등 다양한 그래프 유형과 깊이 우선 탐색(DFS) 및 **너비 우선 탐색(BFS)**과 같은 핵심 그래프 알고리즘을 소개합니다. 강좌는 그래프를 활용한 최단 경로 찾기, 최소 신장 트리 구성, 네트워크 분석 등 실용적인 적용 사례와 함께, 이러한 개념을 코딩하고 시각화하는 방법도 다룹니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 07 B: Workshop - 이산화: 매쉬 / Discretization & Mesh | 24 May 2025 | 00:08:27 | |
본 강좌 자료들은 디자인 분야에서 활용되는 컴퓨테이셔널 메시(Computational Mesh)의 기초를 다룹니다. 특히, 벌텍스(Vertex), 페이스(Face), 커넥티비티(Connectivity)와 같은 메시의 핵심 구성 요소를 이해하고, 1차원 및 2차원 데이터 구조를 활용하여 점(Point) 데이터를 표현하는 방법을 설명합니다. Rhino 및 Grasshopper 환경에서 메시를 생성, 조작, 분석하는 다양한 기법을 실습하며, 메시 데이터의 직렬화(Serialization) 개념과 일반적인 3D 파일 포맷에 대해서도 소개합니다. 궁극적으로, 데이터를 기반으로 디자인 문제를 접근하고 평가하기 위한 컴퓨테이셔널 사고방식의 중요성을 강조합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 07 A: Lecture - 이산화: 매쉬 / Discretization & Mesh | 23 May 2025 | 00:08:03 | |
강의 자료 발췌문은 주로 공간 정보를 다루는 컴퓨테이셔널 디자인의 핵심 개념을 설명합니다. 강사는 프로그래밍의 중요성과 함께, 공간을 표현하는 기본 데이터 구조인 포인트, 라인, 커브, 서피스를 거쳐 매쉬를 상세히 논합니다. 특히, 현실 세계의 무한한 정보를 컴퓨터에서 유한하게 다루기 위한 **이산화(discretization)**의 개념을 강조하며, 매쉬가 보편적으로 사용되는 이유와 데이터 구조의 중요성을 설명합니다. 또한, 효율적인 정보 처리를 위한 **공간 분할 기법(spatial partitioning)**과 실제 응용 사례를 언급하며, 학생들에게 지속적인 코딩 연습과 질문을 통해 역량을 키울 것을 당부합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 06 B: Workshop - 객체지향 & 디자인 데이터 구조 / OOP and Design Data Structure | 22 May 2025 | 00:07:10 | |
본 워크숍은 객체 지향 프로그래밍(OOP) 및 데이터 구조의 기본 원리를 소개하고, 디자인 및 건축 분야에서 데이터를 효율적으로 조직하고 관리하는 방법을 탐구합니다. 클래스와 객체의 개념을 통해 데이터와 함수를 결합하는 OOP의 핵심을 설명하고, 상속, 다형성, 캡슐화 등 주요 개념을 실제 예시로 보여줍니다. 또한 디자인 패턴을 소개하고, 지오메트리 데이터를 구조화하는 방법을 제시하며, Grasshopper 환경에서의 데이터 지속성 문제 해결 방안을 다룹니다. 다양한 실습과 과제를 통해 OOP 개념을 활용하여 현실 세계의 사물을 추상화하는 훈련의 중요성을 강조합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 06 A: Lecture - 객체지향 & 디자인 데이터 구조 / OOP and Design Data Structure | 20 May 2025 | 00:06:34 | |
해당 수업은 프로그래밍 언어와 데이터 구조에 대한 강의 내용을 담고 있으며, 특히 객체 지향 프로그래밍(OOP) 패러다임을 중점적으로 설명합니다. 강사는 프로그래밍을 언어에 비유하며 꾸준한 노출의 중요성을 강조하고, OOP가 기존 절차 지향 프로그래밍 방식과 어떻게 다른지, 그리고 복잡한 데이터를 구조화하고 관리하는 데 왜 유용한지를 예시를 통해 보여줍니다. 또한, 클래스와 객체의 차이, 상속 개념, 그리고 라이노 커먼의 객체 구조를 예로 들어 OOP의 실제 적용 사례를 제시하며, 이러한 사고 방식이 디자인 프로젝트를 관리하고 알고리즘을 구성하는 데 도움이 된다고 설명합니다. 마지막으로 디자인 패턴을 간략하게 소개하며 OOP 구현을 위한 고급 기법에 대해서도 언급합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 05 B: Workshop - 벡터: 서피스 & 비랩 / Vector: Surface & Brep | 20 May 2025 | 00:07:30 | |
강의 영상과 보충 자료는 라이노와 그래스호퍼 환경에서 파이썬과 라이노스크립트 문법을 사용하여 벡터, 서피스, 브렙(Brep)과 같은 기하 데이터를 프로그래밍 방식으로 다루는 기본 개념을 설명합니다. 라이노스크립트 문법과 라이노커먼 API의 차이를 강조하며, 중첩 루프를 활용한 서피스 생성, 곡면의 특성 분석(면적, 무게중심, 곡률 등), 벡터의 개념 및 활용, 불리언 연산 등을 다룹니다. 또한, API 문서 활용 방법과 기하 데이터를 분해하는 능력의 중요성을 역설하며, 이러한 원리가 특정 플랫폼에 국한되지 않고 다른 환경에도 적용 가능함을 보여줍니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 05 A: Lecture - 벡터: 서피스 & 비랩 / Vector: Surface & Brep | 19 May 2025 | 00:07:04 | |
표면(Surface), Brep(Boundary Representation), 그리고 **메시(Mesh)**와 관련된 데이터 구조와 개념을 설명하는 강의 내용과 요약 문서입니다. 표면은 커브에서 확장된 2차원 형상으로 점 그리드, 아이소커브, 법선 벡터, 곡률 등의 데이터가 추출 가능하며, 파라메트릭 또는 암시적 방식으로 표현됩니다. 복잡한 형태 표현의 한계를 가진 NURBS 표면을 보완하기 위해 여러 표면을 조합하는 Brep와 버텍스와 페이스로 구성된 메시가 활용되며, 이들 데이터 구조의 계층적 이해는 디자인 소프트웨어 활용과 형상 제어에 필수적입니다. 면적 계산, 점 투영, 곡률 이해(가우스 곡률, 평균 곡률), 표면 매핑, 측지선 등 다양한 표면 관련 연산과 개념이 다루어집니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 04 B: Workshop - 벡터: 라인(폴리라인) & 커브 / Vector: Line & Polyline & Curve | 18 May 2025 | 00:08:11 | |
강의 발췌본은 Rhino 및 Grasshopper 환경에서 벡터, 선, 폴리라인, 곡선과 같은 기하학적 요소를 생성하고 조작하는 컴퓨테이셔널 디자인의 기초를 다룹니다. 강의는 벡터 연산의 중요성을 강조하며, 이를 통해 기본적인 기하학적 형태를 구성하고 변형하는 방법을 설명합니다. 또한 RhinoScriptSyntax 및 RhinoCommon API를 사용하여 Python 스크립트를 통해 이러한 작업을 수행하는 실용적인 방법과 함께, 곡선의 속성 및 미분 기하학의 기초 개념을 소개하여 더욱 복잡한 형태를 이해하고 제어하는 방법을 제시합니다. 궁극적으로 API에 의존하는 것을 넘어 기하학의 수학적, 알고리즘적 원리를 이해하고 실제 코딩 연습을 통해 컴퓨테이셔널 사고 능력을 키우는 것의 중요성을 강조합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 04 A: Lecture - 벡터: 라인(폴리라인) & 커브 / Vector: Line & Polyline & Curve | 17 May 2025 | 00:06:20 | |
본 자료들은 컴퓨테이셔널 디자인의 핵심 개념을 다루며, 특히 디자인 데이터의 기반이 되는 프로그래밍과 벡터의 중요성을 강조합니다. 벡터는 곡선, 표면, 메시와 같은 기하학적 요소의 조작에 필수적이며, 객체 지향 프로그래밍은 이러한 디자인 데이터를 구조화하고 관리하는 데 유용합니다. 또한, 곡선은 점들의 관계를 해석하는 객체로, 다양한 데이터(시작점, 끝점, 탄젠트, 곡률 등)를 포함하며 매개변수적 표현이 디자인 소프트웨어에서 주로 사용됩니다. 마지막으로, 다양한 유형의 곡선과 그 응용 분야, 그리고 컴퓨테이셔널 디자인 프로젝트를 분석하는 과제를 통해 실질적인 학습을 장려합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 03 B: Workshop - 벡터 & 포인트 데이터 구조 / Vector & Point Data Structure | 16 May 2025 | 00:07:23 | |
강의 영상에서 강사는 벡터와 포인트 데이터 구조에 대해 설명하며, 다양한 프로그래밍 환경(프로세싱, HTML 캔버스, 오픈GL, 맷플롯립 등) 및 Rhino/Grasshopper에서 이러한 개념을 구현하는 방법을 시연했습니다. 학생들은 GitHub 저장소에서 예제 코드를 활용하여 벡터 연산 및 시각화를 연습하고, 질문 답변 자료를 참고할 수 있습니다. 강사는 벡터 덧셈, 뺄셈, 스케일링, 내적, 외적 등의 기본적인 연산을 코드로 구현하는 과정을 보여주고, 포인트 그리드, 어트랙션, 로테이션 등 더 복잡한 예제를 통해 응용 방법을 제시했습니다. 또한, 매트릭스, 플레인, 좌표 시스템과 같은 고급 개념을 소개하며, 디자인 데이터를 다루는 데 있어 이러한 지오메트리 개념의 중요성을 강조했습니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 03 A: Lecture - 벡터 & 포인트 데이터 구조 / Vector & Point Data Structure | 15 May 2025 | 00:09:16 | |
강의 자료는 디자인에서 벡터 데이터와 포인트 데이터라는 두 가지 기본 데이터 유형과 이들이 계산 디자인에서 어떻게 사용되는지 설명합니다. 핵심 아이디어는 같은 숫자가 좌표계의 맥락에 따라 점(위치) 또는 벡터(방향 및 크기)로 해석될 수 있다는 것입니다. 또한 거리 측정을 위한 다양한 방법과 길이, 스케일링, 덧셈, 뺄셈, 내적, 외적과 같은 필수적인 벡터 연산에 대해서도 다룹니다. 궁극적으로 이러한 개념들은 포인트 그리드의 개념과 변환 및 평면의 사용과 연결되며, 대부분의 기하학적 문제를 해결하기 위해 벡터 개념을 이해하는 것이 중요함을 강조합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 02 B: Workshop - 디자이너를 위한 프로그래밍 & 데이터 구조 / Programming & Data Processing | 14 May 2025 | 00:07:59 | |
소스들은 2025년 데이터 인 디자인 수업의 프로그래밍 및 데이터 처리 워크숍 내용을 담고 있습니다. 강사는 학생들이 디자인 배경을 가지고 있음을 고려하여 파이썬의 기본 개념과 Grasshopper 및 Rhino와의 통합을 중심으로 설명합니다. 주요 내용은 개발 환경 설정(웹사이트, GitHub, Jupyter Notebook, VS Code, Grasshopper, RhinoScriptSyntax) 소개, 파이썬의 변수, 자료형, 연산자, 조건문, 반복문과 같은 기초 문법 학습, 그리고 데이터 구조(리스트) 및 Rhino 지오메트리 객체 처리를 포함합니다. 강사는 실습의 중요성을 반복적으로 강조하며, Grasshopper 컴포넌트의 기능을 파이썬 코드로 구현해보는 연습을 권장하고 기본적인 RhinoScriptSyntax 활용 능력을 최소 목표로 제시합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 02 A: Lecture - 디자이너를 위한 프로그래밍 & 데이터 구조 / Programming & Data Processing | 11 May 2025 | 00:06:09 | |
https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation 강의 발췌본과 브리핑 문서는 데이터와 코드가 디자인 분야에 미치는 영향에 대해 설명합니다. 미래의 디자인 트렌드를 예측하기보다는 변하지 않을 원리와 문제 해결에 필요한 컴퓨팅 사고의 중요성을 강조하며, 데이터를 디자인 개체로 이해하고 벡터, 래스터, 그래프 등 다양한 데이터 구조를 활용하여 디자인 문제를 해결하는 방법을 다룹니다. 또한, 디자인 프로세스를 코드로 변환하고 반복과 최적화를 통해 효율적인 디자인을 구현하며, API 이해와 꾸준한 코딩 연습이 디자이너에게 필수적인 역량임을 역설합니다. | |||
| Class 01 B: Lecture - 데이터 & 디자인 / Data & Design, Code for Design | 10 May 2025 | 00:08:21 | |
데이터 디자인 수업의 두 번째 강의 이며, 데이터와 컴퓨테이션이 디자인 분야에 통합되는 중요성을 강조합니다. 미래의 성공은 빠르게 변화하는 트렌드 예측보다 변하지 않는 원리, 문제 해결 능력, 컴퓨테이셔널 사고에 대한 깊이 있는 이해에 달려 있다고 주장합니다. 강의는 디자인 개념을 벡터, 래스터, 그래프와 같은 데이터 구조로 변환하고, 이를 코드와 알고리즘을 통해 처리하는 능력이 강력하고 반복적이며 최적화된 디자인 솔루션을 만드는 데 필수적이라고 설명합니다. 궁극적으로 자료는 디자이너들이 디지털 인프라의 발전된 능력을 활용할 수 있도록 API와 같은 기초 개념에 집중하며 직접 코딩을 연습하는 것이 중요함을 역설합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| Class 01 A: Lecture - 데이터 & 디자인 / Data & Design, Code for Design | 07 May 2025 | 00:05:06 | |
강의 발췌문과 브리핑 문서는 "디자인 속의 데이터" 강좌의 소개를 다룹니다. 이 강좌는 디자이너들에게 디자인 과정에서 **계산(computation)**과 **데이터(data)**를 효과적으로 활용하는 방법을 가르치는 것을 목표로 합니다. 핵심 질문은 디자인 프로세스를 코드로 해석하고 데이터를 디자인 재료로 사용하는 방법을 이해하는 것입니다. 강사는 건축 및 도시 디자이너이자 소프트웨어 엔지니어로서 다양한 경험을 바탕으로 계산 디자인을 사고방식으로 정의하고, 소프트웨어와 데이터의 중요성을 강조합니다. 강좌는 강의, 토론, 코딩 실습을 통해 계산적 사고를 배우고, 벡터 데이터, 래스터 데이터, 이산화와 같은 핵심 개념과 객체 지향 프로그래밍, 머신 러닝 등의 기술을 탐구합니다. 최종 프로젝트에 중점을 두며, 코딩 연습과 기초의 이해를 통해 디자이너들이 데이터 기반 시대에 필요한 경쟁력을 갖추도록 독려합니다. https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation | |||
| CD introduction - 컴퓨테이셔널 디자인 & 디자인재료 Design Material:Data Utilization in Computation, buildSMART Conference 2024 | 04 May 2025 | 00:07:43 | |
브리핑 문서: 컴퓨테이셔널 디자인 및 데이터 활용이 브리핑 문서는 "#컴퓨테이셔널디자인 59 buildSMART Conference 2024"에서 발췌한 내용을 검토하고 주요 테마, 아이디어, 사실을 요약합니다. 연사는 건축 설계, 소프트웨어 엔지니어링, 컴퓨테이션 디자인 전문가로서 데이터와 계산을 통해 진화하는 디자인의 지형을 논하며, 21세기 디자이너들에게 새로운 관점을 채택하고 기술을 습득하는 것의 중요성을 강조합니다.핵심 테마:디자인 재료로서의 데이터: 핵심 주장은 데이터가 21세기 디자이너들에게 석재, 유리, 콘크리트, 철강이 역사적으로 디자인을 형성했던 것과 유사하게 근본적인 "재료"로 부상하고 있다는 것입니다.현실의 디지털화 및 디자인의 코드화: 발표는 두 가지 핵심 과정에 초점을 맞춥니다: "공간 정보의 이산화"와 "디자인 프로세스의 코드화". 이는 현실 정보를 데이터로 변환하는 방법과 디자인 개념(알고리즘)을 컴퓨터가 실행할 수 있도록 번역하는 방법을 의미합니다.컴퓨테이셔널 사고 및 문제 해결: 연사는 이 데이터 중심 시대에 디자이너를 위한 근본적인 기술로서 "컴퓨테이셔널 사고" (문제를 분해하고, 추상화하고, 패턴을 식별하고, 구조를 만드는 것)를 채택하는 것의 중요성을 강조합니다.데이터 구조 및 알고리즘 이해: 발표는 디자인 개념 자체를 알고리즘으로 간주하며 데이터 구조(데이터가 구성되는 방식) 및 알고리즘(데이터가 처리되는 방식)과 같은 근본적인 컴퓨터 과학 개념을 이해할 필요성을 강조합니다.연역적 접근 방식과 귀납적 접근 방식의 구분 (전통적인 프로그래밍 vs. 머신 러닝): 연사는 모든 문제가 동일하게 잘 해결되는 것은 아니라고 명확히 합니다. 높은 확실성이 필요한 애플리케이션(예: 항공 우주)에는 전통적인 결정론적 프로그래밍(연역적)이 중요하지만, 확률 및 예측이 포함된 문제(예: 영화 추천)에는 머신 러닝(귀납적)이 더 적합합니다. 문제에 따라 올바른 접근 방식을 선택하는 것이 중요합니다.기초 지식의 중요성: 빠르게 변화하는 기술 환경에서 연사는 모든 새로운 트렌드를 끊임없이 쫓기보다는 변하지 않는 근본적인 원칙(데이터 구조 및 벡터/래스터 개념 등)에 집중하는 것의 중요성을 강조합니다.가장 중요한 아이디어 및 사실:연사의 배경 및 관점: 건축 설계 및 소프트웨어 엔지니어링 분야의 연사의 독특한 배경, Esri(ArcGIS) 및 실리콘 밸리 스타트업(Ready)과 같은 회사에서의 경험, MIT에서의 연구는 계산 및 디자인 통합에 대한 실용적이고 미래 지향적인 관점을 제공합니다. 또한 수많은 비디오와 컴퓨테이션 디자인에 대한 책을 통해 다른 사람들을 교육하고 정보를 제공하는 데 적극적으로 참여하고 있습니다.기술 변화의 역사적 영향: 연사는 건축 역사에서 새로운 재료의 변혁적인 영향과 현재 데이터 및 소프트웨어 기술의 영향을 비교하며, 특히 "빅 데이터 붐"(2010년), 알파고(2015년), ChatGPT(2022년)가 기술에 대한 대중과 디자이너의 인식을 바꾸는 데 미친 영향을 강조합니다.디자인의 모든 곳에 데이터가 존재: 연사는 기하학, 건축, 도시 계획, 조경에서부터 시각화, 재료, GIS에 이르기까지 모든 것을 데이터의 관점에서 바라보는 것이 새로운 관점을 열어준다고 주장합니다.벡터 vs. 래스터 데이터: 이는 현실 정보를 디지털화하는 두 가지 근본적인 방법으로 제시됩니다.벡터: 좌표와 연결성으로 정의된 점, 선, 다각형을 사용하여 객체를 나타냅니다. 연사는 이것이 단지 수학 문제를 해결하는 것이 아니라 "형상을 표현하기 위한 하나의 수식"이라고 재치 있게 언급합니다.래스터: 각 셀이 값을 보유하는 픽셀(또는 3D의 복셀) 그리드를 사용하여 정보를 나타냅니다. 이는 위성 이미지 또는 밀도 맵과 같은 연속적인 데이터를 표현하는 데 특히 유용합니다.데이터 구조 (벡터, 래스터, 그래프, 복셀): 발표는 컴퓨테이션 디자인에서 사용되는 주요 데이터 구조를 설명합니다:벡터 및 래스터: 위에서 설명한 대로 공간 정보를 표현하기 위한 것입니다.그래프: 관계 및 연결성을 나타내는 데 유용한 전통적인 비선형 데이터 구조로, 벽과 기둥과 같은 요소가 연결된 BIM 파일에서 예시됩니다.복셀: 픽셀을 3D 공간으로 확장하여 체적 그리드 내의 정보를 나타냅니다.알고리즘으로서의 디자인 프로세스: 연사는 디자인 개념과 방법론을 알고리즘과 동일시하며, 디자이너는 이미 알고리즘을 가지고 있으며 과제는 이를 계산에 맞게 번역하는 것임을 강조합니다.컴퓨테이셔널 사고의 역할: 이는 문제를 더 작고 관리 가능한 부분으로 분해하고, 핵심 요소를 추상화하고, 반복되는 패턴을 식별하고, 일관성 있는 솔루션을 구축함으로써 "문제 해결"을 포함합니다.머신 러닝의 한계: 머신 러닝의 강력함을 인정하면서도(예: ChatGPT), 연사는 이를 보편적인 솔루션으로 보는 것에 대해 경고합니다. 머신 러닝은 일반화에 뛰어나지만 결정론적 정확성이 필요한 문제에는 적합하지 않을 수 있습니다. "머신 러닝으로 조종되는 비행기를 타신다면, 돈을 주더라도 타지 않겠습니다"라고 말하며, 중요한 시스템에서 확실성의 필요성을 강조합니다."좋은 오류"와 창의성: 연사는 창의성, 특히 생성형 디자인(예: GAN 사용)의 맥락에서, "좋은 오류" - 예상치 못했지만 받아들일 수 있거나 흥미로운 결과로 기존 규범을 뛰어넘는 것 - 를 생성하는 것으로 이해될 수 있다고 제안합니다.사례 연구 (예시): 자세한 내용은 간략했지만, 발표는 도시 분석(시간 기반 구역으로 도시 분할), 데이터 기반 도시 공간 특성화("제3의 공간" 등), 이미지 분할 및 메타데이터를 통한 공공 공간 사용 분석, 주차장 레이아웃 최적화, 규칙 및 반복 기반 기둥 최적화, 환경 데이터 및 시뮬레이션을 통합한 조경 디자인 도구 개발 등 컴퓨테이션 접근 방식을 보여주는 프로젝트를 언급합니다.변하지 않는 기본: 연사는 데이터 구조(벡터, 래스터), 계산의 근본적인 개념과 같은 영속적인 원칙에 집중해야 한다고 강력히 조언합니다. 이는 빠르게 변화하는 기술이 구축되는 "기반"을 형성하기 때문입니다.공유 및 교육의 중요성: 연사는 컴퓨테이션 디자인과 업계 내 지식 공유를 촉진하기 위한 광범위한 노력(비디오, 책, 강의 자료 등)을 강조합니다. | |||