Dual Contouring

Here's an image from the CNC-milling simulator I am working on. It stores a signed distance field in an adaptively subdivided octree. To render a surface of the stock we then run an isosurface extraction algorithm. The most well-known of these is the Marching Cubes (MC) algorithm, used here also. One problem with MC is that it doesn't preserve fine detail (like sharp edges) very well, and many times there are also gaps or cracks in the surface. Both of these problems are visible below.

marching_cubes

From about 2000 onward there are a number of papers that try to improve on MC. The most promising seems to be Dual Contouring, by Tao Ju. There is both c++ and Java LGPL code for DC on sourceforge, and I made some slight changes to make it compile with cmake on Ubuntu: https://github.com/aewallin/dualcontouring

The output PLY file can be viewed with meshlab:
dualcountour_example

So far so good. Now the task is to either rewrite my octree + boolean CSG operations code to use the data structure used in the DC code, or vice versa, change the DC code to use my datastructure.

TEC-Drive heat sinks

tec-drive_heatsinks_2013sep4

I made four heat sinks from aluminium L-profile for the linear TEC drive. Two 30 mm long for each side of the H-bridge (middle), and two 50 mm long for the voltage regulators(top right).

The regulators take 5 V input and produce 2 V, so they each dissipate 3V *ITEC Watts. The H-bridge dissipation is load-dependent, but for a low resistance load the dissipation is almost 2V*ITEC Watts. Here I am using a resistor (lower left) as a dummy load.

I tested the drive at 1 A for a few minutes, and the heat sinks do get quite warm. For continuous use at 2 A I think a fan will be required.

Itärastit, Käringmossen

2013_08_31_qr_splits

Orienteering close to the Ämmässuo/Käringmossen trash dump.

#1 a bit tentative, maybe should have used the path SW of the control
#2 OK
#3 good orienteering into the control-circle, but then failed to find the flag for about 3 minutes...
#4 the plan was to use the cliff (blue line on the map) to find the control, but I failed to execute and circled around the hill on the wrong side. Another +3 min mistake.
#5 no mistakes but slow
#6-#7-#8 OK
#9 initially I had the right direction out from #8, but then somehow deviated down the wrong side of the hill (looking at the compass might have helped). Maybe 2-3 min lost here.
#10-#11-#12-F mostly OK

I didn't make it into the official results but my placing is roughly 20./62.

Firmaliiga 2013/6, Luk

The last firmaliiga event for this season was held yesterday at Luukki.

#1-#4 mostly OK
#5 very slow route choice through bad terrain with fallen and cut-down trees
#6 a small 1min loop to find the control
#7-#8 OK (a small loop on #7 close to the control)
#9 maybe +1min here again as I followed others to the left when the control was right.
#10 again followed others to the wrong control before finding my own, +2min maybe
#11-F slowest ever finish as I tried to figure out where it was...

Firmaliiga result 49./61

2013_08_27_luk_qr_splits