Way to create sets of parallel lines with proper point provenance #18

Closed
opened 2023-01-01 18:27:32 +00:00 by zyxw59 · 1 comment
zyxw59 commented 2023-01-01 18:27:32 +00:00 (Migrated from github.com)

Currently, if you define some grid lines and points like so:

N = dir 0;
E = dir 90;

n0 = (0 * N) >> E;
e0 = (0 * E) >> N;
e1 = (1 * E) >> N;
e2 = (2 * E) >> N;

point n0e0 = n0 & e0;
point n0e1 = n0 & e1;
point n0e2 = n0 & e2;

points n0e0, n0e1, and n0e2 are not treated as collinear, because lines created with the >> operator don't have any provenance associated with them.

Possible ways to resolve this:

  • Dedicated operator for generating grids
  • Giving some provenance to lines created with the >> operator, such that all points created from intersections with that line are associated with that line
  • Giving some provenance to vectors (which would be unaffected by scalar multiplication!) and have lines created with the >> operator inherit that provenance.
Currently, if you define some grid lines and points like so: ``` N = dir 0; E = dir 90; n0 = (0 * N) >> E; e0 = (0 * E) >> N; e1 = (1 * E) >> N; e2 = (2 * E) >> N; point n0e0 = n0 & e0; point n0e1 = n0 & e1; point n0e2 = n0 & e2; ``` points `n0e0`, `n0e1`, and `n0e2` are not treated as collinear, because lines created with the `>>` operator don't have any provenance associated with them. Possible ways to resolve this: - Dedicated operator for generating grids - Giving some provenance to lines created with the `>>` operator, such that all points created from intersections with that line are associated with that line - Giving some provenance to *vectors* (which would be unaffected by scalar multiplication!) and have lines created with the `>>` operator inherit that provenance.
zyxw59 commented 2025-06-17 17:00:14 +00:00 (Migrated from github.com)

I think the most obvious thing is to give lines provenance.

I think the most obvious thing is to give *lines* provenance.
Sign in to join this conversation.
No description provided.