Random Circular Direction Experiment Generator
Simulate independent uniform planar directions in [0,360) and circular mean/resultant. Zero placeholder with false availability for unresolved mean; not linear averaging,3D spherical directions or a compass calibration.
Description
Circular directions wrap at a full turn, so their mean is based on sine and cosine rather than ordinary arithmetic averaging.
Circular directions wrap at a full turn, so their mean is based on sine and cosine rather than ordinary arithmetic averaging.1
This experiment samples planar angles and reports their resultant length and whether a mean direction is numerically resolved.
When to use Random Circular Direction Experiment Generator
Use this tool when you need to produce the reproducible draw or model experiment described below. Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.
How to use Random Circular Direction Experiment Generator and understand its results
- Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.
- Enter seed, count, following the field table and calculation rules below, then run the tool.
- Read result. For result objects, inspect the nested output fields below, including any missing evidence or selected indices.
- Correct any input issues and run again. Before using a successful result, review its units, signs, evidence coverage, and stated model or reference assumptions.
| Input field | Meaning | Value type | Requirement |
|---|---|---|---|
| seed | Required nonblank deterministic seed; the SDK can replace the source with context.random. | string | Required |
| count | Number of draws, cards, trials, or output entries under the tool-specific rule; safe integer 1–64 with any narrower inventory bound. | number | Required |
Require one through sixty-four directions. Generate 360U degrees per draw, average sine and cosine, and compute their hypotenuse as resultantLength. If that length exceeds 1e-12, wrap atan2 to [0,360); otherwise return meanDirectionKnown=false and a zero unused placeholder.2, 3
Use a nonblank seed of at most 256 UTF-16 units and a safe-integer count from 1 to 64, subject to the tool’s narrower inventory bound. By default the seed is hashed into a deterministic pseudorandom state; each run restarts that state, so identical full inputs and implementation reproduce the result. The SDK may provide context.random, which replaces the seeded source and advances across the request; the seed remains required. Every source value must be finite in [0,1), with a request limit of 100000 source calls. Draw an index as floor(U×remainingSize). For indexed inventory draws, with replacement draw from the full inventory each time; without replacement remove each chosen position from an ordered pool and reject counts exceeding the inventory size. Uniform-source draws are over positions, not necessarily distinct values. This is not secure randomness.
R=hypot(mean(sinθ),mean(cosθ)); meanθ=wrap360(atan2(meanSin,meanCos)) Read these symbols with the field meanings and branch or reference rules above.
| Output field | Meaning | Value type |
|---|---|---|
| result | Composite output; read its nested fields and the worked example. | object |
| result.anglesDegrees | angles Degrees | list |
| result.resultantLength | resultant Length | number |
| result.meanDirectionKnown | True when resultant length exceeds 1e-12; false makes meanDirectionDegrees a zero unused placeholder. | boolean |
| result.meanDirectionDegrees | mean Direction Degrees | number |
| result.meanDirectionConvention | mean Direction Convention | string |
{
"input": {
"seed": "tool.io/batch42",
"count": 1
},
"output": {
"result": {
"anglesDegrees": [
326.16099424660206
],
"resultantLength": 1,
"meanDirectionKnown": true,
"meanDirectionDegrees": 326.16099424660206,
"meanDirectionConvention": "zero-unused-when-resultant-unresolved"
}
}
} Limitations and assumptions
These are planar uniform directions, not uniform directions on a sphere. Read the availability flag before interpreting a zero mean and do not treat the sample as compass calibration.
Missing required fields, unknown fields, wrong types, and violated calculation rules return input issues. Numeric values must be finite; nonfinite numeric outputs are rejected. Extremely large composite outputs are rejected.
Alternative or Complementary methods
For a related task, use Random Bernoulli Streak Experiment Generator: A Bernoulli success streak is a consecutive run of successful binary trials. This experiment simulates supplied-probability trials and reports the longest run and the positions where success streaks end. For a complementary step, use Random Back-Bearing Exercise Generator: A back bearing reverses a planar direction by half a turn. These exercises sample supplied forward azimuths and return the wrapped angle, without solving an ellipsoidal geodesic reverse azimuth.
References
Similar or alternative tools
- Random Bernoulli Streak Experiment Generator
A Bernoulli success streak is a consecutive run of successful binary trials. This experiment simulates supplied-probability trials and reports the longest run and the positions where success streaks end.
- Random Back-Bearing Exercise Generator
A back bearing reverses a planar direction by half a turn. These exercises sample supplied forward azimuths and return the wrapped angle, without solving an ellipsoidal geodesic reverse azimuth.