0.0.10 • Published 10 months ago

@tscircuit/math-utils v0.0.10

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

@tscircuit/math-utils

This repository contains a collection of TypeScript utility functions for geometric calculations, primarily focused on line intersection and distance calculations.

Features

  • Line intersection detection
  • Segment intersection detection
  • Point-to-segment distance calculation
  • Orientation of points
  • Distance between points

Installation

bun add @tscircuit/math-utils

Usage

Import the functions you need in your TypeScript project:

import {
  doesLineIntersectLine,
  doSegmentsIntersect,
  pointToSegmentDistance,
} from "./src/index"

// Example usage
const point1 = { x: 0, y: 0 }
const point2 = { x: 5, y: 5 }
const point3 = { x: 0, y: 5 }
const point4 = { x: 5, y: 0 }

const intersects = doesLineIntersectLine([point1, point2], [point3, point4])
console.log("Lines intersect:", intersects)

API Reference

doesLineIntersectLine(line1: [Point, Point], line2: [Point, Point], options?: { lineThickness?: number }): boolean

Determines if two lines intersect, optionally considering line thickness.

doSegmentsIntersect(p1: Point, q1: Point, p2: Point, q2: Point): boolean

Checks if two line segments intersect.

orientation(p: Point, q: Point, r: Point): number

Calculates the orientation of three points.

onSegment(p: Point, q: Point, r: Point): boolean

Checks if point q lies on the segment p-r.

pointToSegmentDistance(p: Point, v: Point, w: Point): number

Calculates the minimum distance between a point and a line segment.

distance(p1: Point, p2: Point): number

Calculates the Euclidean distance between two points.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is open source and available under the MIT License.

0.0.10

10 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

11 months ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago