40 lines
881 B

  1. calc = {}
  2. -- G-Constant
  3. calc.G = 6.67e-11 -- TWEAKABLE FOR LATER DEPENDING ON SCALE!!!!!!!!!!!
  4. calc.pi = 3.14
  5. -- Development debugging/logging thing
  6. function calc.debug(text)
  7. if calc.isDebug then
  8. local cDev = clr.fg.RED
  9. local cText = clr.fg.YELLOW
  10. local cReset = clr.reset
  11. print(cDev.."DEV: "..cText..text..cReset)
  12. end
  13. end
  14. -- 0-255 colour to 0-1 colour (returns a table)
  15. function calc.colour(r, g, b)
  16. return { r/255, g/255, b/255 }
  17. end
  18. -- 0-255 colour value to 0-1 colour value
  19. function calc.c(value)
  20. return value/255
  21. end
  22. -- Distance Formula:
  23. function calc.distance(x1, y1, x2, y2)
  24. return math.sqrt( (x2 - x1)^2 + (y2 - y1)^2 )
  25. end
  26. -- Calculates the gravitational pull between two objects:
  27. function calc.gPull(obj1, obj2)
  28. local dist = calc.distance(obj1.x, obj1.y, obj2.x, obj2.y)
  29. local grav = calc.G * (obj1.m * obj2.m) / dist^2
  30. return grav
  31. end
  32. return calc