UNPKG

verb-nurbs

Version:

A library for creating and manipulating NURBS surfaces and curves in many languages

55 lines (41 loc) 1.72 kB
<!DOCTYPE html> <html> <head> <title>Curve-Curve Intersection</title> <script src="js/verb.min.js"></script> <script src="js/three.min.js"></script> <script src="js/verbToThreeConversion.js"></script> <script src="js/OrbitControls.js"></script> <script src="js/codemirror.js"></script> <script src="js/javascript.js"></script> <script src="js/threeBasic.js"></script> <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="css/codemirror.css"> <link rel="stylesheet" href="css/example.css"> <link rel="stylesheet" href="css/colorforth.css"> </head> <body> <div id="button">Show/Hide Code</div> <div id="viewer" class="col"> <div id="title"></div> </div> <div id="code-container" class="col scroll-y"></div> </body> <script id="script"> setupScene(); var p1 = [-5,0,0], p2 = [10,0,0], p3 = [10,10,0], p4 = [0,10,0], p5 = [5, 5, 0]; var pts = [p1, p2, p3, p4, p5]; var interpCurve = verb.geom.NurbsCurve.byPoints( pts, 3 ); var p1a = [-5,0,0], p2a = [5,-1,0], p3a = [15,5,0], p4a = [3,10,0], p5a = [5, 12, 0]; var ptsa = [p1a, p2a, p3a, p4a, p5a]; var interpCurve2 = verb.geom.NurbsCurve.byPoints( ptsa, 3 ); addCurveToScene( interpCurve.toThreeGeometry() ); addCurveToScene( interpCurve2.toThreeGeometry() ); var runs = 50; var res = benchmark( function(){ return verb.geom.Intersect.curves( interpCurve, interpCurve2, 1e-5 ); }, runs ); addPointsToScene( res.result.map(function(x){ return x.point0; } ) ); console.log( runs, " runs completed in ", res.each, " ms each"); renderScene(); </script> <script src="js/example.js"></script> </html>