Sanjoy Nath's Geometry of generalized permutations of Trigonometric Expressions(Tan(Θ) Powers vba) - SanjoyNath/SanjoyNathGeometrifyingTrigonometry GitHub Wiki

Sanjoy Nath's Geometrifying Trigonometry(C) Geometry of generalized permutations of Trigonometric Expressions

We have observed several kinds of Rectangular Cobwebs for the powers of tan(Θ) on 2D planes. We have given here some commands on Autocad generated in our simulation tools on CAD which you can copy and paste on the cad command window to get the cobwebs for tan(Θ) . The whole macro for all kinds of Trigonometric Expressions are in process

LINE 0,0,0 898.794046299167,438.371146789077,0 LINE 898.794046299167,438.371146789077,0 460.42289951009,1337.16519308824,0 LINE 460.42289951009,1337.16519308824,0 1916.26719711401,2047.22790090745,0 LINE 1916.26719711401,2047.22790090745,0 3066.40915496996,-310.912573646133,0 LINE 3066.40915496996,-310.912573646133,0 -753.248281529267,-2173.88398258474,0 LINE -753.248281529267,-2173.88398258474,0 -3770.84315042057,4013.10236943307,0 LINE -3770.84315042057,4013.10236943307,0 6250.68384681135,8900.92767317566,0 LINE 6250.68384681135,8900.92767317566,0 14167.8620095261,-7331.69312830613,0 LINE 14167.8620095261,-7331.69312830613,0 -12125.3344422203,-20155.7418953871,0 LINE -12125.3344422203,-20155.7418953871,0 -32897.4104774627,22433.3253972476,0 LINE -32897.4104774627,22433.3253972476,0 36087.3041115501,56079.4188152239,0 LINE 36087.3041115501,56079.4188152239,0 90586.4114887092,-55660.3104028082,0 LINE 90586.4114887092,-55660.3104028082,0 -90406.8296967482,-143936.612439116,0 LINE -90406.8296967482,-143936.612439116,0 -233394.593648117,149231.749289209,0 LINE -233394.593648117,149231.749289209,0 241472.245331813,380839.781888978,0 LINE 241472.245331813,380839.781888978,0 616625.190467593,-388337.7427027,0 LINE 616625.190467593,-388337.7427027,0 -629269.480989947,-996001.175893097,0 LINE -629269.480989947,-996001.175893097,0 -1613547.63427246,1022068.10296462,0 LINE -1613547.63427246,1022068.10296462,0 1655270.91642001,2616377.43624596,0 LINE 1655270.91642001,2616377.43624596,0 4237693.62052166,-2678373.75455525,0 LINE 4237693.62052166,-2678373.75455525,0 -4338612.99844071,-6861317.98215628,0 LINE -4338612.99844071,-6861317.98215628,0 -11114042.2817375,7030370.70573607,0 LINE -11114042.2817375,7030370.70573607,0 11387370.4096693,18005042.9641046,0 LINE 11387370.4096693,18005042.9641046,0 29163872.2581247,-18442187.065625,0 LINE 29163872.2581247,-18442187.065625,0 -29872446.7080765,-47236123.73441,0 LINE -29872446.7080765,-47236123.73441,0 -76512150.9622657,48389441.0680767,0 LINE -76512150.9622657,48389441.0680767,0 78379766.4865467,123935276.913315,0 LINE 78379766.4865467,123935276.913315,0 200747037.137563,-126954808.186039,0 LINE 200747037.137563,-126954808.186039,0 -205638498.259809,-325162277.321122,0 LINE -205638498.259809,-325162277.321122,0 -526690039.345304,333090930.711426,0 LINE -526690039.345304,333090930.711426,0 539532176.121724,853122251.847584,0 LINE 539532176.121724,853122251.847584,0 1381866008.40382,-873918040.372619,0 LINE 1381866008.40382,-873918040.372619,0 -1415551010.00409,-2238309484.05889,0 LINE -1415551010.00409,-2238309484.05889,0 -3625558420.67743,2292877199.96341,0 LINE -3625558420.67743,2292877199.96341,0 3713945353.82461,5872592374.69018,0 LINE 3713945353.82461,5872592374.69018,0 9512279183.06041,-6015753750.15125,0 LINE 898.794046299167,438.371146789077,0 460.42289951009,1337.16519308824,0 LINE 460.42289951009,1337.16519308824,0 1916.26719711401,2047.22790090745,0 LINE 1916.26719711401,2047.22790090745,0 3066.40915496996,-310.912573646133,0 LINE 3066.40915496996,-310.912573646133,0 -753.248281529267,-2173.88398258474,0 LINE -753.248281529267,-2173.88398258474,0 -3770.84315042057,4013.10236943307,0 LINE -3770.84315042057,4013.10236943307,0 6250.68384681135,8900.92767317566,0 LINE 6250.68384681135,8900.92767317566,0 14167.8620095261,-7331.69312830613,0 LINE 14167.8620095261,-7331.69312830613,0 -12125.3344422203,-20155.7418953871,0 LINE -12125.3344422203,-20155.7418953871,0 -32897.4104774627,22433.3253972476,0 LINE -32897.4104774627,22433.3253972476,0 36087.3041115501,56079.4188152239,0 LINE 36087.3041115501,56079.4188152239,0 90586.4114887092,-55660.3104028082,0 LINE 90586.4114887092,-55660.3104028082,0 -90406.8296967482,-143936.612439116,0 LINE -90406.8296967482,-143936.612439116,0 -233394.593648117,149231.749289209,0 LINE -233394.593648117,149231.749289209,0 241472.245331813,380839.781888978,0 LINE 241472.245331813,380839.781888978,0 616625.190467593,-388337.7427027,0 LINE 616625.190467593,-388337.7427027,0 -629269.480989947,-996001.175893097,0 LINE -629269.480989947,-996001.175893097,0 -1613547.63427246,1022068.10296462,0 LINE -1613547.63427246,1022068.10296462,0 1655270.91642001,2616377.43624596,0 LINE 1655270.91642001,2616377.43624596,0 4237693.62052166,-2678373.75455525,0 LINE 4237693.62052166,-2678373.75455525,0 -4338612.99844071,-6861317.98215628,0 LINE -4338612.99844071,-6861317.98215628,0 -11114042.2817375,7030370.70573607,0 LINE -11114042.2817375,7030370.70573607,0 11387370.4096693,18005042.9641046,0 LINE 11387370.4096693,18005042.9641046,0 29163872.2581247,-18442187.065625,0 LINE 29163872.2581247,-18442187.065625,0 -29872446.7080765,-47236123.73441,0 LINE -29872446.7080765,-47236123.73441,0 -76512150.9622657,48389441.0680767,0 LINE -76512150.9622657,48389441.0680767,0 78379766.4865467,123935276.913315,0 LINE 78379766.4865467,123935276.913315,0 200747037.137563,-126954808.186039,0 LINE 200747037.137563,-126954808.186039,0 -205638498.259809,-325162277.321122,0 LINE -205638498.259809,-325162277.321122,0 -526690039.345304,333090930.711426,0 LINE -526690039.345304,333090930.711426,0 539532176.121724,853122251.847584,0 LINE 539532176.121724,853122251.847584,0 1381866008.40382,-873918040.372619,0 LINE 1381866008.40382,-873918040.372619,0 -1415551010.00409,-2238309484.05889,0 LINE -1415551010.00409,-2238309484.05889,0 -3625558420.67743,2292877199.96341,0 LINE -3625558420.67743,2292877199.96341,0 3713945353.82461,5872592374.69018,0 LINE 3713945353.82461,5872592374.69018,0 9512279183.06041,-6015753750.15125,0 LINE 9512279183.06041,-6015753750.15125,0 -9744168926.556,-15407751033.2386,0 LINE 0,0,0 460.42289951009,1337.16519308824,0 LINE 898.794046299167,438.371146789077,0 1916.26719711401,2047.22790090745,0 LINE 460.42289951009,1337.16519308824,0 3066.40915496996,-310.912573646133,0 LINE 1916.26719711401,2047.22790090745,0 -753.248281529267,-2173.88398258474,0 LINE 3066.40915496996,-310.912573646133,0 -3770.84315042057,4013.10236943307,0 LINE -753.248281529267,-2173.88398258474,0 6250.68384681135,8900.92767317566,0 LINE -3770.84315042057,4013.10236943307,0 14167.8620095261,-7331.69312830613,0 LINE 6250.68384681135,8900.92767317566,0 -12125.3344422203,-20155.7418953871,0 LINE 14167.8620095261,-7331.69312830613,0 -32897.4104774627,22433.3253972476,0 LINE -12125.3344422203,-20155.7418953871,0 36087.3041115501,56079.4188152239,0 LINE -32897.4104774627,22433.3253972476,0 90586.4114887092,-55660.3104028082,0 LINE 36087.3041115501,56079.4188152239,0 -90406.8296967482,-143936.612439116,0 LINE 90586.4114887092,-55660.3104028082,0 -233394.593648117,149231.749289209,0 LINE -90406.8296967482,-143936.612439116,0 241472.245331813,380839.781888978,0 LINE -233394.593648117,149231.749289209,0 616625.190467593,-388337.7427027,0 LINE 241472.245331813,380839.781888978,0 -629269.480989947,-996001.175893097,0 LINE 616625.190467593,-388337.7427027,0 -1613547.63427246,1022068.10296462,0 LINE -629269.480989947,-996001.175893097,0 1655270.91642001,2616377.43624596,0 LINE -1613547.63427246,1022068.10296462,0 4237693.62052166,-2678373.75455525,0 LINE 1655270.91642001,2616377.43624596,0 -4338612.99844071,-6861317.98215628,0 LINE 4237693.62052166,-2678373.75455525,0 -11114042.2817375,7030370.70573607,0 LINE -4338612.99844071,-6861317.98215628,0 11387370.4096693,18005042.9641046,0 LINE -11114042.2817375,7030370.70573607,0 29163872.2581247,-18442187.065625,0 LINE 11387370.4096693,18005042.9641046,0 -29872446.7080765,-47236123.73441,0 LINE 29163872.2581247,-18442187.065625,0 -76512150.9622657,48389441.0680767,0 LINE -29872446.7080765,-47236123.73441,0 78379766.4865467,123935276.913315,0 LINE -76512150.9622657,48389441.0680767,0 200747037.137563,-126954808.186039,0 LINE 78379766.4865467,123935276.913315,0 -205638498.259809,-325162277.321122,0 LINE 200747037.137563,-126954808.186039,0 -526690039.345304,333090930.711426,0 LINE -205638498.259809,-325162277.321122,0 539532176.121724,853122251.847584,0 LINE -526690039.345304,333090930.711426,0 1381866008.40382,-873918040.372619,0 LINE 539532176.121724,853122251.847584,0 -1415551010.00409,-2238309484.05889,0 LINE 1381866008.40382,-873918040.372619,0 -3625558420.67743,2292877199.96341,0 LINE -1415551010.00409,-2238309484.05889,0 3713945353.82461,5872592374.69018,0 LINE -3625558420.67743,2292877199.96341,0 9512279183.06041,-6015753750.15125,0 LINE 3713945353.82461,5872592374.69018,0 -9744168926.556,-15407751033.2386,0

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_X_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = STRETCH_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = STRETCH_X_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = NODE_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = NODE_X_PREVIOUS

End If

GET_CURRENT_X_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_X_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS Public Function GET_CURRENT_Y_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = STRETCH_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = STRETCH_Y_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = NODE_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = NODE_Y_PREVIOUS

End If

GET_CURRENT_Y_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_Y_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_X_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = NODE_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = NODE_X_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = STRETCH_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = STRETCH_X_PREVIOUS

End If

GET_CURRENT_X_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_X_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_Y_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = NODE_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = NODE_Y_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = STRETCH_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = STRETCH_Y_PREVIOUS

End If

GET_CURRENT_Y_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_Y_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_X_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN OR GIVEN SO WE WILL CALCULATE IN THAT WAY CONDITIONALLY FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

'SINCE FOR THE TAN THETA PRODUCTS ONLY THE NODAL POINT JUMPS FREELY AND SO WE DONT NEED TO CALCULATE OTHER POINTS CASES . THE OTHER POINTS LIKE PIVOT POINTS AND THE STRETCH POINTS 'WERE COMING DIRECTLY FROM THE PREVIOUS RECURSIVE LOCATIONS DUE TO RECURSIVE MODEL OF THESE CONDITIONS AS PER DEFINITIONS OF MATHEMATICAL MODELS THROUGH LOCKED SETS Dim CURRENT_PIVOT_X As Double Dim CURRENT_PIVOT_Y As Double

Dim CURRENT_STRETCH_X As Double Dim CURRENT_STRETCH_Y As Double

                    Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                    Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    
                    

                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS

                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    

                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ô") Then

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                    'Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 270)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ó") Then

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, -90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ö") Then

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ò") Then

GET_CURRENT_X_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA

End Function 'Public Function Public Function GET_CURRENT_X_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double(PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_Y_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN OR GIVEN SO WE WILL CALCULATE IN THAT WAY CONDITIONALLY FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

'SINCE FOR THE TAN THETA PRODUCTS ONLY THE NODAL POINT JUMPS FREELY AND SO WE DONT NEED TO CALCULATE OTHER POINTS CASES . THE OTHER POINTS LIKE PIVOT POINTS AND THE STRETCH POINTS 'WERE COMING DIRECTLY FROM THE PREVIOUS RECURSIVE LOCATIONS DUE TO RECURSIVE MODEL OF THESE CONDITIONS AS PER DEFINITIONS OF MATHEMATICAL MODELS THROUGH LOCKED SETS Dim CURRENT_PIVOT_X As Double Dim CURRENT_PIVOT_Y As Double

Dim CURRENT_STRETCH_X As Double Dim CURRENT_STRETCH_Y As Double

                    Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                    Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    
                    

                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS

                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    

                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ô") Then

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                    'Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 270)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ó") Then

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, -90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ö") Then

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ò") Then

GET_CURRENT_Y_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA

End Function 'Public Function Public Function GET_CURRENT_Y_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double(PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_X_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = STRETCH_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = STRETCH_X_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = NODE_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = NODE_X_PREVIOUS

End If

GET_CURRENT_X_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_X_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS Public Function GET_CURRENT_Y_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = STRETCH_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = STRETCH_Y_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = NODE_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = NODE_Y_PREVIOUS

End If

GET_CURRENT_Y_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_Y_FOR_PIVOT_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_X_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = NODE_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = NODE_X_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = STRETCH_X_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = STRETCH_X_PREVIOUS

End If

GET_CURRENT_X_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_X_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_Y_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME

Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

RETURN_DATA = NODE_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

RETURN_DATA = NODE_Y_PREVIOUS 'THIS HAS SAME EFFECT AS ô

End If

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

RETURN_DATA = STRETCH_Y_PREVIOUS

End If

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

RETURN_DATA = STRETCH_Y_PREVIOUS

End If

GET_CURRENT_Y_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA End Function 'Public Function GET_CURRENT_Y_FOR_STRETCH_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_X_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN OR GIVEN SO WE WILL CALCULATE IN THAT WAY CONDITIONALLY FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

'SINCE FOR THE TAN THETA PRODUCTS ONLY THE NODAL POINT JUMPS FREELY AND SO WE DONT NEED TO CALCULATE OTHER POINTS CASES . THE OTHER POINTS LIKE PIVOT POINTS AND THE STRETCH POINTS 'WERE COMING DIRECTLY FROM THE PREVIOUS RECURSIVE LOCATIONS DUE TO RECURSIVE MODEL OF THESE CONDITIONS AS PER DEFINITIONS OF MATHEMATICAL MODELS THROUGH LOCKED SETS Dim CURRENT_PIVOT_X As Double Dim CURRENT_PIVOT_Y As Double

Dim CURRENT_STRETCH_X As Double Dim CURRENT_STRETCH_Y As Double

                    Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                    Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    
                    

                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS

                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    

                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ô") Then

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                    'Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 270)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ó") Then

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, -90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ö") Then

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_X_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ò") Then

GET_CURRENT_X_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA

End Function 'Public Function Public Function GET_CURRENT_X_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double(PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double) As Double

'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'GENERALIZED WITH OPERATORS OPERATORS OPERATORS 'WE WILL MODEL FOR RIEMANN ZETA FUNCTIONS ALSO WHERE RECURSIVELY NEW LOCKED SETS ARE REQUIRED AND NO FIXED THETA IS THERE 'IF THERE IS FIXED THETA , THEN PREVIOUS LENGTHS RATIOS WILL WORK SO WE DONT HAVE TO THINK REGARDING SINGLE LOCKED SETS MODELING Public Function GET_CURRENT_Y_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double 'WE HAVE ASSUMED HERE THAT THE THETA IS NOT GIVEN OR GIVEN SO WE WILL CALCULATE IN THAT WAY CONDITIONALLY FOR THE LOCKED SET AND WE NEED TO PREPARE THE VALUES OF THETA FROM THE GIVEN LENGTHS 'WE WILL GENERATE THETA AT RUNTIME Dim RETURN_DATA As Double RETURN_DATA = 0

Dim PI As Double PI = Atn(1) * 4 'Dim THETA_IN_RADIANS As Double If (THETA_OF_FIXED_LOCKED_SET_DEGREES <> 0) Then THETA_IN_RADIANS = THETA_OF_FIXED_LOCKED_SET_DEGREES ' Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 Else THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180 End If

'SINCE FOR THE TAN THETA PRODUCTS ONLY THE NODAL POINT JUMPS FREELY AND SO WE DONT NEED TO CALCULATE OTHER POINTS CASES . THE OTHER POINTS LIKE PIVOT POINTS AND THE STRETCH POINTS 'WERE COMING DIRECTLY FROM THE PREVIOUS RECURSIVE LOCATIONS DUE TO RECURSIVE MODEL OF THESE CONDITIONS AS PER DEFINITIONS OF MATHEMATICAL MODELS THROUGH LOCKED SETS Dim CURRENT_PIVOT_X As Double Dim CURRENT_PIVOT_Y As Double

Dim CURRENT_STRETCH_X As Double Dim CURRENT_STRETCH_Y As Double

                    Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                    Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    
                    

                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                    Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double

If (CURRENT_OPERATOR_CHOSEN = "ô") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS

                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    

                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ô") Then

If (CURRENT_OPERATOR_CHOSEN = "ó") Then

                    CURRENT_PIVOT_X = STRETCH_X_PREVIOUS
                    CURRENT_PIVOT_Y = STRETCH_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = NODE_X_PREVIOUS
                    CURRENT_STRETCH_Y = NODE_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                    'Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                   ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 270)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ó") Then

If (CURRENT_OPERATOR_CHOSEN = "ö") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                   ' Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  ' Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, -90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ö") Then

If (CURRENT_OPERATOR_CHOSEN = "ò") Then

                    CURRENT_PIVOT_X = NODE_X_PREVIOUS
                    CURRENT_PIVOT_Y = NODE_Y_PREVIOUS
                    
                    CURRENT_STRETCH_X = STRETCH_X_PREVIOUS
                    CURRENT_STRETCH_Y = STRETCH_Y_PREVIOUS
                    
                    
                    'SINCE WE ARE NOT TAKING DATA FROM THE PREVIOUS LENGTHS OF LINE SEGMENTS SO WE ARE HERE TO CALCULATE THAT FROM THE BASE VALUES THROUGH PIVOT POINT AND STRETCH POINTS
                 '   Dim CURRENT_CALCULATED_LENGTH_OF_BASE As Double
                    
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_CALCULATED As Double
                    CURRENT_PERPENDICULAR_CALCULATED = 0
                    
                    
                    If (PERPENDICULAR <> 0 And BASE <> 0) Then
                    
                    
                    THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    Else
                    
                    CURRENT_CALCULATED_LENGTH_OF_BASE = 0
                    CURRENT_CALCULATED_LENGTH_OF_BASE = GET_LENGTH_FROM_POINTS_2D_FOR_GT(CURRENT_PIVOT_X, CURRENT_PIVOT_Y, CURRENT_STRETCH_X, CURRENT_STRETCH_Y)
                    
                    End If
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    'SINCE IN CASE OF
                    'WE WILL DO THIS LATER CONDITIONALLY      CURRENT_PERPENDICULAR_CALCULATED = CURRENT_CALCULATED_LENGTH_OF_BASE * Tan(THETA_IN_RADIANS)
                    
                    
                    
                    If (BASE = 0) Then
                       BASE = CURRENT_CALCULATED_LENGTH_OF_BASE
                    End If
                    
                    If (PERPENDICULAR = 0) Then
                    
                      CURRENT_PERPENDICULAR_CALCULATED = BASE * Tan(THETA_IN_RADIANS)
                      PERPENDICULAR = CURRENT_PERPENDICULAR_CALCULATED
                    End If
                    
                    'THIS IS NOT TO USE THETA_IN_RADIANS = Atn(PERPENDICULAR / BASE) ' THETA_IN_DEGREES * PI / 180
                    
                    
                    
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X As Double
                  '  Dim CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y As Double
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = 0
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = 0
                    
                    'FOR NORMAL O CIRCUMFLEX CASE WE ARE DOING THIS IN THIS WAY . THE POINTS CAN CHANGE FOR OTHER OPERATORS LIKE BACK SLASH AND DOUBLE DOTS
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X = GET_X_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y = GET_Y_OF_OFFSETTED_POINT_FROM_POINT_ALONG_POINT_AT_A_GIVEN_DISTANCE(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PIVOT_X, CURRENT_PIVOT_Y, PERPENDICULAR)
                    
                    
                    
                    
                    
                    RETURN_DATA = GET_2D_ROTATED_POINT_Y_ABOUT_OTHER_POINT(CURRENT_STRETCH_X, CURRENT_STRETCH_Y, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_X, CURRENT_PERPENDICULAR_LYING_ON_THE_CURRENT_BASE_Y, 90)

End If 'If (CURRENT_OPERATOR_CHOSEN = "ò") Then

GET_CURRENT_Y_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED = RETURN_DATA

End Function 'Public Function Public Function GET_CURRENT_Y_FOR_NODAL_BP_BP_OPERATOR_GENERALIZED(CURRENT_OPERATOR_CHOSEN As String, PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double, THETA_OF_FIXED_LOCKED_SET_DEGREES As Double) As Double(PIVOT_X_PREVIOUS As Double, PIVOT_Y_PREVIOUS As Double, STRETCH_X_PREVIOUS As Double, STRETCH_Y_PREVIOUS As Double, NODE_X_PREVIOUS As Double, NODE_Y_PREVIOUS As Double, PERPENDICULAR As Double, BASE As Double, HYPOTENUSE As Double) As Double