Can someone explain this code?

Hello, I was making a door, but I found a script in the toolbox and it didn’t explain that much what was happening. Here’s the code(Just explain the math things like ToObjectSpace)

    if not opened then
        opened = not opened
        local hingeBefore = clicktoOpenPart.CFrame *, 0, 0)
        local relative = hingeBefore:toObjectSpace(clicktoOpenPart.CFrame)
        local hingeAfter = hingeBefore * CFrame.Angles(0, math.rad(90), 0)
        local tweenProperties = -- Time
        local result = {CFrame = hingeAfter:toWorldSpace(relative)}
        local tween = ts:Create(clicktoOpenPart,tweenProperties,result)
        opened = not opened
        ts:Create(clicktoOpenPart,, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0), {CFrame = oldcf}):Play();

That isn’t clear for me, sorry

Click this link, and find what you’re looking for: ToWorldSpace - Google Search. This might be useful too: Understanding Cframes

CFrame’s have a function named toWorldSpace(ExampleCFrame) that returns a CFrame value that is converted to world space from object space. If you don’t know what object or world space are read Object and World Space article here and Understanding CFrames article here.

Moving onto the line with CFrame.Angles(0, math.rad(90), 0), CFrame.Angles() takes 3 rotation value arguments that must be in radians which is why math.rad() is used here so we can convert an angle in degrees to radians and use it in CFrame.Angles().

Other than this, there isn’t much math related stuff in this code.