Advertisement
Guest User

startup

a guest
Jul 20th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.69 KB | None | 0 0
  1. function calcDeterminant(matrix)
  2.   local determinant = 0
  3.   for i = 1, table.getn(matrix), 1 do
  4.     if table.getn(matrix) > 2 then
  5.       local newMatrix = {}
  6.       local line = 1
  7.       for j = 1, table.getn(matrix), 1 do
  8.         if j ~= i then
  9.           newMatrix[line] = {}
  10.           for k = 2, table.getn(matrix), 1 do
  11.             newMatrix[line][k - 1] = matrix[j][k]
  12.           end
  13.           line = line + 1
  14.         end
  15.       end
  16.       local value = matrix[i][1] * calcDeterminant(newMatrix)
  17.       if i % 2 == 0 then
  18.         value = value * -1
  19.       end
  20.       determinant = determinant + value
  21.     elseif table.getn(matrix) == 2 then
  22.       determinant = matrix[1][1] * matrix[2][2] - matrix[1][2] * matrix[2][1]
  23.     end
  24.   end
  25.   return determinant
  26. end
  27.  
  28. local modem = peripheral.wrap("top")
  29.  
  30. modem.open(2)
  31.  
  32. while(true) do
  33.   local event, side, freq, repFreq, message1, distance = os.pullEvent("modem_message")
  34.   print(message1)
  35.   event, side, freq, repFreq, message2, distance = os.pullEvent("modem_message")
  36.   print(message2)
  37.   event, side, freq, repFreq, message3, distance = os.pullEvent("modem_message")
  38.   print(message3)
  39.   --event, side, freq, repFreq, message4, distance = os.pullEvent("modem_message")
  40.   --print(message4)
  41.   local matrix = {{2 * message1["x"], 2 * message1["y"], 2 * message1["z"]}, {2 * message2["x"], 2 * message2["y"], 2 * message2["z"]}, {2 * message3["x"], 2 * message3["y"], 2 * message3["z"]}}
  42.   local D = calcDeterminant(matrix)
  43.   print(D)
  44.   local DxMatrix = matrix
  45.   DxMatrix[1][1] = message1["dist"] - message1["x"] * message1["x"] - message1["y"] * message1["y"] - message1["z"] * message1["z"]
  46.   modem.transmit(3, 0, "Pong")
  47.   print("Message Sent")
  48. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement