With the code samples reported in this article, you can display curvature mapping of surfaces and curves with Eyeshot.
The following picture shows the curvature mapping of a surface:
Please note that there are different types of surface's curvature to display: Kappa1, Kappa2, Mean and Gauss. You can learn more about surface curvatures here.
The code used to display it is reported below:
// Loft
List<Point3D> array = new List<Point3D>();
array.Add(new Point3D(0, 60, 0));
array.Add(new Point3D(0, 40, -5));
array.Add(new Point3D(0, 20, +15));
array.Add(new Point3D(0, 0, 0));
Curve first = Curve.GlobalInterpolation(array, 3);
array.Clear();
array.Add(new Point3D(40, 60, 0));
array.Add(new Point3D(40, 0, 10));
Curve second = Curve.GlobalInterpolation(array, 1);
array.Clear();
array.Add(new Point3D(80, 60, 0));
array.Add(new Point3D(80, 30, 20));
array.Add(new Point3D(80, 0, 5));
Curve third = Curve.GlobalInterpolation(array, 2);
array.Clear();
array.Add(new Point3D(120, 60, 0));
array.Add(new Point3D(120, 0, 0));
Curve fourth = Curve.GlobalInterpolation(array, 1);
array.Clear();
array.Add(new Point3D(160, 60, 0));
array.Add(new Point3D(160, 30, 10));
array.Add(new Point3D(160, 0, 0));
Curve fifth = Curve.GlobalInterpolation(array, 2);
Surface[] loft = Surface.Loft(new Curve[] { first, second, third, fourth, fifth }, 3);
model1.Entities.AddRange(loft, Color.Aquamarine);
model1.Legends[0].ColorTable = Legend.RedToBlue9;
foreach (Surface surf in loft)
{
surf.ComputeCurvatureMap(model1, model1.Legends[0], Surface.curvatureType.Kappa1);
surf.ShowCurvature = true;
}
model1.Legends[0].Visible = true;
You can display also curve curvature mapping as shows the picture below:
with the following code:
List<Point3D> array = new List<Point3D>();
array.Add(new Point3D(0, 60, 0));
array.Add(new Point3D(0, 40, -5));
array.Add(new Point3D(0, 20, +15));
array.Add(new Point3D(0, 0, 0));
Curve curve = Curve.GlobalInterpolation(array, 3);
model1.Entities.Add(curve, Color.DarkBlue);
curve.ComputeCurvatureGraph(model1,20);
curve.ShowCurvature = true;
Please note that function Curve.ComputeCurvatureGraph() needs a scale factor as input that is necessary to define the length of lines used to represent the curvature.
Previous versions of this article: Eyeshot 8
Comments
Please sign in to leave a comment.