Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function calcDeterminant(matrix)
- local determinant = 0
- for i = 1, table.getn(matrix), 1 do
- if table.getn(matrix) > 2 then
- local newMatrix = {}
- local line = 1
- for j = 1, table.getn(matrix), 1 do
- if j ~= i then
- newMatrix[line] = {}
- for k = 2, table.getn(matrix), 1 do
- newMatrix[line][k - 1] = matrix[j][k]
- end
- line = line + 1
- end
- end
- local value = matrix[i][1] * calcDeterminant(newMatrix)
- if i % 2 == 0 then
- value = value * -1
- end
- determinant = determinant + value
- elseif table.getn(matrix) == 2 then
- determinant = matrix[1][1] * matrix[2][2] - matrix[1][2] * matrix[2][1]
- end
- end
- return determinant
- end
- local modem = peripheral.wrap("top")
- modem.open(2)
- while(true) do
- local event, side, freq, repFreq, message1, distance = os.pullEvent("modem_message")
- print(message1)
- event, side, freq, repFreq, message2, distance = os.pullEvent("modem_message")
- print(message2)
- event, side, freq, repFreq, message3, distance = os.pullEvent("modem_message")
- print(message3)
- --event, side, freq, repFreq, message4, distance = os.pullEvent("modem_message")
- --print(message4)
- 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"]}}
- local D = calcDeterminant(matrix)
- print(D)
- local DxMatrix = matrix
- DxMatrix[1][1] = message1["dist"] - message1["x"] * message1["x"] - message1["y"] * message1["y"] - message1["z"] * message1["z"]
- modem.transmit(3, 0, "Pong")
- print("Message Sent")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement