几何计算
大约 2 分钟
几何计算
几何计算工具函数,包括距离、角度、交点、面积等计算。
在线示例
| 示例 | 描述 | 链接 |
|---|---|---|
| 距离计算 | distance 函数用法 | 在线演示{target="_blank"} |
| 角度计算 | getAngleBetweenPoints 用法 | 在线演示{target="_blank"} |
| 中点计算 | getMidPoint 用法 | 在线演示{target="_blank"} |
| 交点计算 | GeometryCalculator 用法 | 在线演示{target="_blank"} |
| 边界框 | boundingBox 方法用法 | 在线演示{target="_blank"} |
| 点与直线位置关系 | GeometryCalculator.witchSidePointToLine 用法 | 在线演示{target="_blank"} |
| 面积计算 | calculatePolygonArea 用法 | 在线演示{target="_blank"} |
| 点在多边形内判断 | 射线法用法 | 在线演示{target="_blank"} |
| 空间索引 | SpatialIndex 用法 | 在线演示{target="_blank"} |
| 偏移算法 | 直线、圆弧、圆、多段线偏移 | 在线演示{target="_blank"} |
| 裁剪算法 | 基于交点的实体裁剪 | 在线演示{target="_blank"} |
| 延长算法 | 实体延长到边界 | 在线演示{target="_blank"} |
| 高级交点计算 | 多种实体类型的交点 | 在线演示{target="_blank"} |
| 垂足计算 | 点到直线的垂足 | 在线演示{target="_blank"} |
| 边界框合并 | 多个边界框的合并 | 在线演示{target="_blank"} |
| 线段打断 | 在指定点打断实体 | 在线演示{target="_blank"} |
| 几何变换 | 平移、旋转、缩放、镜像 | 在线演示{target="_blank"} |
核心 API
距离计算
const { Point2D, distance } = vjcad;
const p1 = new Point2D(0, 0);
const p2 = new Point2D(100, 100);
const dist = distance(p1, p2); // 141.42...角度计算
const { getAngleBetweenPoints } = vjcad;
const angle = getAngleBetweenPoints(p1, p2); // 弧度值
const angleDeg = angle * 180 / Math.PI; // 转为角度交点计算
const { GeometryCalculator } = vjcad;
// 两条直线的交点
const intersection = GeometryCalculator.lineLineIntersection(
line1.startPoint, line1.endPoint,
line2.startPoint, line2.endPoint
);边界框
// 获取实体边界框
const bbox = entity.boundingBox();
console.log(bbox.minX, bbox.minY, bbox.maxX, bbox.maxY);
// 合并多个边界框
const merged = BoundingBox.merge([bbox1, bbox2, bbox3]);