▼V Reference
52 Find a task or a name
53 Modules to require
54 Scenes and sampling
55 Scene states
56 Animation requests
57 Native model details
58 Visuals
59 Geometry
60 Number Lines and Coordinate Decorations
61 Point Markers, Scatter Plots, and Filled Areas
62 Probability and Statistical Diagrams
63 Calculus lessons
64 Colors
65 Slides
66 Slide command-line tools
67 Source Programs and Authored Timelines
68 Interactive Preview and Inspection
69 Preview controls and diagnostics
70 Projects and Final Rendering
71 Project execution and cache details
72 Pict Renderer Protocol
73 3D reference map
74 3D:   Objects, groups, and paths
75 3D:   Cameras and projection
76 3D:   Views inside a Scene
77 3D:   Animating 3D objects
78 3D:   Animating the 3D camera
79 3D:   Cuts, caps, and section measurements
80 3D:   Supplementary surface, section, and annotation bindings
81 3D:   Cuts, sections, and numerical volume
82 3D:   Vectors
83 3D:   Linear maps and rotations
84 3D:   Affine transforms
85 3D:   Bounds, rays, and planes
86 3D:   Spatial maps and homotopies
87 3D:   Materials and lights
88 3D:   Lighting inspection
89 3D:   Shadow descriptors and stable bounds
90 3D:   Finite-light animation
91 3D:   Software finite-light evaluation
92 3D:   Colour space and final output
93 3D:   Relations and geometric annotations
94 3D:   Projected labels
95 3D:   Textured billboards
96 3D:   Spatial curves and vector diagrams
97 3D:   Spatial anchors and label layout
98 3D:   Anchors and projected labels
99 3D:   Parametric surfaces and calculus
100 3D:   Adaptive, trimmed, and implicit surfaces
101 3D:   Constructive solids
102 3D:   Surface constructors and queries
103 3D:   Meshes
104 3D:   Triangle topology
105 3D:   Polygonal faces
106 3D:   Deterministic convex hulls
107 3D:   Polyhedral duals
108 3D:   Schlegel diagrams and polyhedral nets
109 3D:   Conservative mesh correspondence
110 3D:   Topology-safe mesh matching
111 3D:   Checking and repairing mesh orientation
112 3D:   Clipping, sections, and transparency
113 3D:   Prepared spatial ODE trajectories and vector fields
114 3D:   Seeds and streamline sets
115 3D:   Poincare sections and return maps
116 3D:   Equilibria and local linearization
117 3D:   Flow maps and volume change
118 3D:   Drawing and inspecting trajectories
119 3D:   Reading prepared trajectories
120 3D:   Drawing vector fields and particles
121 3D:   Trajectory display
122 3D:   Spatial inspection and exact picking
123 3D:   Retained renderer backends
124 3D:   Compiled geometry and instances
125 3D:   Frame requests and results
126 3D:   Software rendering and statistics
127 3D:   Optional Racket/  Open  GL backend
128 Experimental Derived Visuals
129 Source Package Hygiene
On this page:
seed-set3d?
explicit-seeds3d
grid-seeds3d
plane-seeds3d
curve-seeds3d
surface-seeds3d
sphere-seeds3d
poisson-seeds3d
prepared-streamline-set3d?
prepare-streamlines3d
adaptive-streamline-set3d
9.3

114 3D: Seeds and streamline sets🔗ℹ

procedure

(seed-set3d? value) → boolean?

  value : any/c
Recognizes an immutable, canonical ordered collection of streamline seed points. Its accessors begin with seed-set3d-; points is an immutable vector and count is its length. provenance, diagnostics, and cache-key contain immutable numeric/source descriptions rather than random-generator state or procedures.

procedure

(explicit-seeds3d points) → seed-set3d?

  points : (or/c list? vector?)
Retains the declared finite vec3 point sequence exactly, including intentional duplicate seeds.

procedure

