braille visualizer fix
This commit is contained in:
parent
37df0dda73
commit
a25ce3a255
1 changed files with 141 additions and 42 deletions
|
@ -51,33 +51,141 @@ public class Mono {
|
|||
// "u", "v", "w", "x", "y", "z"
|
||||
// };
|
||||
Character[] characters = new Character[] {
|
||||
new Character("_", new int[] {0, 0, 0, 0, 0, 0}),
|
||||
new Character("a", new int[] {1, 0, 0, 0, 0, 0}),
|
||||
new Character("b", new int[] {1, 0, 1, 0, 0, 0}),
|
||||
new Character("c", new int[] {1, 1, 0, 0, 0, 0}),
|
||||
new Character("d", new int[] {1, 1, 0, 1, 0, 0}),
|
||||
new Character("e", new int[] {1, 0, 0, 1, 0, 0}),
|
||||
new Character("f", new int[] {1, 1, 1, 0, 0, 0}),
|
||||
new Character("g", new int[] {1, 1, 1, 1, 0, 0}),
|
||||
new Character("h", new int[] {1, 0, 1, 1, 0, 0}),
|
||||
new Character("i", new int[] {0, 1, 1, 0, 0, 0}),
|
||||
new Character("j", new int[] {0, 1, 1, 1, 0, 0}),
|
||||
new Character("k", new int[] {1, 0, 0, 0, 1, 0}),
|
||||
new Character("l", new int[] {1, 0, 1, 0, 1, 0}),
|
||||
new Character("m", new int[] {1, 1, 0, 0, 1, 0}),
|
||||
new Character("n", new int[] {1, 1, 0, 1, 1, 0}),
|
||||
new Character("o", new int[] {1, 0, 0, 1, 1, 0}),
|
||||
new Character("p", new int[] {1, 1, 1, 0, 1, 0}),
|
||||
new Character("q", new int[] {1, 1, 1, 1, 1, 0}),
|
||||
new Character("r", new int[] {1, 0, 1, 1, 1, 0}),
|
||||
new Character("s", new int[] {0, 1, 1, 0, 1, 0}),
|
||||
new Character("t", new int[] {0, 1, 1, 1, 1, 0}),
|
||||
new Character("u", new int[] {1, 0, 0, 0, 1, 1}),
|
||||
new Character("v", new int[] {1, 0, 1, 0, 1, 1}),
|
||||
new Character("w", new int[] {0, 1, 1, 1, 0, 1}),
|
||||
new Character("x", new int[] {1, 1, 0, 0, 1, 1}),
|
||||
new Character("y", new int[] {1, 1, 0, 1, 1, 1}),
|
||||
new Character("z", new int[] {1, 0, 0, 1, 1, 1})
|
||||
new Character("_", new int[] {
|
||||
0, 0,
|
||||
0, 0,
|
||||
0, 0
|
||||
}),
|
||||
new Character("a", new int[] {
|
||||
1, 0,
|
||||
0, 0,
|
||||
0, 0
|
||||
}),
|
||||
new Character("b", new int[] {
|
||||
1, 0,
|
||||
1, 0,
|
||||
0, 0
|
||||
}),
|
||||
new Character("c", new int[] {
|
||||
1, 1,
|
||||
0, 0,
|
||||
0, 0
|
||||
}),
|
||||
new Character("d", new int[] {
|
||||
1, 1,
|
||||
0, 1,
|
||||
0, 0
|
||||
}),
|
||||
new Character("e", new int[] {
|
||||
1, 0,
|
||||
0, 1,
|
||||
0, 0
|
||||
}),
|
||||
new Character("f", new int[] {
|
||||
1, 1,
|
||||
1, 0,
|
||||
0, 0
|
||||
}),
|
||||
new Character("g", new int[] {
|
||||
1, 1,
|
||||
1, 1,
|
||||
0, 0
|
||||
}),
|
||||
new Character("h", new int[] {
|
||||
1, 0,
|
||||
1, 1,
|
||||
0, 0
|
||||
}),
|
||||
new Character("i", new int[] {
|
||||
0, 1,
|
||||
1, 0,
|
||||
0, 0
|
||||
}),
|
||||
new Character("j", new int[] {
|
||||
0, 1,
|
||||
1, 1,
|
||||
0, 0
|
||||
}),
|
||||
new Character("k", new int[] {
|
||||
1, 0,
|
||||
0, 0,
|
||||
1, 0
|
||||
}),
|
||||
new Character("l", new int[] {
|
||||
1, 0,
|
||||
1, 0,
|
||||
1, 0
|
||||
}),
|
||||
new Character("m", new int[] {
|
||||
1, 1,
|
||||
0, 0,
|
||||
1, 0
|
||||
}),
|
||||
new Character("n", new int[] {
|
||||
1, 1,
|
||||
0, 1,
|
||||
1, 0
|
||||
}),
|
||||
new Character("o", new int[] {
|
||||
1, 0,
|
||||
0, 1,
|
||||
1, 0
|
||||
}),
|
||||
new Character("p", new int[] {
|
||||
1, 1,
|
||||
1, 0,
|
||||
1, 0
|
||||
}),
|
||||
new Character("q", new int[] {
|
||||
1, 1,
|
||||
1, 1,
|
||||
1, 0
|
||||
}),
|
||||
new Character("r", new int[] {
|
||||
1, 0,
|
||||
1, 1,
|
||||
1, 0
|
||||
}),
|
||||
new Character("s", new int[] {
|
||||
0, 1,
|
||||
1, 0,
|
||||
1, 0
|
||||
}),
|
||||
new Character("t", new int[] {
|
||||
0, 1,
|
||||
1, 1,
|
||||
1, 0
|
||||
}),
|
||||
new Character("u", new int[] {
|
||||
1, 0,
|
||||
0, 0,
|
||||
1, 1
|
||||
}),
|
||||
new Character("v", new int[] {
|
||||
1, 0,
|
||||
1, 0,
|
||||
1, 1
|
||||
}),
|
||||
new Character("w", new int[] {
|
||||
0, 1,
|
||||
1, 1,
|
||||
0, 1
|
||||
}),
|
||||
new Character("x", new int[] {
|
||||
1, 1,
|
||||
0, 0,
|
||||
1, 1
|
||||
}),
|
||||
new Character("y", new int[] {
|
||||
1, 1,
|
||||
0, 1,
|
||||
1, 1
|
||||
}),
|
||||
new Character("z", new int[] {
|
||||
1, 0,
|
||||
0, 1,
|
||||
1, 1
|
||||
})
|
||||
};
|
||||
|
||||
|
||||
|
@ -113,8 +221,8 @@ public class Mono {
|
|||
monoNet.send = true;
|
||||
}
|
||||
|
||||
int xi = (int)(rig.hand_1.palm.position.x * 20f);
|
||||
xi = Math.Clamp(xi + 10, 0, 26);
|
||||
int xi = (int)(rig.hand_1.palm.position.x * 25f);
|
||||
xi = Math.Clamp(xi + 4, 0, 26);
|
||||
|
||||
Matrix palm_ori = rig.hand_1.palm.ToMatrix();
|
||||
Vec3 thumb_tip = palm_ori.Inverse * rig.hand_1.Get(FingerId.Thumb, JointId.Tip).position;
|
||||
|
@ -147,24 +255,15 @@ public class Mono {
|
|||
// show the braille dots(spheres) above the text
|
||||
for (int i = 0; i < 6; i++) {
|
||||
float spacing = 0.015f;
|
||||
float x_offset = i > 2 ? spacing * 0.5f : -spacing * 0.5f;
|
||||
float y_offset = i > 2 ? (i - 3) * spacing : i * spacing;
|
||||
// Mesh.Sphere.Draw(
|
||||
// mat.mono,
|
||||
// Matrix.TS(
|
||||
//
|
||||
// 0.1f
|
||||
// ),
|
||||
// Color.White
|
||||
// );
|
||||
float x_offset = (i % 2) * spacing;
|
||||
float y_offset = (i / 2) * -spacing;
|
||||
if (characters[last_xi].dots[i] == 1) {
|
||||
Mesh.Sphere.Draw(
|
||||
mat.mono,
|
||||
Matrix.TS(
|
||||
// rig.hand_1.palm.position + V.XYZ(x_offset, 0.1f, 0) + V.XYZ(0, 0.1f, 0) * i,
|
||||
rig.hand_1.palm.position + V.XYZ(0, 0.2f, 0) + V.XYZ(x_offset, y_offset, 0),
|
||||
rig.hand_1.palm.position + V.XYZ(x_offset, y_offset, 0) * rig.head_ori,
|
||||
0.01f
|
||||
) * Matrix.R(rig.head_ori),
|
||||
),
|
||||
Color.White
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue