Date:2011-07-23 12:38:37 (7 years 10 months ago)
Author:Werner Almesberger
Commit:8ad6df6b2d68ab0f9207979e0109737505157956
Message:cad/: added description to 2nd series of tests and a pointer from the 1st series

- test1/README: added pointer to 2nd series of tests
- test2/README: described findings and theories so far
Files: cad/test1/README (3 diffs)
cad/test2/README (1 diff)

Change Details

cad/test1/README
1Comparison of Free scripted 3D CAD systems
2==========================================
1Comparison of Free scripted 3D CAD systems, part 1
2==================================================
33
44Werner Almesberger <werner@almesberger.net>
55
...... 
1414This file and the sources of the models can be found in
1515http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/cad/test1/
1616
17Later experiments showed that small changes to the model can lead to
18quite different results. The continuation is at
19http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/cad/test2/
20
1721
1822Objectives
1923----------
...... 
320324two systems provides operations to automate such tasks.
321325
322326
327The story continues
328-------------------
329
330Later experiments showed that small changes to the model can lead to
331quite different and generally better results. The continuation of
332this evaluation is at
333http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/cad/test2/
334
335
323336References
324337==========
325338
cad/test2/README
1Comparison of Free scripted 3D CAD systems, part 2
2==================================================
3
4Werner Almesberger <werner@almesberger.net>
5
6This is the continuation of my evaluation of scripted 3D CAD systems.
7It shows new findings and improvements since the last test.
8
9
10Introduction
11============
12
13This file and the sources of the models can be found in
14http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/cad/test2/
15
16
17New findings and hypotheses
18===========================
19
20
21The road to hell is paved with good intentions
22----------------------------------------------
23
24The original model tried to prevent the creation of artefacts through
25rounding errors. It turned out that this isn't only unnecessary with
26Cadmium, but it massively slows down the rendering.
27
28Also, after removing these preventions the bug the "noise" parameter
29worked around no longer appeared.
30
31This is a comparison of run time (in seconds) and mesh size:
32
33                real user system faces vertices
34Before: 4901.0 4904.4 1.5 8362 3183
35After: 316.3 315.9 0.3 2942 1473
36
37This makes Cadmium only about 3.7 times slower than OpenSCAD's CGAL
38rendering, a marked improvement from the previous factor of 57. The
39resulting mesh is now less than half the size of the mesh generated
40by OpenSCAD.
41
42Furthermore, the model is much easier to design and more
43understandable without these extra tolerances.
44
45
46Context: preventing artefacts
47-----------------------------
48
49When subtracting volumes from each other, surfaces that coincide in
50both the original volume and the one subtracted from it, can remain
51as arbitrarily thin artefacts.
52
53This 2D example illustrates the effect:
54
55- given an original shape A like this
56
57  +---------------+
58  | |
59  | |
60  | |
61  | |
62  | |
63  +---------------+
64
65- we want to subtract the following shape from it:
66
67         +--------+
68         | |
69         +--------+
70
71- expecting this to result in something like
72
73  +---------------+
74  | |
75  | +--------+
76  | |
77  | +--------+
78  | |
79  +---------------+
80
81- however, if the subtraction isn't perfectly exact, we may get this
82  instead:
83
84  +---------------+
85  | |
86  | +--------+
87  | | |<--- very thin surface
88  | +---^----+
89  | | |
90  +----------|----+
91             |
92          empty space
93
94- to avoid this problem, we could enlarge the shape that is
95  subtracted:
96
97         +---------+
98         | |
99         +---------+
100
101
102Artefacts in OpenSCAD's mesh may also be rounding errors
103--------------------------------------------------------
104
105The artefacts found in the mesh produced by OpenSCAD may also be
106caused from rounding errors. In this case, the problem would be parts
107that are fused along a common surface. As in the above example, this
108could be solved by making the parts overlap a little.
109
110Whether this is truly the source of the artefacts still needs to be
111verified.
112
113
114OpenCSG problems may be an OpenGL compatibility issue
115-----------------------------------------------------
116
117It could be that OpenCSG showing volumes to be removed just with a
118different color without actually removing them is caused by using
119OpenGL emulation in Mesa. This needs further investigation.
120
121---------------------------------------------------------------------

Archive Download the corresponding diff file

Branches:
master



interactive