(grid-seeds3d [#:x-range x-range    
  #:y-range y-range    
  #:z-range z-range    
  #:counts counts    
  #:order order]) → seed-set3d?
  x-range : list? = (list -1 1)
  y-range : list? = (list -1 1)
  z-range : list? = (list -1 1)
  counts : list? = (list 3 3 3)
  order : symbol? = 'xyz
Makes an endpoint-inclusive rectangular seed lattice. A singleton axis is centred in its supplied range. The last axis changes fastest; the six 'xyz-style axis orders select one visible canonical nesting order.

procedure

(plane-seeds3d plane    
  [#:u-range u-range    
  #:v-range v-range    
  #:counts counts]) → seed-set3d?
  plane : plane3?
  u-range : list? = (list -1 1)
  v-range : list? = (list -1 1)
  counts : list? = (list 3 3)
Samples the deterministic local plane coordinates of plane.

procedure

(curve-seeds3d curve    
  [#:count count    
  #:spacing spacing]) → seed-set3d?
  curve : curve3d?
  count : exact-positive-integer? = 8
  spacing : (or/c 'parameter 'arc-length) = 'arc-length
Samples a retained curve. 'parameter means uniform progress through the curve’s stored sample sequence—not an unavailable source procedure parameter—while 'arc-length uses the retained polyline arc-length query.

procedure

(surface-seeds3d surface    
  [#:u-count u-count    
  #:v-count v-count    
  #:inside-domain? inside-domain?]) → seed-set3d?
  surface : surface3d?
  u-count : exact-positive-integer? = 8
  v-count : exact-positive-integer? = 8
  inside-domain? : boolean? = #t
Samples a retained parametric surface in u-major order. When inside-domain? is true, points rejected by a retained domain predicate are omitted and the diagnostic reports that omission.

procedure

(sphere-seeds3d center    
  radius    
  [#:count count]    
  #:method method) → seed-set3d?
  center : vec3?
  radius : nonnegative-real?
  count : exact-positive-integer? = 64
  method : 'fibonacci
Makes deterministic Fibonacci points on a sphere.

procedure

(poisson-seeds3d bounds 
  [#:minimum-distance minimum-distance 
  #:count-limit count-limit 
  #:seed seed]) 
 → seed-set3d?
  bounds : aabb3?
  minimum-distance : positive? = 1
  count-limit : exact-nonnegative-integer? = 128
  seed : exact-integer? = 0
Makes an acceptance-ordered deterministic Bridson-style Poisson set. It uses a local SplitMix64 generator, FIFO active points, thirty candidates per active point, and inclusive box/minimum-distance checks; it neither reads nor mutates the process-global pseudo-random generator.

procedure

(prepared-streamline-set3d? value) → boolean?

  value : any/c
Recognizes an immutable collection prepared from one seed-set3d?. Its accessors begin with prepared-streamline-set3d-; streamlines is an immutable vector of accepted prepared-streamline3d? values in seed declaration order.

procedure

(prepare-streamlines3d 
  field 
  seeds 
  [#:direction direction 
  #:parameterization parameterization 
  #:solver solver 
  #:termination termination 
  #:sample-policy sample-policy 
  #:separation separation 
  #:parallel? parallel? 
  #:cancellation-token cancellation-token]) 
 → prepared-streamline-set3d?
  field : any/c
  seeds : seed-set3d?
  direction : (or/c 'forward 'backward 'both) = 'forward
  parameterization : (or/c 'time 'arc-length) = 'time
  solver : any/c = (adaptive-rk45-solver3d)
  termination : (or/c false/c trajectory-termination3d?) = #f
  sample-policy : streamline-sample-policy3d?
   = (streamline-sample-policy3d)
  separation : (or/c false/c positive?) = #f
  parallel? : (or/c boolean? 'auto) = 'auto
  cancellation-token : any/c = #f
Prepares one immutable streamline per accepted seed. When separation is false, the result is independent and canonical in seed order. A positive separation processes seeds in that order, rejects a seed already too near an accepted line, and makes a later candidate stop at a terminal separation event. The set diagnostic reports accepted/rejected seeds, terminal reasons, field work, curve samples, the policy separation, discarded short lines, and whether the set was prepared by bounded worker threads, serially, or in ordered separation mode. 'auto uses workers only when its ode-field3d and every termination event explicitly declare parallel-safe?. #t is an explicit author override and #f is serial. Worker completion never changes seed/child order. A cancellation token is checked at every seed boundary and never leaves a partial set.

procedure

(adaptive-streamline-set3d prepared    
  #:id id    
  #:style style    
  [#:opacity opacity]) → group3d?
  prepared : prepared-streamline-set3d?
  id : symbol?
  style : any/c
  opacity : real? = 1
Lowers all accepted prepared lines to ordinary named curve children.