Saltire Diagonal Intersection Point Solver
Intersect actual finite straight saltire centerlines in one planar frame; no automatic outline extraction.
Description
A saltire-like crossing can be represented by two finite line segments.
A saltire-like crossing can be represented by two finite line segments.1
A meaningful crossing must lie on both supplied segments rather than only on their infinite extensions.
When to use Saltire Diagonal Intersection Point Solver
Use this tool to calculate or review the supplied observations under the stated rules. Establish the source tradition, viewing frame, coordinate units and independently annotated features.
How to use Saltire Diagonal Intersection Point Solver and understand its results
- Establish the source tradition, viewing frame, coordinate units and independently annotated features.
- Enter segmentAStart, segmentAEnd, segmentBStart, segmentBEnd, using the field meanings and rules below, then run the tool.
- Read result.intersection, result.firstSegmentFraction, result.secondSegmentFraction, using the output meanings and calculation rules below.
- Correct any reported input issue and run again. Before using a successful result, check the stated units, signs, reference scope and observation coverage.
| Input field | Meaning | Value type | Requirement |
|---|---|---|---|
| segmentAStart | Segment a start | list of number | Required |
| segmentAEnd | Segment a end | list of number | Required |
| segmentBStart | Segment b start | list of number | Required |
| segmentBEnd | Segment b end | list of number | Required |
Provide four coordinate pairs with exactly two finite components each. Solve the two parametric segment equations. Reject when the determinant magnitude is below 1e−12 or either intersection parameter lies outside [0,1]. Return the intersection coordinates and both segment parameters; endpoint intersections are accepted.
A(t)=A0+t(A1−A0); B(u)=B0+u(B1−B0); solve A(t)=B(u), 0≤t,u≤1 Use the matching field units and the exact boundary, ordering and reference rules above.
| Output field | Meaning | Value type |
|---|---|---|
| result | Calculated observation or reference | object |
| result.intersection | intersection | list |
| result.firstSegmentFraction | first Segment Fraction; dimensionless fraction, not a percent | number |
| result.secondSegmentFraction | second Segment Fraction; dimensionless fraction, not a percent | number |
{
"input": {
"segmentAStart": [
0,
0
],
"segmentAEnd": [
100,
100
],
"segmentBStart": [
0,
100
],
"segmentBEnd": [
100,
0
]
},
"output": {
"result": {
"intersection": [
50,
50
],
"firstSegmentFraction": 0.5,
"secondSegmentFraction": 0.5
}
}
} Limitations and assumptions
The determinant tolerance is absolute and depends on the supplied coordinate scale. Parallel or near-parallel segments and intersections outside their finite extents fail; shield clipping is not modeled.
Missing required fields, unknown fields, wrong types and violated rules return input issues. Numeric values and outputs must be finite. Lists and matrices must be dense, without missing cells. Numeric lists allow at most 10000 entries; ordinary string lists allow at most 128 strings of 128 UTF-16 units each; numeric matrices allow at most 128 rows and 128 columns, subject to narrower requirements above. Extremely large composite outputs are rejected.
Alternative or Complementary methods
For a related step, use Per Bend Sinister Diagonal Path Generator: A per-bend-sinister division can be represented as a diagonal across a rectangular envelope. For a complementary comparison, use Bend Diagonal Angle Geometry Checker (45°): A diagonal's angle follows from its horizontal run and vertical rise in a specified coordinate model.
References
Similar or alternative tools
- Per Bend Sinister Diagonal Path Generator
A per-bend-sinister division can be represented as a diagonal across a rectangular envelope.
- Bend Diagonal Angle Geometry Checker (45°)
A diagonal's angle follows from its horizontal run and vertical rise in a specified coordinate model.