3-Dimensional Modeling Docent: Marc van Kreveld BBL-484
3-dimensional modeling Blok 4, bachelor informatica, niveau 3 – Gebonden keuzevak Gametechnologie – Discipline-gebonden keuzevak Informatica 7.5 ECTS = 220 uur Gewijzigd t.o.v. vorig jaar (inhoud & docent) Colleges, geen werkcolleges, wel groot practikum Voorkennis: Graphics college
3-dimensional modeling Specifieke voorkennis: – vectoren, matrices, transformaties – functies, polynomen, logaritmen, trigoniometrie – statistiek: stadaarddeviatie, regressie, … – algoritmiek: aanpak, efficiëntie – programmeren: C# / C++
3-dimensional modeling, practicum Begeleid practikum, altijd na college, in drie groepen, tegelijk (2 x 2 uur/week) 3 opdrachten – Modelleren met Blender: hand en monster – Splines implementeren: Bezier en B-spline – RANSAC experimenteel onderzoek om vlakken te vinden Stel het werk niet uit tot de inleverdag! Die dag is het vaak extra druk in de practikumzalen en is de begeleiding ook drukker
3-dimensional modeling, practicum Twee begeleiders – Frank Staals (groepen 1 en 2) – Benny van der Vijgh (groep 3)
3-dimensional modeling, cijfers Kleine tussentoets: 15% Eindtentamen: 40% Practische opdrachten: 15% elk (3x) Geen onderdeel met cijfer 4 of lager toegestaan Eindtentamen minstens een 5 Gewogen gemiddelde afgerond een 6 of hoger (dus onafgerond minstens een 5.5) geslaagd
3-dimensional modeling, informatie Informatie op de website Feedback/vragen per naar de docent Feedback/vragen over het practikum naar je practikumbegeleider Frank of Benny (niet naar mij!) Jouw tijd: – college: 14x2 uur, voor-/nastudie: 14x4 uur = 84 uur – practikum: begeleid 14x2 uur, zelf uitzoeken (installeren, leren, uitwerken) 14x4 uur = 84 uur – tentamen+voorbereiding: 20(?) uur Totaal: ongeveer 200 uur
3-dimensional modeling, materiaal Verschillende bronnen (er is geen geschikt boek voor alle onderwerpen) – Curves Graphics boek van Shirley & Marschner – Mesh representation deels zelfde boek – Rest papers, surveys, wikipedia info – Alles: slides zelf
3-dimensional modeling, colleges Er is geen werkcollege, maar tijdens het college worden wel opgaven gemaakt (vaak de minuten vóór de pauze of het eind) – sommetjes – begripvragen – discussievragen Werk met je buurman/vrouw, zeker voor de discussievragen
3-dimensional modeling, schema Let op het rooster dat on-line staat Eerste weken: – 23 april: Introductie, nu – 25 april: Geen college; Indievelopment conference – 30 april: Geen college; Koninginnedag – 2 mei: Curves I – 7 mei: Curves II – 9 mei: Geen college; Hemelvaartsdag
3-dimensional modeling, lecturer is geen expert 3-dimensionaal modelleren is geen expert implementeren, C#, Blender, … is wel expert in algoritmen, meetkundige algoritmen
3-dimensional modeling motivation and overview
3-dimensional modeling Related to graphics, but not concerned with rendering, shading, textures, GPU, … Instead, concerned with geometry, shape As a research field, part of graphics and as an independent research field – SIGGRAPH conference – Symposium on Geometry Processing – Shape Modeling International
Some pictures
More pictures
Icons of 3D modeling Utah teapot Stanford bunny
Some Utah teapot images
Global 3D modeling pipeline data acquisition hand-drawn modeling clean-up consistency check build model use/render/ align with another model procedural modeling consistency check
Data acquisition methods 3D scanning – consumer 3D scanners – coordinate measurement machines (CMM) – LiDAR scanning (airborne, ground-based) – CT scan, MRI scan Stereo photography (SIFT points)
3D modeling software Blender (free, open source) Autodesk Maya Autodesk 3DS Max (was: 3D Studio Max) Cinema 4D Google sketch-up … for hand-generated models, often also procedural generation, rendering, animation, video generation, …
Procedural modeling L-grammars Fractals
Main types of 3D models Unstructured “models” – 3D point clouds Boundary models – polygon meshes – curves and surfaces – implicit models Solid models – constructive solid geometry (CSG) – voxel models
Quality in 3D modeling Geometric quality: close to the desired model (in some distance measure) Continuity, smoothness Topological quality: the right holes and loops Consistency: if triangle A stores triangle B as an adjacent triangle, then triangle B should store A as an adjacent triangle too
Efficiency in 3D modeling 3D point clouds are large – to find the 10 nearest neighbors of each point, we do not want to scan the point set many times spatial search structures 3D models consist of many elements (triangles) – to find the elements adjacent to a given element, we do not want to scan the whole model adjacency representation of model
Stanford bunny (1994) Maximum resolution of mesh: 69,451 triangles from 3D scanning
Happy buddha (1996, Stanford) Maximum resolution of mesh: 1,087,716 triangles from 3D scanning
Actueel Hoogtebestand Nederland Airborne LiDAR scanning: ~ 135 x 10 9 height points (every 0.5x0.5 m), precision 5 cm (version AHN-2, 2012)
Reasons for 3D modeling CAD/CAM, rapid prototyping, industrial design Movie industry Gaming industry (entertainment and serious) Scientific (geology, hydrology, physics simulation) Medical, surgery Architecture, urban planning Robotics Monitoring
Reasons: CAM/CAM Milling cutter Use of molds Stereo lithography
Reasons: movie industry Futureworld (1976): first use of 3D wireframe animation Pixar 1986 (1979) Toy story (1995): first full-length, computer animated movie
Reasons: gaming Entertainment Serious, for training
Reasons: scientific Geology, erosion Water and air flow
Reasons: medical, surgery Reconstruction from CT or MRI scans Deformable tissue modeling Dental models
Reasons: architecture
Reasons: robotics
Reasons: monitoring Forest: growth/health Coast, beach: sand loss
Main topics of the lectures Curves, splines Boundary representations Implicit models Triangular meshes and reconstruction Urban reconstruction from point clouds Efficiency and data structures Procedural modeling
Other courses related to 3DM Interaction technology (level 3) Image processing (level 3) Motion and manipulation (master GMT) Multimedia modeling (master GMT) Geometric algorithms (master GMT) Multimodal interaction (master GMT) Computer animation (master GMT)
Academic honesty Academic honesty is compulsory in accomplishing the assignment, projects, and the exams. Exchanging code with others is not allowed. Using code from the previous year or from the internet is prohibited, unless stated otherwise in the lectures. Copying texts of the reports from other groups is strictly prohibited. Generally, cheating, academic misconduct, plagiarism, and fabrication of output by other means than by your own implementation are not tolerated. We will use software to detect any code or text plagiarism. Any violation to the academic honesty will imply a fail to pass the course.