summaryrefslogtreecommitdiff
path: root/vec3-cross.lua
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2024-11-02 13:56:34 +0100
committerAki <please@ignore.pl>2024-11-02 13:56:34 +0100
commit690f62d324531d2a81789dc98784ce7bdb7a02b3 (patch)
tree0dfea4880b6d6f00dd426046f9b2e1947a09c7b7 /vec3-cross.lua
parent0b0e02875dbc4d7d795cafe6e5720aa66b32e1ac (diff)
downloadnoita-eyes-690f62d324531d2a81789dc98784ce7bdb7a02b3.zip
noita-eyes-690f62d324531d2a81789dc98784ce7bdb7a02b3.tar.gz
noita-eyes-690f62d324531d2a81789dc98784ce7bdb7a02b3.tar.bz2
Cleaned up and added vector analysis sketches
Document: https://docs.google.com/document/d/e/2PACX-1vQGlulwLMO4xRPyRx5aZY0mbhlPh2NaeJYUSn3WAlRJNDB2VRsrTP3VjojQiI1l6LnubOpT_ZeheEEQ/pub Discord: https://discord.com/channels/453998283174576133/817530812454010910/1299800278739976263
Diffstat (limited to 'vec3-cross.lua')
-rwxr-xr-xvec3-cross.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/vec3-cross.lua b/vec3-cross.lua
new file mode 100755
index 0000000..304c9f5
--- /dev/null
+++ b/vec3-cross.lua
@@ -0,0 +1,41 @@
+#!/usr/bin/env lua
+local eyes = require "eyes"
+local format = require "format"
+local reading = require "reading"
+local vec3 = require "cpml".vec3
+local readout = {
+ [0] = vec3.new{ 0, 0, 1},
+ [1] = vec3.new{ 0, 1, 0},
+ [2] = vec3.new{ 1, 0, 0},
+ [3] = vec3.new{ 0, -1, 0},
+ [4] = vec3.new{-1, 0, 0},
+}
+local translation = {
+ vec3.new{ 0, 0, 0},
+ vec3.new{ 0, 0, 1},
+ vec3.new{ 0, 1, 0},
+ vec3.new{ 1, 0, 0},
+ vec3.new{ 0, 0, -1},
+ vec3.new{ 0, -1, 0},
+ vec3.new{-1, 0, 0},
+}
+
+
+function translate (v)
+ for i, r in ipairs(translation) do
+ if r == v then
+ return i - 1
+ end
+ end
+ error "unexpected vec3"
+end
+
+
+for _, message in ipairs(eyes) do
+ local values = {}
+ for _, a, b, c in reading.trigrams(message) do
+ local v = readout[a]:cross(readout[b]):cross(readout[c])
+ table.insert(values, translate(v))
+ end
+ print(format.csv(values))
+end