libigl / libigl.github.io

Repository for the libigl website, online tutorial and documentation
http://libigl.github.io
4 stars 30 forks source link

Tutorial reorganization #44

Open alecjacobson opened 4 years ago

alecjacobson commented 4 years ago

Chapter 7 is getting a bit out of control. Meanwhile, Chapter 1 is simultaneously an intro chapter and a "viewer features" chapter. Let's use this issue to discuss some reorganization. For reference, here're the current tutorial entries (that we have code for; so this includes ones that have missing documentation):

Tetgen
FastAutomaticSkinningTransformations
SignedDistance
MeshImplicitFunction
SweptVolume
BiharmonicDeformation
Boolean
GaussianCurvature
ExplodedView
SLIM
HarmonicParam
NRosyDesign
ViewerMenu
CSGTree
AsRigidAsPossible
Events
ScreenCapture
BoundedBiharmonicWeights
CurvatureDirections
MarchingCubes
LaplaceEquation
Decimation
LSCMParam
MEX
ShapeUp
Planarization
AmbientOcclusion
Laplacian
WindingNumber
Statistics
Gradient
GeodesicDistance
BiharmonicCoordinates
Kelvinlets
SCAF
MultipleViews
Triangle
DirectDeltaMush
FileIO
IterativeClosestPoint
FastWindingNumber
MIQ
DualQuaternionSkinning
Picking
MultipleMeshes
MarchingTets
DrawMesh
ARAPParam
Colors
EigenDecomposition
Matlab
Slice
QuadraticProgramming
FacetOrientation
Overlays
Sort
FrameField
BlueNoise
LinearEqualityConstraints
Normals
Subdivision
DataSmoothing
HeatGeodesics
ImGuizmo
PolyharmonicDeformation
Serialization
jdumas commented 4 years ago

+1 for this. How would you name chapters 2 to 6 under the current classification? I think chapter 1 is fine as it, since there isn't much to introduce without the viewer (101_FileIO is really short). Chapter 7 is becoming a bit of a potpourri for sure...

alecjacobson commented 4 years ago

Here's one possible reorganization. This is based on putting like topics together (many chapters are the same). There are few odd ducks (e.g., AmbientOcclusion, IterativeClosestPoint).

I left FileIO on its own because I think we could add a couple more really basic entries that demonstrate the V,F data structure even without invoking the Viewer. I also think we don't need to do a deep dive on the Viewer before more basic things like introducing the solvers, etc.

# Basics
 - FileIO

# Linear algebra / Solvers
 - Slice
 - Sort
 - LinearEqualityConstraints
 - LaplaceEquation
 - EigenDecomposition
 - QuadraticProgramming

# Viewer
 - DrawMesh
 - Events
 - MultipleMeshes
 - Colors
 - ExplodedView
 - Picking
 - MultipleViews
 - ScreenCapture
 - Overlays
 - ViewerMenu
 - ImGuizmo

# Deformation
 - BiharmonicDeformation
 - PolyharmonicDeformation
 - BoundedBiharmonicWeights
 - DualQuaternionSkinning
 - DirectDeltaMush
 - AsRigidAsPossible
 - FastAutomaticSkinningTransformations
 - BiharmonicCoordinates
 - ShapeUp
 - Planarization
 - Kelvinlets

# Solid Geometry
 - SignedDistance
 - WindingNumber
 - FastWindingNumber
 - FacetOrientation
 - SweptVolume
 - MarchingCubes
 - MeshImplicitFunction
 - MarchingTets
 - Boolean
 - CSGTree
 - AmbientOcclusion

# Differential Geometry
 - Normals
 - GaussianCurvature
 - CurvatureDirections
 - Gradient
 - Laplacian
 - DataSmoothing
 - HeatGeodesics
 - GeodesicDistance

# Parameterization
 - HarmonicParam
 - LSCMParam
 - ARAPParam
 - NRosyDesign
 - SLIM
 - SCAF
 - MIQ
 - FrameField

# Mesh operations
 - Subdivision
 - Decimation
 - BlueNoise
 - Statistics
 - IterativeClosestPoint

# External
 - Serialization
 - Tetgen
 - Matlab
 - Triangle
 - MEX
jdumas commented 4 years ago

Looks good to me. Ambient occlusion could really also go into the viewer part, since its main application is data visualization.

sooryan commented 4 years ago

Piggybacking on this, I was wondering if it made sense to split the tutorial entries into separate markdown files. The tutorial file is already quite large now. Could potentially use something like markdown-include which mkdocs seems to support.

alecjacobson commented 4 years ago

This makes sense. I like the displayed document to be one long tutorial. But there's no reason the individual sections need to be in one giant .md behind the scenes. -Alec

On Sat, Oct 3, 2020 at 6:51 AM J.M. Soorya Narayan notifications@github.com wrote:

Piggybacking on this, I was wondering if it made sense to split the tutorial entries into separate markdown files. The tutorial file is already quite large now. Could potentially use something like markdown-include https://github.com/cmacmackin/markdown-include which mkdocs seems to support.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/libigl/libigl.github.io/issues/44#issuecomment-703084543, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARDJGICZKB27QUNJJWMCHLSI363LANCNFSM4R3UZRCA .