La classe CubicSplineCurve3d représente une spline cubique d'interpolation dans l'espace 3D. Les splines cubiques créent des courbes lisses qui passent par des points d'ajustement spécifiés, couramment utilisées pour une interpolation lisse.
Autodesk.AutoCAD.Geometry
| Propriété | Type | Description |
|---|---|---|
FitPoints |
Point3dCollection |
Obtient les points par lesquels la courbe passe |
StartTangent |
Vector3d |
Obtient le vecteur tangent au départ |
EndTangent |
Vector3d |
Obtient le vecteur tangent à la fin |
NumFitPoints |
int |
Obtient le nombre de points d'ajustement |
| Méthode | Type de Retour | Description |
|---|---|---|
EvaluatePoint(double) |
Point3d |
Évalue un point sur la courbe au paramètre |
GetClosestPointTo(Point3d) |
Point3d |
Obtient le point le plus proche sur la courbe |
GetDerivativeAt(double) |
Vector3d |
Obtient la tangente au paramètre |
// Créer une spline passant par des points d'ajustement
Point3dCollection fitPoints = new Point3dCollection();
fitPoints.Add(new Point3d(0, 0, 0));
fitPoints.Add(new Point3d(5, 5, 0));
fitPoints.Add(new Point3d(10, 3, 0));
fitPoints.Add(new Point3d(15, 7, 0));
fitPoints.Add(new Point3d(20, 5, 0));
CubicSplineCurve3d spline = new CubicSplineCurve3d(fitPoints);
ed.WriteMessage($"\nSpline cubique créée passant par {spline.NumFitPoints} points");Point3dCollection fitPoints = new Point3dCollection();
fitPoints.Add(new Point3d(0, 0, 0));
fitPoints.Add(new Point3d(10, 10, 0));
fitPoints.Add(new Point3d(20, 0, 0));
// Spécifier les tangentes de départ et de fin
Vector3d startTangent = Vector3d.XAxis;
Vector3d endTangent = Vector3d.XAxis;
CubicSplineCurve3d spline = new CubicSplineCurve3d(fitPoints, startTangent, endTangent);
ed.WriteMessage($"\nSpline avec tangentes spécifiées");
ed.WriteMessage($"\nTangente de départ : {spline.StartTangent}");
ed.WriteMessage($"\nTangente de fin : {spline.EndTangent}");- Points d'Ajustement : La courbe passe par tous les points d'ajustement
- Lissage : Les splines cubiques fournissent une continuité C² (lisse)
- Tangentes : Spécifier les tangentes pour un meilleur contrôle aux extrémités
- Interpolation : Utiliser pour des courbes lisses passant par des points connus
- CubicSplineCurve2d - Spline cubique 2D
- NurbCurve3d - Courbe NURBS (plus de contrôle)
- Polyline3d - Linéaire par morceaux (non lisse)