SCM Repository
Diff of /benchmarks/programs/ridge3d/bmark-diderot.diderot
Parent Directory
|
Revision Log
|
Patch
revision 1582, Mon Oct 31 04:20:56 2011 UTC | revision 1588, Mon Oct 31 14:49:10 2011 UTC | |
---|---|---|
# | Line 1 | Line 1 |
1 | ||
2 | int gridSize = 120; | int gridSize = 120; |
3 | field#2(3)[] F = bspln3 ⊛ load("../../data/lungcrop.nrrd"); | field#2(3)[] F = bspln3 ⊛ load("../../data/lungcrop.nrrd"); |
4 | input int stepsMax = 20; | input int stepsMax = 30; |
5 | input real epsilon = 0.005; | input real epsilon = 0.001; |
6 | real travelMax = 5.0; | input real travelMax = 5.0; |
7 | input real strnMin = 170.0; | |
8 | ||
9 | strand sample (int ui, int vi, int wi) { | strand sample (int ui, int vi, int wi) { |
10 | output vec3 pos = [lerp(21.6401, 21.6401 + 140.0*0.5, | output vec3 pos = [lerp(21.6401, 21.6401 + 140.0*0.5, |
# | Line 27 | Line 28 |
28 | ||
29 | ||
30 | real{3} eval = evals(hess); | real{3} eval = evals(hess); |
31 | real strn = -eval{2}; | real strn = -eval{1}; |
32 | vec3{3} evec = evecs(hess); | vec3{3} evec = evecs(hess); |
33 | vec3 dir = normalize((evec{2}⊗evec{2} + evec{1}⊗evec{1})•grad); | vec3 dir = normalize((evec{2}⊗evec{2} + evec{1}⊗evec{1})•grad); |
/* | ||
vec3 dir = normalize(grad); | ||
real strn = 0.0; | ||
*/ | ||
34 | ||
35 | real fdd = grad•dir; | real fdd = grad•dir; |
36 | real sdd = dir•hess•dir; | real sdd = dir•hess•dir; |
37 | vec3 delta = (0.1 if sdd >= 0.0 else -fdd/sdd)*dir; | vec3 delta = (0.1 if sdd >= 0.0 else -fdd/sdd)*dir; |
38 | if (|delta| < epsilon) { | if (|delta| < epsilon) { |
39 | if (strn >= 300.0) { | if (strn >= strnMin) { |
40 | stabilize; | stabilize; |
41 | } | } |
42 | die; | die; |
|
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |