0.0.10 • Published 5 months ago

@tscircuit/math-utils v0.0.10

Weekly downloads
-
License
-
Repository
-
Last release
5 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

5 months ago

0.0.9

5 months ago

0.0.8

5 months ago

0.0.7

6 months ago

0.0.6

6 months ago

0.0.5

7 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago