Nuke V2

Опубликовано: 15 Май 2026
на канале: N.Silencer
442
6

Chippe chippe skibidi
#defining types
type curve:
parabola { d, h, k }
circle { r, h, k }

#physical parameters
gravity = 9.81

#simulation configuration
startPointX = 4
startPointY = 2
curvetype = "parabola"
cVar = 1.0
cVarStep = 0.1
precision = 0.000001

#start of code!!!
def calculateSlope(curve,X):
match curve:
case curve/parabola:
return 2.0*(X - curve.h)
case curve/circle:
return 1.0

def calculateH(curve,X):
match curve:
case curve/parabola:
return curve.d * ((X - curve.h) ** 2.0)
case curve/circle:
return 1.0

def binaryCal(curve,X,totalX,depth,totalDepth):
if depth == totalDepth:
trueX = X - totalX / (2.0 ** (depth + 1.0))
slope = calculateSlope(curve,trueX)
vX = ((2.0 * gravity * calculateH(curve,trueX))/(1.0 + (slope ** 2.0))) ** 0.5
return (totalX / (2.0 ** (depth)))/vX
else:
return binaryCal(X,totalX,depth + 1.0,totalDepth)+binaryCal(X - (totalX / (2.0 ** (depth + 1.0))),totalX,depth + 1.0,totalDepth)

def main():
if curvetype == "parabola":
hp = 0.5 * (startPointX - (startPointY / (startPointX * cVar)))
kp = -1.0 * (cVar * (h ** 2.0))
return binaryCal(curve/parabola {d: cVar,h: hp,k: kp}, 2.0, 2.0, 0.0, 16.0)
else:
return 1.0