Kernel rig: construction cases, a plane through an edge or axis square to a plane, and a line along the normal refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-29 17:10:12 -04:00
committed by Irakli Kourtis
parent e0e3798ae7
commit 3ff1347d90
6 changed files with 127 additions and 0 deletions
@@ -0,0 +1,8 @@
{
"sources": [],
"what": "a perpendicular plane through the plane's normal",
"source": "analytic",
"method": "the Z axis is square to XY: every plane holding it is perpendicular, so none is the answer: refused",
"outcome": "refused",
"refusal": "the line is square to the plane"
}
@@ -0,0 +1,14 @@
{
"commands": [
{
"command": "construct.plane.perpendicular",
"params": {
"plane": "XY",
"line": {
"axis": "Z"
},
"name": "P"
}
}
]
}
@@ -0,0 +1,22 @@
{
"sources": [],
"what": "a plane through a box's bottom-front edge square to XY",
"source": "analytic",
"method": "box 40 x 30 x 20 with a corner at the origin (x 0..40, y 0..30, z 0..20): the edge y 0, z 0 runs along X; holding it and square to XY: normal X x Z = -Y: y = 0",
"construction": {
"P": {
"plane": {
"through": [
7,
0,
3
],
"normal": [
0,
1,
0
]
}
}
}
}
@@ -0,0 +1,27 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "Box"
}
},
{
"command": "construct.plane.perpendicular",
"params": {
"plane": "XY",
"line": {
"edge": [
20,
0,
0
]
},
"name": "P"
}
}
]
}
@@ -0,0 +1,22 @@
{
"sources": [],
"what": "a plane through a diagonal axis in XY, square to XY",
"source": "analytic",
"method": "the axis from (0,0,0) to (10,10,0); square to XY and holding it: normal (1,1,0) x Z = (1,-1,0), through the origin",
"construction": {
"P": {
"plane": {
"through": [
5,
5,
7
],
"normal": [
1,
-1,
0
]
}
}
}
}
@@ -0,0 +1,34 @@
{
"commands": [
{
"command": "construct.axis.two_points",
"params": {
"a": {
"point": [
0,
0,
0
]
},
"b": {
"point": [
10,
10,
0
]
},
"name": "D"
}
},
{
"command": "construct.plane.perpendicular",
"params": {
"plane": "XY",
"line": {
"axis": "D"
},
"name": "P"
}
}
]
}