9.3
115 3D: Poincare sections and return maps
procedure
(poincare-section3d trajectory plane [ #:trajectory-id trajectory-id #:direction direction #:tolerance tolerance #:deduplicate-time deduplicate-time #:tangent-policy tangent-policy #:initial-hit initial-hit]) → vector? trajectory : prepared-trajectory3d? plane : plane3? trajectory-id : symbol? = 'trajectory direction : (or/c 'any 'positive 'negative) = 'any tolerance : positive? = 1e-8 deduplicate-time : positive? = tolerance tangent-policy : (or/c 'ignore 'include) = 'ignore initial-hit : (or/c 'include 'exclude 'require) = 'exclude
Extracts immutable poincare-hit3d? crossings by
running the event root finder over retained dense trajectory segments. A
positive/negative direction means increasing/decreasing signed distance along
increasing physical time. Shared endpoint roots are time-deduplicated; a
tangent contact is omitted unless explicitly included. The default
'exclude omits a qualifying hit at the trajectory’s range start so a
return map begins with its first return. 'include retains it, and
'require retains it but reports an error when the trajectory does not
start on the section.
procedure
(poincare-hit3d? value) → boolean?
value : any/c
Recognizes an immutable
crossing record. Its accessors begin with poincare-hit3d-; source-event
is the serializable dense root record, not an event procedure.
procedure
(poincare-hit3d-plane-coordinates hit plane) → vector? hit : poincare-hit3d? plane : plane3?
Returns the point’s deterministic two-coordinate plane basis
projection, suitable for an ordinary two-dimensional plot.
procedure
(poincare-hits3d hits #:id id #:style style) → group3d?
hits : (or/c list? vector?) id : symbol? style : any/c
Lowers hit values to
ordinary spatial point markers.
procedure
(prepare-poincare-map3d field plane seeds [ #:direction direction #:tangent-policy tangent-policy #:initial-hit initial-hit #:parallel? parallel? #:cancellation-token cancellation-token]) → prepared-poincare-map3d? field : any/c plane : plane3? seeds : seed-set3d? direction : (or/c 'any 'positive 'negative) = 'any tangent-policy : (or/c 'ignore 'include) = 'ignore initial-hit : (or/c 'include 'exclude 'require) = 'exclude parallel? : (or/c boolean? 'auto) = 'auto cancellation-token : any/c = #f
Prepares per-seed first and second crossings.
Missing returns remain #f in the same seed slot; the result is not a
claim that an arbitrary flow has a global return map. Independent trajectory
preparation may use bounded worker threads but retains seed order.
procedure
(prepared-poincare-map3d? value) → boolean?
value : any/c
Recognizes an
immutable per-seed return-map record. Its accessors begin with
prepared-poincare-map3d-.