Kernel rig: boundary fill cases, the lens and the crescent of two cylinders, and a point outside every tool refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-29 16:50:20 -04:00
committed by Irakli Kourtis
parent be4f15db63
commit a5513a4e17
6 changed files with 175 additions and 0 deletions
@@ -0,0 +1,21 @@
{
"sources": [],
"what": "Boundary Fill of the cell inside one cylinder and outside the other: the crescent",
"source": "analytic",
"method": "A minus the lens: 1000 pi - 1228.370; faces: bottom, top, A's outer arc, B's inner arc = 4",
"body_count": 1,
"faces": 4,
"volume_mm3": 1913.222954981036,
"bbox": {
"min": [
-10,
-10,
0
],
"max": [
10,
10,
10
]
}
}
@@ -0,0 +1,42 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 10,
"body_name": "A"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 10,
"base": [
10,
0,
0
],
"body_name": "B"
}
},
{
"command": "solid.boundary_fill",
"params": {
"tools": [
"A",
"B"
],
"cells": [
[
-5,
0,
5
]
],
"remove_tools": true
}
}
]
}
@@ -0,0 +1,21 @@
{
"sources": [],
"what": "Boundary Fill of the cell inside both of two overlapping cylinders (r10, axes 10 apart): the lens",
"source": "analytic",
"method": "two circles r with centres d = r apart overlap in 2r^2 acos(d/2r) - (d/2) sqrt(4r^2-d^2) = 200 pi/3 - 5 sqrt 300 = 122.837; h 10. Faces: bottom, top, two cylinder arcs = 4",
"body_count": 1,
"faces": 4,
"volume_mm3": 1228.3696986087568,
"bbox": {
"min": [
0,
-8.660254037844387,
0
],
"max": [
10,
8.660254037844387,
10
]
}
}
@@ -0,0 +1,42 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 10,
"body_name": "A"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 10,
"base": [
10,
0,
0
],
"body_name": "B"
}
},
{
"command": "solid.boundary_fill",
"params": {
"tools": [
"A",
"B"
],
"cells": [
[
5,
0,
5
]
],
"remove_tools": true
}
}
]
}
@@ -0,0 +1,8 @@
{
"sources": [],
"what": "a cell point outside every tool encloses nothing: refused",
"source": "analytic",
"method": "(50,50,5) is in neither cylinder: no cell there, a clean refusal",
"outcome": "refused",
"refusal": "outside every tool"
}
@@ -0,0 +1,41 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 10,
"body_name": "A"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 10,
"base": [
10,
0,
0
],
"body_name": "B"
}
},
{
"command": "solid.boundary_fill",
"params": {
"tools": [
"A",
"B"
],
"cells": [
[
50,
50,
5
]
]
}
}
]
}