E4 ยท Publication Volume 26

Solids and Volumes

closed surfaces, inside and outside tests, and Boolean operations

Learning objectives

  • Explain the decision and evidence boundary for closed surfaces, inside and outside tests, and Boolean operations.
  • Select and implement the relevant representation or algorithm without hidden coordinate, support or topology assumptions.
  • Separate exact predicates, approximation error, source uncertainty and visual delivery.
  • Produce a closed-solid contract with side, volume and Boolean golden cases from synthetic evidence.

The lesson is complete only when the learner can defend the representation, transform, predicates, tests and release decision. A visually clean map or 3D scene without executable invariants and provenance remains unverified.

This is a general, institution-neutral tutorial with no relationship to any company or individual. All coordinates, geometries, grids, points, surfaces, volumes, attributes and review events in the lesson are synthetic and must not be used for an operational decision.

Decision context

The decision is whether a boundary representation defines a usable solid under a declared interior rule. A visually closed shell may have gaps, self-intersections, duplicate sheets or inconsistent orientation that make inside and volume ambiguous. The contract states closure, manifoldness, orientation, component and cavity semantics, boundary classification, tolerance policy and Boolean expectations. If the boundary cannot support a unique interior, the object remains a surface or a conflicted solid candidate rather than being promoted by label.

Write the intended use, consequence of error, required evidence, spatial support and release authority before selecting a representation or transformation. Fitness is evaluated against a versioned contract and use, not attached permanently to a file extension.

Core concept

A solid boundary separates bounded interior, boundary and exterior. Point-side tests must be able to return all three states because a point on the boundary is not safely inside or outside. Ray parity can classify many closed non-self-intersecting meshes, but tangency, vertices, coplanarity and nested components require robust handling. Signed distance adds magnitude but depends on a valid orientation and nearest-boundary calculation. Boolean union, intersection and difference combine both geometry and topology and can create small components or slivers that require reporting, not silent deletion.

Keep received evidence, accepted analytical views and derived representations as distinct objects. This allows corrected evidence, a changed transform or a new level of detail to generate a new result without rewriting history. Every coordinate and primitive therefore answers both a spatial question and a provenance question.

Algorithm and data model

Validate the boundary mesh before constructing a solid object. Store shell components and their containment hierarchy so outer shells and cavities are not inferred from file order. Orient each reviewed component consistently and record how orientation was determined. Point-side output contains inside, outside, boundary or indeterminate plus the solid and predicate version. Boolean processing uses canonical input frames, performs intersection and corefinement, classifies resulting patches, assembles components and validates the result anew. It never assumes Boolean output is valid merely because the operation returned.

Define parsing, semantic validation, canonicalisation, indexing, exact or approximate calculation, quality evaluation and encoding as separate stages. Each stage emits structured output and does not depend on interface state, file order, graphics-driver behaviour or undocumented defaults.

Constraints and invariants

| Invariant | Executable or review test | | --- | --- | | A solid is created only from a boundary that satisfies its declared closure contract. | Reject or quarantine the exact affected object and preserve the received representation. | | Point-side predicates retain inside, outside, boundary and indeterminate states. | Evaluate this condition before creating a derived geometry, grid, surface or volume. | | Component nesting and cavity semantics are explicit rather than file-order based. | Record the predicate, tolerance policy, observed values and coordinate frame. | | Every Boolean result is revalidated and checked against volume identities. | Make every repair a new version and rerun all dependent golden cases. |

An invariant must survive import, transformation, processing, export and rerun. A failed hard invariant produces no apparently valid substitute. Diagnostics remain visible with predicate, threshold, coordinate frame, scope and evidence, and require a reviewed rule before they can trigger repair.

Quantitative reasoning

For a closed consistently oriented triangle mesh, signed volume relative to an origin is V=\tfrac16\sum_f a_f\cdot(b_f\times c_f). Translation should not change the final volume when computation is stable, though using a nearby local origin improves intermediate conditioning. Report signed and absolute volume, surface area, component and cavity counts, boundary classification fixtures, minimum feature size, Boolean input and output volumes and symmetric-difference checks. For two valid solids, union and intersection should satisfy V(A\cup B)+V(A\cap B)=V(A)+V(B) within the declared numerical policy.

Every metric includes units, support, numerator and denominator where applicable, exclusions, comparison policy and evaluation version. Aggregate metrics are stratified when pooling can hide local geometry failure. A performance gain cannot overrule invalid topology, missing reference metadata or broken lineage.

Evidence and uncertainty

Keep acquisition uncertainty, interpretation uncertainty, discretisation error, numeric round-off and delivery error separate. Increasing coordinate digits or triangle count does not improve the original evidence. A sampled surface may be smooth and watertight while remaining poorly constrained between observations. Report uncertainty in the quantity and support to which it belongs.

Build an evidence packet containing immutable received objects, semantic declarations, validation findings, transform inputs and outputs, measured errors, test results, reviewer decisions and fingerprints. Contradictory evidence remains available. When a required reference, topology state or classification cannot be resolved, return unknown, conflict or blocked rather than inventing geometry.

Interfaces and storage

Interfaces transmit identity, coordinate reference, units, axis order, support, topology expectations, attribute association, null state, version and lineage beside coordinates. Structured errors identify the object, primitive, predicate, observed value, expected condition and rule. An interface that carries vertices but drops the transform or face orientation has not preserved the object.

Store authoritative received evidence separately from reproducible analytical derivatives and disposable delivery artefacts. Indexes, caches, pyramids and render meshes improve access but cannot become the only copy of source attributes or coordinate metadata. Round-trip tests verify identity, precision, topology, ordering, missingness and association after encoding changes.

Governance and review

Assign responsibilities to roles rather than named organisations or people: evidence custodian, representation author, algorithm maintainer, independent validator and release reviewer. A role may propose a repair but cannot erase the received geometry. Transform, predicate and tolerance changes are versioned and evaluated against fixed regression fixtures before release.

Exceptions are explicit decisions with scope, rationale, evidence, approving role, affected versions and review trigger. They never turn invalid topology into valid topology by label. The host website has no ownership or scientific-authority role in this workflow; it only delivers the tutorial.

Integration checkpoint

a closed-solid contract with side, volume and Boolean golden cases
a closed-solid contract with side, volume and Boolean golden cases

Read the figure as a reasoning map from preserved evidence through declared support and coordinates, controlled transformation, validation and scoped release. Each arrow represents a declared relationship. Integrate a closed-solid contract with side, volume and Boolean golden cases into SYN-SPATIAL, rerun earlier fixtures and record every changed assumption.

Synthetic worked example

Synthetic solid SYN-S01 is a unit cube with one inward-facing triangle. The absolute sum of per-face tetrahedral magnitudes produces a plausible but wrong volume, while the signed sum exposes orientation cancellation. After a reviewed orientation repair, the volume is one cubic unit and point fixtures classify the centre as inside, a face point as boundary and a distant point as outside. Intersecting it with a half-overlapping second cube yields the analytic overlap; the output is revalidated before release.

  1. Preserve the received object and state the intended decision without repair.
  2. Resolve identity, reference, units, support, topology and evidence eligibility.
  3. Run the versioned transform or predicate while retaining intermediate diagnostics.
  4. Issue accept, reject or quarantine and show how an independent reviewer reproduces it.

Practice task

Implement the chapter artefact against a synthetic fixture containing one normal case, one boundary case, one invalid case and one unresolved-evidence case. Preserve the received fixture. Produce canonical input, validation findings, derivative output, processing manifest, measured error and a short release decision.

Acceptance criteria:

  • Every required identity, coordinate reference, unit, support and convention is explicit.
  • The implementation is deterministic under stable ordering and the declared numerical policy.
  • No repair overwrites received evidence or converts unknown into a guessed value.
  • All hard failures block the affected derivative and remain machine-readable.
  • A second implementation or reviewer can reproduce the result from the package alone.

Submit a closed-solid contract with side, volume and Boolean golden cases, golden and adversarial fixtures, exact findings, measured error and a limitations note. A screenshot is not sufficient evidence because it does not identify input versions, transforms, algorithms or rule configuration.

Common failure modes

  • Labelling a visually closed render mesh as a solid without validation.
  • Forcing boundary points into inside or outside.
  • Summing absolute face contributions to hide inconsistent orientation.
  • Assuming successful Boolean return means the output is valid.

These failures share a pattern: implicit convenience is substituted for evidence. Diagnose the earliest boundary where the assumption entered, restore the source statement, make the transform or predicate explicit, rerun all dependent derivatives and supersede rather than overwrite the affected release.

Review questions

  1. Which boundary properties are required before inside-outside classification?
  2. Why must a point-side predicate retain a boundary state?
  3. How does orientation affect signed volume?
  4. Which identity can validate union and intersection volumes?

For every answer, identify the governing invariant, evidence needed to evaluate it, numerical or semantic policy involved and correct behaviour when the condition fails.

Sources and further reading