commit ce63a903450c6d36192150bfa0bfeba27f2e3229 Author: Simon Date: Mon Jan 7 23:32:13 2019 +0100 Inital commit diff --git a/AndroidManifest.xml b/AndroidManifest.xml new file mode 100644 index 0000000..9e67d86 --- /dev/null +++ b/AndroidManifest.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/VMC_Processing_Step3.pde b/VMC_Processing_Step3.pde new file mode 100644 index 0000000..fc1ffb8 --- /dev/null +++ b/VMC_Processing_Step3.pde @@ -0,0 +1,107 @@ +import ketai.sensors.*; +import processing.vr.*; + +KetaiSensor sensor; +float fontSize = 130*displayDensity; +float accelerometerX, accelerometerY, accelerometerZ, rotationX, rotationY, rotationZ; +ArrayList valuesAccelX = new ArrayList(); +ArrayList valuesAccelY = new ArrayList(); +ArrayList valuesAccelZ = new ArrayList(); +ArrayList valuesRotX = new ArrayList(); +ArrayList valuesRotY = new ArrayList(); +ArrayList valuesRotZ = new ArrayList(); + +void setup() +{ + sensor = new KetaiSensor(this); + sensor.start(); + + fullScreen(STEREO); + + textAlign(CENTER, CENTER); + textSize(fontSize); + + strokeWeight(6); + smooth(); +} + +float mapNum; +void draw() +{ + background(78, 93, 75); + + drawGraph(valuesAccelX, height / 2 - fontSize * 4); + drawGraph(valuesAccelY, height / 2 - fontSize * 3); + drawGraph(valuesAccelZ, height / 2 - fontSize * 2); + drawGraph(valuesRotX, height / 2 + fontSize * 3); + drawGraph(valuesRotY, height / 2 + fontSize * 4); + drawGraph(valuesRotZ, height / 2 + fontSize * 5); + + fill(255); + text("Accelerometer:", 0, -fontSize*5.5, width, height); + mapNum = mapColor(accelerometerX); + fill(mapNum, 255-mapNum, 0); + text("x: " + nfp(accelerometerX, 1, 3), 0, -fontSize*4, width, height); + mapNum = mapColor(accelerometerY); + fill(mapNum, 255-mapNum, 0); + text("y: " + nfp(accelerometerY, 1, 3), 0, -fontSize*3, width, height); + mapNum = mapColor(accelerometerZ); + fill(mapNum, 255-mapNum, 0); + text("z: " + nfp(accelerometerZ, 1, 3), 0, -fontSize*2, width, height); + fill(255); + text("Gyroscope:", 0, fontSize*1.5, width, height); + mapNum = mapColor(rotationX); + fill(mapNum, 255-mapNum, 0); + text("x: " + nfp(rotationX, 1, 3), 0, fontSize*3, width, height); + mapNum = mapColor(rotationY); + fill(mapNum, 255-mapNum, 0); + text("y: " + nfp(rotationY, 1, 3), 0, fontSize*4, width, height); + mapNum = mapColor(rotationZ); + fill(mapNum, 255-mapNum, 0); + text("z: " + nfp(rotationZ, 1, 3), 0, fontSize*5, width, height); +} + +float mapColor(float in){ + return map(in, -9.83, 9.83, 0, 255); +} + +void drawGraph(ArrayList values, float margin){ + float lineWidth = (float) width / (values.size() - 1); + for (int i=0; i < values.size() - 1; i++) { + line(i * lineWidth, margin + values.get(i), (i + 1) * lineWidth, margin + values.get(i + 1)); + } +} + +void onAccelerometerEvent(float x, float y, float z) +{ + valuesAccelX.add(int(x * 10)); + while(valuesAccelX.size() > 10) + valuesAccelX.remove(0); + valuesAccelY.add(int(y * 10)); + while(valuesAccelY.size() > 10) + valuesAccelY.remove(0); + valuesAccelZ.add(int(z * 10)); + while(valuesAccelZ.size() > 10) + valuesAccelZ.remove(0); + + accelerometerX = x; + accelerometerY = y; + accelerometerZ = z; +} + +void onGyroscopeEvent(float x, float y, float z) +{ + valuesRotX.add(int(x * 10)); + while(valuesRotX.size() > 10) + valuesRotX.remove(0); + valuesRotY.add(int(y * 10)); + while(valuesRotY.size() > 10) + valuesRotY.remove(0); + valuesRotZ.add(int(z * 10)); + while(valuesRotZ.size() > 10) + valuesRotZ.remove(0); + + rotationX = x; + rotationY = y; + rotationZ = z; +} diff --git a/code/sketch.properties b/code/sketch.properties new file mode 100644 index 0000000..ab2c3cf --- /dev/null +++ b/code/sketch.properties @@ -0,0 +1 @@ +component=vr diff --git a/sketch.properties b/sketch.properties new file mode 100644 index 0000000..6c0182c --- /dev/null +++ b/sketch.properties @@ -0,0 +1,2 @@ +mode=Android +mode.id=processing.mode.android.AndroidMode