Commit graph

73 commits

Author SHA1 Message Date
Rémi Oudin f2f6e9cb76 Handling of bounces for perlin noise surfaces 2018-02-12 17:41:12 +01:00
Rémi Oudin 0987290111 Handling of perlin noise surfaces 2018-02-12 17:40:50 +01:00
Rémi Oudin 588ff14b33 Update makefile for Perlin Noise 2018-02-12 17:40:21 +01:00
Rémi Oudin 7b14f2e5f1 Generation of perlin noise structures 2018-02-12 17:40:00 +01:00
Rémi Oudin 61f50c2861 Move operator in .cpp file 2018-02-12 14:15:30 +01:00
Rémi Oudin 1be55612d4 Missing function in header file 2018-02-12 14:14:50 +01:00
Rémi Oudin c2cd75a61c Add movement on y-axis 2018-02-12 13:54:39 +01:00
Rémi Oudin 247528fe63 Horizontal drift 2018-02-12 13:19:56 +01:00
Rémi Oudin 21ee9ff0e6 Add min height for ball 2018-02-12 12:09:39 +01:00
Rémi Oudin 0f70e4e023 keep track of initial radius, for deformation 2018-02-12 12:08:50 +01:00
Rémi Oudin 19cb1eb343 min_height for bounce as a parameter 2018-02-12 12:06:44 +01:00
Rémi Oudin e80becdaee A ball has a min heihgt (for deformation) 2018-02-12 11:38:46 +01:00
Rémi Oudin 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
Rémi Oudin 1e059742f4 Better number of iterations 2018-02-12 10:50:45 +01:00
Rémi Oudin 61933b9b78 A height shouldn't be negative. 2018-02-12 10:48:26 +01:00
Rémi Oudin dfbaa80e03 Debug of the physical model 2018-02-12 10:21:49 +01:00
Rémi Oudin d600f51a3a Update makefile with my .o files 2018-02-12 01:27:16 +01:00
Rémi Oudin e1c759e429 Operator should be const 2018-02-12 01:26:51 +01:00
Rémi Oudin a824763e3b Merge commit 2018-02-12 01:20:05 +01:00
Rémi Oudin 1dff2ab839 test for a ball 2018-02-12 01:12:31 +01:00
Rémi Oudin 006d2de34a Stream operator for Ball 2018-02-12 01:11:23 +01:00
Théophile Bastian d1d2811978 Enhance test for marching cubes 2018-02-12 00:56:35 +01:00
Théophile Bastian c527ecc611 Marching: various fixes 2018-02-12 00:34:41 +01:00
Rémi Oudin 80f0e96acf Horizontal bounces. 2018-02-11 22:42:15 +01:00
Théophile Bastian 0e026ccad1 Marching: fix static integration process 2018-02-11 20:39:59 +01:00
Théophile Bastian 52ca47cde6 Marching: add test implicit surface and main
The test surface is the sphere TestImplicitSphere
2018-02-11 20:23:21 +01:00
Théophile Bastian 4a3a1b9d76 Fix: ImplicitSurface.operator() is pure virtual 2018-02-11 20:19:26 +01:00
Théophile Bastian 8d11d49b81 Marching: add compilation process
Also fix minor bugs
2018-02-11 18:34:00 +01:00
Théophile Bastian 3100ef520f Marching: implement algorithm, still untested 2018-02-11 17:54:44 +01:00
Rémi Oudin 22e24258cd Add a vertical plan collision 2018-02-11 17:29:56 +01:00
Rémi Oudin 98fe6ebc12 s/ellipsoid/spheroid 2018-02-11 17:29:17 +01:00
Théophile Bastian 998c77f643 Marching: add dichitomic search of intersection 2018-02-11 16:46:55 +01:00
Théophile Bastian 4804309182 Marching: write C++ data structures 2018-02-11 14:50:41 +01:00
Rémi Oudin 9ef21a2dc9 Update spheroid if conflict with a plan at a given height. 2018-02-09 20:23:06 +01:00
Théophile Bastian 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
Théophile Bastian fc2f17b453 March gen: refactor for easier testing 2018-02-09 20:07:38 +01:00
Théophile Bastian f15151ff57 March gen: refactor for easier testing 2018-02-09 01:52:00 +01:00
Théophile Bastian 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
Théophile Bastian b5ae4b5463 March generator: fix pretty printing
Fix various display/valid C++ generation problems.
2018-02-09 01:31:18 +01:00
Théophile Bastian 65cb03487d March generator: enhance error handling 2018-02-09 01:31:18 +01:00
Théophile Bastian 1dece061a3 march generator: add reverse activated points 2018-02-09 01:31:06 +01:00
Théophile Bastian 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
Théophile Bastian 776303b18d Make operator() const for implicit surfaces 2018-02-08 12:22:19 +01:00
Théophile Bastian 8b98f373bc Add a context to implement marching cubes 2018-02-07 18:00:48 +01:00
Théophile Bastian 4e41e88462 Add a cuboid structure 2018-02-07 18:00:48 +01:00
Théophile Bastian 6c095dba0b Fix missing semicolon 2018-02-07 17:57:49 +01:00
Rémi Oudin bf3232d790 Fix -Wreorder warnings 2018-02-07 15:18:53 +01:00
Rémi Oudin 522ab7be39 Raw implementation of a Ball 2018-02-07 15:08:16 +01:00
Rémi Oudin e76974204d s/ellipsoid/spheroid + implementation of operator() 2018-02-07 15:07:59 +01:00
Théophile Bastian b614979c7a GlutRender.cpp: fix tab indentation 2018-02-06 22:15:35 +01:00