Commit graph

69 commits

Author SHA1 Message Date
48ef986f4f Use ImplicitSurface.center in marching cubes 2018-02-12 13:45:02 +01:00
97966377f5 Merge commit 'cf0d7af' 2018-02-12 13:40:49 +01:00
cf0d7af712 Refactor code in prevision of hints support 2018-02-12 13:38:50 +01:00
247528fe63 Horizontal drift 2018-02-12 13:19:56 +01:00
21ee9ff0e6 Add min height for ball 2018-02-12 12:09:39 +01:00
0f70e4e023 keep track of initial radius, for deformation 2018-02-12 12:08:50 +01:00
19cb1eb343 min_height for bounce as a parameter 2018-02-12 12:06:44 +01:00
e80becdaee A ball has a min heihgt (for deformation) 2018-02-12 11:38:46 +01:00
9e605b0fec Center is an attribute of ImplicitSurface.
This way the search space for Marching Cubes is way smaller.
2018-02-12 11:37:38 +01:00
1e059742f4 Better number of iterations 2018-02-12 10:50:45 +01:00
61933b9b78 A height shouldn't be negative. 2018-02-12 10:48:26 +01:00
dfbaa80e03 Debug of the physical model 2018-02-12 10:21:49 +01:00
d600f51a3a Update makefile with my .o files 2018-02-12 01:27:16 +01:00
e1c759e429 Operator should be const 2018-02-12 01:26:51 +01:00
a824763e3b Merge commit 2018-02-12 01:20:05 +01:00
1dff2ab839 test for a ball 2018-02-12 01:12:31 +01:00
006d2de34a Stream operator for Ball 2018-02-12 01:11:23 +01:00
d1d2811978 Enhance test for marching cubes 2018-02-12 00:56:35 +01:00
c527ecc611 Marching: various fixes 2018-02-12 00:34:41 +01:00
80f0e96acf Horizontal bounces. 2018-02-11 22:42:15 +01:00
0e026ccad1 Marching: fix static integration process 2018-02-11 20:39:59 +01:00
52ca47cde6 Marching: add test implicit surface and main
The test surface is the sphere TestImplicitSphere
2018-02-11 20:23:21 +01:00
4a3a1b9d76 Fix: ImplicitSurface.operator() is pure virtual 2018-02-11 20:19:26 +01:00
8d11d49b81 Marching: add compilation process
Also fix minor bugs
2018-02-11 18:34:00 +01:00
3100ef520f Marching: implement algorithm, still untested 2018-02-11 17:54:44 +01:00
22e24258cd Add a vertical plan collision 2018-02-11 17:29:56 +01:00
98fe6ebc12 s/ellipsoid/spheroid 2018-02-11 17:29:17 +01:00
998c77f643 Marching: add dichitomic search of intersection 2018-02-11 16:46:55 +01:00
4804309182 Marching: write C++ data structures 2018-02-11 14:50:41 +01:00
9ef21a2dc9 Update spheroid if conflict with a plan at a given height. 2018-02-09 20:23:06 +01:00
62730a03b4 March gen: add some testing and viz capabilities
This allows to visualize easily a generated configuration, thus allowing
testing
2018-02-09 20:07:54 +01:00
fc2f17b453 March gen: refactor for easier testing 2018-02-09 20:07:38 +01:00
f15151ff57 March gen: refactor for easier testing 2018-02-09 01:52:00 +01:00
0f60c717f0 March gen: symmetries do not seem to be needed
This would be backed by the base cases 10 and 15 being the same up to
planar symmetry with a plane of normal vector x.
2018-02-09 01:39:49 +01:00
b5ae4b5463 March generator: fix pretty printing
Fix various display/valid C++ generation problems.
2018-02-09 01:31:18 +01:00
65cb03487d March generator: enhance error handling 2018-02-09 01:31:18 +01:00
1dece061a3 march generator: add reverse activated points 2018-02-09 01:31:06 +01:00
39d12ef8a4 Marching cubes: tentative configurations generator
First attempt to generate the configurations of the marching cubes
algorithm, following naively the definition — using the 15 base cases
and generating all rotations and symmetries. This implementation does
not try to be parcimonious, it bruteforces the configurations, since the
search space is quite small anyway.

The plan is to implement a python generator that outputs a valid .cpp
file containing the pre-computed (at compile time) array for
configurations.
2018-02-09 00:29:16 +01:00
776303b18d Make operator() const for implicit surfaces 2018-02-08 12:22:19 +01:00
8b98f373bc Add a context to implement marching cubes 2018-02-07 18:00:48 +01:00
4e41e88462 Add a cuboid structure 2018-02-07 18:00:48 +01:00
6c095dba0b Fix missing semicolon 2018-02-07 17:57:49 +01:00
bf3232d790 Fix -Wreorder warnings 2018-02-07 15:18:53 +01:00
522ab7be39 Raw implementation of a Ball 2018-02-07 15:08:16 +01:00
e76974204d s/ellipsoid/spheroid + implementation of operator() 2018-02-07 15:07:59 +01:00
b614979c7a GlutRender.cpp: fix tab indentation 2018-02-06 22:15:35 +01:00
7e797980ac Enable depth buffering 2018-02-06 22:15:19 +01:00
ae95da9cd8 Fancify scene, adding a tet 2018-02-06 21:29:32 +01:00
66d6d89aeb Randomizing face colour for each face
Allows to easily identify each face.
2018-02-06 21:26:18 +01:00
6e89298950 Use mesh center everywhere else 2018-02-06 21:08:37 +01:00