aboutsummaryrefslogtreecommitdiff
path: root/scenefiles-4d
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2023-12-13 13:47:44 -0500
committersotech117 <michael_foiani@brown.edu>2023-12-13 13:47:44 -0500
commit33a1cdc3532d145944b00a4ca03fd01d4d5b9532 (patch)
tree833760d85ed92c39c1f9ffbd591dde4cf619689e /scenefiles-4d
parent4fb06778c1a19914c759ab5db495754b1fd9e2c3 (diff)
get the collision detections for cubes and sphers to work using specific cases of separate axis theorem. however, the velocities are no longer flipping.
Diffstat (limited to 'scenefiles-4d')
-rw-r--r--scenefiles-4d/cube_cube_collision.json66
-rw-r--r--scenefiles-4d/cube_sphere_collision.json66
-rw-r--r--scenefiles-4d/five_shapes.json7
-rw-r--r--scenefiles-4d/unit_cube.json14
4 files changed, 150 insertions, 3 deletions
diff --git a/scenefiles-4d/cube_cube_collision.json b/scenefiles-4d/cube_cube_collision.json
new file mode 100644
index 0000000..14867fb
--- /dev/null
+++ b/scenefiles-4d/cube_cube_collision.json
@@ -0,0 +1,66 @@
+{
+ "name": "root",
+ "globalData": {
+ "ambientCoeff": 0.5,
+ "diffuseCoeff": 0.5,
+ "specularCoeff": 0.5,
+ "transparentCoeff": 0,
+ "gravity": [0.0, -0.0098, 0.0, 0.0]
+ },
+ "cameraData": {
+ "position": [3.0, 3.0, 3.0, 3.0],
+ "up": [0.0, 1.0, 0.0, 0.0],
+ "heightAngle": 30.0,
+ "depthAngle": 30.0,
+ "focus": [0.0, 0.0, 0.0, 0.0],
+ "over": [0.0, 0.0, 0.0, 1.0]
+ },
+ "groups": [
+ {
+ "lights": [
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [0.0, -1.0, 0.0, 0.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [1.0, 1.0, 3.0, 3.0]
+ }
+ ]
+ },
+ {
+ "groups": [
+ {
+ "translate": [-1.0, 0.0, 0.0, 0.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "cube",
+ "diffuse": [1.0, 0.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [0.0, 0.0, 0.0, 0.0]
+ }
+ ]
+ },
+ {
+ "translate": [5.0, 0.0, 0.0, 5.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "cube",
+ "diffuse": [0.0, 1.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [-0.1, 0.0, 0.0, -0.1]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/scenefiles-4d/cube_sphere_collision.json b/scenefiles-4d/cube_sphere_collision.json
new file mode 100644
index 0000000..dad0721
--- /dev/null
+++ b/scenefiles-4d/cube_sphere_collision.json
@@ -0,0 +1,66 @@
+{
+ "name": "root",
+ "globalData": {
+ "ambientCoeff": 0.5,
+ "diffuseCoeff": 0.5,
+ "specularCoeff": 0.5,
+ "transparentCoeff": 0,
+ "gravity": [0.0, -0.0098, 0.0, 0.0]
+ },
+ "cameraData": {
+ "position": [3.0, 3.0, 3.0, 3.0],
+ "up": [0.0, 1.0, 0.0, 0.0],
+ "heightAngle": 30.0,
+ "depthAngle": 30.0,
+ "focus": [0.0, 0.0, 0.0, 0.0],
+ "over": [0.0, 0.0, 0.0, 1.0]
+ },
+ "groups": [
+ {
+ "lights": [
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [0.0, -1.0, 0.0, 0.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [1.0, 1.0, 3.0, 3.0]
+ }
+ ]
+ },
+ {
+ "groups": [
+ {
+ "translate": [-1.0, 0.0, 0.0, 0.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "cube",
+ "diffuse": [1.0, 0.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [0.0, 0.0, 0.0, 0.0]
+ }
+ ]
+ },
+ {
+ "translate": [5.0, 0.0, 0.0, 5.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "sphere",
+ "diffuse": [0.0, 1.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [-0.1, 0.0, 0.0, -0.1]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/scenefiles-4d/five_shapes.json b/scenefiles-4d/five_shapes.json
index c6c6645..4a49ef2 100644
--- a/scenefiles-4d/five_shapes.json
+++ b/scenefiles-4d/five_shapes.json
@@ -20,7 +20,12 @@
{
"type": "directional",
"color": [1.0, 1.0, 1.0],
- "direction": [-3.0, -2.0, -1.0]
+ "direction": [-3.0, 2.0, -1.0, 1.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [3.0, -2.0, -3.0, 1.0]
}
]
},
diff --git a/scenefiles-4d/unit_cube.json b/scenefiles-4d/unit_cube.json
index 6b1ee6f..b21615a 100644
--- a/scenefiles-4d/unit_cube.json
+++ b/scenefiles-4d/unit_cube.json
@@ -21,7 +21,17 @@
{
"type": "directional",
"color": [1.0, 1.0, 1.0],
- "direction": [-3.0, -2.0, -1.0, 0.0]
+ "direction": [3.0, 3.0, 3.0, 3.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 0.0, 0.0],
+ "direction": [3.0, -3.0, 3.0, -3.0]
+ },
+ {
+ "type": "directional",
+ "color": [0.0, 0.0, 1.0],
+ "direction": [-3.0, 3.0, 3.0, -3.0]
}
]
},
@@ -34,7 +44,7 @@
"primitives": [
{
"type": "cube",
- "diffuse": [1.0, 0.0, 0.0],
+ "diffuse": [1.0, 0.0, 1.0],
"specular": [1.0, 1.0, 1.0],
"shininess": 25.0,
"velocity": [0.0, 0.0, 0.0, 0.0]