diff --git a/subdivision_generator_orig.py b/subdivision_generator_orig.py index 33abdc7..5946762 100644 --- a/subdivision_generator_orig.py +++ b/subdivision_generator_orig.py @@ -176,10 +176,14 @@ def generateM1(omegaOne, delta): omegaOneSquared = np.multiply(omegaOne, omegaOne) deltaSquared = delta * delta intermediate = ((float(7) / float(16) * omegaOneSquared * (1 / deltaSquared)) - (float(1) / float(7))) - # logResult = math.log(intermediate, 2) + logResult = math.log(intermediate, 2) # return math.ceil(logResult) + intermediate = np.log2((7 * omegaOne) - (4 * delta)) + np.log2((7 * omegaOne) + (4 * delta)) - np.log2(112 * delta * delta) + answer = np.ceil(intermediate) # TODO: PDZ- This needs to NOT be hardcoded. Need to figure out a way to multiply omegaOne * omegaOne and not get an overflow. Then the two lines above can be uncommented. - return math.ceil(90.958811263220) + # return math.ceil(90.958811263220) # Unknot hard coded + + return math.ceil(104.34285901943) # Trefoil Hard coded ''' Generates the hodograph delta sub 2 set from Professor Peters' and Ji Li's paper. It is defined in the paper @@ -241,6 +245,8 @@ def generateM3(omegaTwo, lambdaVal, numCtrlPts): if __name__ == '__main__': + np.seterr(all='raise', over='raise') + [testa, testb, testdist] = closestDistanceBetweenLines(np.array([0.0, 0.0, 0.0]), np.array([5.0, 0.0, 0.0]), np.array([6.0, 0.0, 1.0]), np.array([10.0, 0.0, 1.0]), clampAll=True) @@ -249,14 +255,23 @@ if __name__ == '__main__': ''' Add the line segments of the control polygon to a list ''' + # The Unknot segmentArray = [] - segmentArray.append(np.array([0, 4831838208, 10737418240])) + # segmentArray.append(np.array([0.0, 4831838208, 10737418240])) + # segmentArray.append(np.array([-8053063680, -51002736640, -26843545600])) + # segmentArray.append(np.array([21474836480, 42949672960, -10737418240])) + # segmentArray.append(np.array([-5368709120, -32212254720, 31138512896])) + # segmentArray.append(np.array([-32212254720, 16106127360, 10737418240])) + # segmentArray.append(np.array([21474836480, -32212254720, -32212254720])) + # #segmentArray.append(np.array([0, 4831838208,10737418240])) + + # The Trefoil + segmentArray.append(np.array([0.0, 4831838208, 10737418240])) segmentArray.append(np.array([-8053063680, -51002736640, -26843545600])) segmentArray.append(np.array([21474836480, 42949672960, -10737418240])) - segmentArray.append(np.array([-5368709120, -32212254720, 31138512896])) + segmentArray.append(np.array([5368709120, -32212254720, 31138512896])) segmentArray.append(np.array([-32212254720, 16106127360, 10737418240])) segmentArray.append(np.array([21474836480, -32212254720, -32212254720])) - # segmentArray.append(np.array([0, 4831838208,10737418240])) [a, b, dist] = closestDistanceBetweenLines(segmentArray[0], segmentArray[1], segmentArray[2], segmentArray[3], clampAll=True) @@ -390,7 +405,7 @@ if __name__ == '__main__': # print'i is: ' ,i j = i + 2 while j < numCtrlPointSegments: - if (i == 0 and (j + 1) % numCtrlPointSegments == 0): + if i == 0 and (j + 1) % numCtrlPointSegments == 0: j += 1 continue