@mlightcad/geometry-engine 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +171 -8
- package/dist/geometry-engine.js +1618 -5973
- package/dist/geometry-engine.umd.cjs +1 -4
- package/lib/geometry/AcGeCircArc3d.d.ts +1 -1
- package/lib/geometry/AcGeEllipseArc2d.d.ts +1 -1
- package/lib/geometry/AcGeEllipseArc3d.d.ts +1 -5
- package/lib/geometry/AcGeEllipseArc3d.d.ts.map +1 -1
- package/lib/geometry/AcGeEllipseArc3d.js +24 -23
- package/lib/geometry/AcGeEllipseArc3d.js.map +1 -1
- package/lib/geometry/AcGeSpline3d.d.ts +34 -4
- package/lib/geometry/AcGeSpline3d.d.ts.map +1 -1
- package/lib/geometry/AcGeSpline3d.js +110 -10
- package/lib/geometry/AcGeSpline3d.js.map +1 -1
- package/lib/util/AcGeNurbsUtil.d.ts +34 -0
- package/lib/util/AcGeNurbsUtil.d.ts.map +1 -0
- package/lib/util/AcGeNurbsUtil.js +191 -0
- package/lib/util/AcGeNurbsUtil.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/package.json +4 -6
@@ -0,0 +1,191 @@
|
|
1
|
+
/**
|
2
|
+
* NURBS utility functions for spline calculations
|
3
|
+
*/
|
4
|
+
var __read = (this && this.__read) || function (o, n) {
|
5
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
6
|
+
if (!m) return o;
|
7
|
+
var i = m.call(o), r, ar = [], e;
|
8
|
+
try {
|
9
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
10
|
+
}
|
11
|
+
catch (error) { e = { error: error }; }
|
12
|
+
finally {
|
13
|
+
try {
|
14
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
15
|
+
}
|
16
|
+
finally { if (e) throw e.error; }
|
17
|
+
}
|
18
|
+
return ar;
|
19
|
+
};
|
20
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
21
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
22
|
+
if (ar || !(i in from)) {
|
23
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
24
|
+
ar[i] = from[i];
|
25
|
+
}
|
26
|
+
}
|
27
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
28
|
+
};
|
29
|
+
/**
|
30
|
+
* Generate uniform knot vector
|
31
|
+
*/
|
32
|
+
export function generateUniformKnots(degree, numControlPoints) {
|
33
|
+
var knots = [];
|
34
|
+
var n = numControlPoints - 1;
|
35
|
+
var p = degree;
|
36
|
+
// First p+1 knots are 0
|
37
|
+
for (var i = 0; i <= p; i++) {
|
38
|
+
knots.push(0);
|
39
|
+
}
|
40
|
+
// Middle knots are uniform
|
41
|
+
for (var i = 1; i <= n - p; i++) {
|
42
|
+
knots.push(i);
|
43
|
+
}
|
44
|
+
// Last p+1 knots are n-p+1
|
45
|
+
for (var i = 0; i <= p; i++) {
|
46
|
+
knots.push(n - p + 1);
|
47
|
+
}
|
48
|
+
return knots;
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Generate chord-length parameterized knots
|
52
|
+
*/
|
53
|
+
export function generateChordKnots(degree, points) {
|
54
|
+
var n = points.length - 1;
|
55
|
+
var p = degree;
|
56
|
+
// Calculate chord lengths
|
57
|
+
var chordLengths = [0];
|
58
|
+
var totalLength = 0;
|
59
|
+
for (var i = 1; i <= n; i++) {
|
60
|
+
var dx = points[i][0] - points[i - 1][0];
|
61
|
+
var dy = points[i][1] - points[i - 1][1];
|
62
|
+
var dz = points[i][2] - points[i - 1][2];
|
63
|
+
var length_1 = Math.sqrt(dx * dx + dy * dy + dz * dz);
|
64
|
+
totalLength += length_1;
|
65
|
+
chordLengths.push(totalLength);
|
66
|
+
}
|
67
|
+
// Generate knots based on chord lengths
|
68
|
+
var knots = [];
|
69
|
+
// First p+1 knots are 0
|
70
|
+
for (var i = 0; i <= p; i++) {
|
71
|
+
knots.push(0);
|
72
|
+
}
|
73
|
+
// Middle knots based on chord lengths
|
74
|
+
for (var i = 1; i <= n - p; i++) {
|
75
|
+
var t = chordLengths[i] / totalLength;
|
76
|
+
knots.push(t * (n - p + 1));
|
77
|
+
}
|
78
|
+
// Last p+1 knots are n-p+1
|
79
|
+
for (var i = 0; i <= p; i++) {
|
80
|
+
knots.push(n - p + 1);
|
81
|
+
}
|
82
|
+
return knots;
|
83
|
+
}
|
84
|
+
/**
|
85
|
+
* Generate sqrt-chord parameterized knots
|
86
|
+
*/
|
87
|
+
export function generateSqrtChordKnots(degree, points) {
|
88
|
+
var n = points.length - 1;
|
89
|
+
var p = degree;
|
90
|
+
// Calculate sqrt chord lengths
|
91
|
+
var sqrtChordLengths = [0];
|
92
|
+
var totalSqrtLength = 0;
|
93
|
+
for (var i = 1; i <= n; i++) {
|
94
|
+
var dx = points[i][0] - points[i - 1][0];
|
95
|
+
var dy = points[i][1] - points[i - 1][1];
|
96
|
+
var dz = points[i][2] - points[i - 1][2];
|
97
|
+
var length_2 = Math.sqrt(dx * dx + dy * dy + dz * dz);
|
98
|
+
var sqrtLength = Math.sqrt(length_2);
|
99
|
+
totalSqrtLength += sqrtLength;
|
100
|
+
sqrtChordLengths.push(totalSqrtLength);
|
101
|
+
}
|
102
|
+
// Generate knots based on sqrt chord lengths
|
103
|
+
var knots = [];
|
104
|
+
// First p+1 knots are 0
|
105
|
+
for (var i = 0; i <= p; i++) {
|
106
|
+
knots.push(0);
|
107
|
+
}
|
108
|
+
// Middle knots based on sqrt chord lengths
|
109
|
+
for (var i = 1; i <= n - p; i++) {
|
110
|
+
var t = sqrtChordLengths[i] / totalSqrtLength;
|
111
|
+
knots.push(t * (n - p + 1));
|
112
|
+
}
|
113
|
+
// Last p+1 knots are n-p+1
|
114
|
+
for (var i = 0; i <= p; i++) {
|
115
|
+
knots.push(n - p + 1);
|
116
|
+
}
|
117
|
+
return knots;
|
118
|
+
}
|
119
|
+
/**
|
120
|
+
* Calculate basis function value for NURBS
|
121
|
+
*/
|
122
|
+
export function basisFunction(i, k, u, knots) {
|
123
|
+
if (k === 0) {
|
124
|
+
return u >= knots[i] && u < knots[i + 1] ? 1.0 : 0.0;
|
125
|
+
}
|
126
|
+
var d1 = knots[i + k] - knots[i];
|
127
|
+
var d2 = knots[i + k + 1] - knots[i + 1];
|
128
|
+
var c1 = d1 > 1e-10 ? (u - knots[i]) / d1 : 0.0;
|
129
|
+
var c2 = d2 > 1e-10 ? (knots[i + k + 1] - u) / d2 : 0.0;
|
130
|
+
return (c1 * basisFunction(i, k - 1, u, knots) +
|
131
|
+
c2 * basisFunction(i + 1, k - 1, u, knots));
|
132
|
+
}
|
133
|
+
/**
|
134
|
+
* Calculate point on NURBS curve
|
135
|
+
*/
|
136
|
+
export function evaluateNurbsPoint(u, degree, knots, controlPoints, weights) {
|
137
|
+
var n = controlPoints.length - 1;
|
138
|
+
var p = degree;
|
139
|
+
// Clamp parameter to valid range
|
140
|
+
u = Math.max(knots[p], Math.min(knots[n + 1], u));
|
141
|
+
var point = [0, 0, 0];
|
142
|
+
var weight = 0;
|
143
|
+
for (var i = 0; i <= n; i++) {
|
144
|
+
var basis = basisFunction(i, p, u, knots);
|
145
|
+
var w = weights[i] * basis;
|
146
|
+
point[0] += controlPoints[i][0] * w;
|
147
|
+
point[1] += controlPoints[i][1] * w;
|
148
|
+
point[2] += controlPoints[i][2] * w;
|
149
|
+
weight += w;
|
150
|
+
}
|
151
|
+
if (weight > 1e-10) {
|
152
|
+
point[0] /= weight;
|
153
|
+
point[1] /= weight;
|
154
|
+
point[2] /= weight;
|
155
|
+
}
|
156
|
+
return point;
|
157
|
+
}
|
158
|
+
/**
|
159
|
+
* Calculate curve length using numerical integration
|
160
|
+
*/
|
161
|
+
export function calculateCurveLength(degree, knots, controlPoints, weights) {
|
162
|
+
var p = degree;
|
163
|
+
var startParam = knots[p];
|
164
|
+
var endParam = knots[knots.length - p - 1];
|
165
|
+
var length = 0;
|
166
|
+
var steps = 1000;
|
167
|
+
var step = (endParam - startParam) / steps;
|
168
|
+
var prevPoint = evaluateNurbsPoint(startParam, degree, knots, controlPoints, weights);
|
169
|
+
for (var i = 1; i <= steps; i++) {
|
170
|
+
var u = startParam + i * step;
|
171
|
+
var point = evaluateNurbsPoint(u, degree, knots, controlPoints, weights);
|
172
|
+
var dx = point[0] - prevPoint[0];
|
173
|
+
var dy = point[1] - prevPoint[1];
|
174
|
+
var dz = point[2] - prevPoint[2];
|
175
|
+
length += Math.sqrt(dx * dx + dy * dy + dz * dz);
|
176
|
+
prevPoint = point;
|
177
|
+
}
|
178
|
+
return length;
|
179
|
+
}
|
180
|
+
/**
|
181
|
+
* Generate control points from fit points using interpolation
|
182
|
+
* This is a simplified implementation - for production use, you might want
|
183
|
+
* to implement a more sophisticated interpolation algorithm
|
184
|
+
*/
|
185
|
+
export function interpolateControlPoints(fitPoints) {
|
186
|
+
// For now, use fit points as control points
|
187
|
+
// In a full implementation, you would solve the interpolation system
|
188
|
+
// by setting up and solving a linear system of equations
|
189
|
+
return fitPoints.map(function (p) { return __spreadArray([], __read(p), false); });
|
190
|
+
}
|
191
|
+
//# sourceMappingURL=AcGeNurbsUtil.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AcGeNurbsUtil.js","sourceRoot":"","sources":["../../src/util/AcGeNurbsUtil.ts"],"names":[],"mappings":"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"}
|
package/lib/util/index.d.ts
CHANGED
package/lib/util/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
|
package/lib/util/index.js
CHANGED
package/lib/util/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mlightcad/geometry-engine",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.2",
|
4
|
+
"license": "MIT",
|
4
5
|
"type": "module",
|
5
6
|
"keywords": [
|
6
7
|
"autocad",
|
@@ -26,12 +27,9 @@
|
|
26
27
|
"import": "./dist/geometry-engine.js",
|
27
28
|
"require": "./dist/geometry-engine.umd.cjs"
|
28
29
|
},
|
29
|
-
"dependencies": {
|
30
|
-
"verb-nurbs-web": "^2.1.3"
|
31
|
-
},
|
32
30
|
"peerDependencies": {
|
33
|
-
"
|
34
|
-
"
|
31
|
+
"lodash-es": "*",
|
32
|
+
"@mlightcad/common": "1.0.2"
|
35
33
|
},
|
36
34
|
"scripts": {
|
37
35
|
"clean": "rimraf dist lib tsconfig.tsbuildinfo",
|