ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >R1`f`f`f`f``f``f`ff``ff`ff``ff`f`f``f```f``f```f```````f`````````````f```````f`````````````f`f``f```f```f``ff```ff``ff``ff`ff````f````f```f````f``````````````````````````````f`ff``ff`ff``ff`ff```f```f``f```f``f``f`ff``f`````````````ffff`ffff`ffff``ff`f`f``f`f`fff`ffÁ-- title: 3d test -- author: EN -- desc: a 3d cube -- site: tarfile.itch.io -- license: MIT License (change this to your license of choice) -- version: 0.1 -- script: lua rx = 0.5 ry = 0.5 cube = { {x = -1, y = 1, z = 1}, {x = 1, y = 1, z = 1}, {x = -1, y = 1, z = -1}, {x = 1, y = 1, z = -1}, {x = -1, y = -1, z = 1}, {x = 1, y = -1, z = 1}, {x = -1, y = -1, z = -1}, {x = 1, y = -1, z = -1}, {x = 1, y = 1, z = 1}, {x = 1, y = 1, z = -1}, {x = -1, y = 1, z = 1}, {x = -1, y = 1, z = -1}, {x = 1, y = -1, z = 1}, {x = 1, y = -1, z = -1}, {x = -1, y = -1, z = 1}, {x = -1, y = -1, z = -1}, {x = 1, y = -1, z = 1}, {x = 1, y = 1, z = 1}, {x = -1, y = -1, z = 1}, {x = -1, y = 1, z = 1}, {x = 1, y = -1, z = -1}, {x = 1, y = 1, z = -1}, {x = -1, y = -1, z = -1}, {x = -1, y = 1, z = -1} } function rotate(a, b, theta) return a*math.cos(theta)-b*math.sin(theta), a*math.sin(theta)+b*math.cos(theta) end function copy_table(tb) nt = {} for k, v in pairs(tb) do nt[k] = v end return nt end function TIC() if btn(0) then ry=ry-0.03 end if btn(1) then ry=ry+0.03 end if btn(2) then rx=rx-0.03 end if btn(3) then rx=rx+0.03 end cls(0) rotated_cube = {} for index, cline in ipairs(cube) do rotated_cube[index] = copy_table(cline) rotated_cube[index].x, rotated_cube[index].z = rotate(rotated_cube[index].x, rotated_cube[index].z, rx) rotated_cube[index].y, rotated_cube[index].z = rotate(rotated_cube[index].y, rotated_cube[index].z, ry) end for index = 1, #rotated_cube, 2 do line( (rotated_cube[index].x + 2)*30, (rotated_cube[index].y + 2)*30, (rotated_cube[index+1].x +2)*30, (rotated_cube[index+1].y + 2)*30, 6 ) end end