{"id":193,"date":"2018-07-20T12:02:01","date_gmt":"2018-07-20T12:02:01","guid":{"rendered":"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/?post_type=chapter&#038;p=193"},"modified":"2018-08-06T05:54:09","modified_gmt":"2018-08-06T05:54:09","slug":"3d-object-representations-bezier-b-splines","status":"publish","type":"chapter","link":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/chapter\/3d-object-representations-bezier-b-splines\/","title":{"rendered":"3D Object Representations (Bezier, B-Splines)"},"content":{"raw":"<div>\r\n\r\n<strong>Objectives:<\/strong>\r\n<ul>\r\n \t<li>Understand the properties of Bezier curves<\/li>\r\n \t<li>Understand the theory behind B-Splines<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<strong>Discussion:<\/strong>\r\n\r\n&nbsp;\r\n\r\n<strong>Properties of Bezier curves:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">From the previous module we have understood how approximating spline curves are drawn. Also Bezier curves were introduced in that module. In this module let\u2019s start our discussion with the properties of Bezier curves. Let\u2019s recollect the equation for cubic Bezier curve as given<\/p>\r\n\r\n<\/div>\r\n<div>\r\n<p style=\"text-align: center\">\u00a0\u220a 0,1<\/p>\r\n\r\n<\/div>\r\nWe can write general Bezier curve equation in for n control points, as\r\n\r\n&nbsp;\r\n<p style=\"text-align: center\">\u00a0\u220a 0,1<\/p>\r\n&nbsp;\r\n\r\nProperty: 1\r\n<div>\r\n<p style=\"text-align: justify\">The curves touch (interpolate) the first and last control points but approximate all other intermediate points.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">When we substitute <strong><em>u=0<\/em><\/strong> the curve touches the first control point P0, and when <strong><em>u<\/em><\/strong>=1, the curve touches the last control point P3.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-196 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-126.png\" alt=\"\" width=\"217\" height=\"155\" \/>\r\n\r\n<span style=\"text-align: initial;font-size: 1em\">Property: 2<\/span>\r\n\r\n<\/div>\r\n<div>\r\n\r\n&nbsp;\r\n\r\nThe curves always lie within their convex hull.\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">This property means that the curves never lie outside the convex shape of the control polyline. This is because the weights associated with each of the control points is in the interval [0,1] for all values of <strong><em>u<\/em><\/strong> in the interval [0,1]. As we know from the previous property that, whenever a curve touches a control point, the weight associated with that point is 1, while all other weights remain insignificant.<\/p>\r\n&nbsp;\r\n\r\nProperty: 3\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The blending functions are non-negative, sum to unity for every \u2018<strong><em>u<\/em><\/strong>\u2019 in the range [0,1]. This property means that for any value of <strong><em>u<\/em><\/strong> in the interval [0,1] all the blending<\/p>\r\nfunctions sum to unity.\r\n\r\n<img class=\"size-full wp-image-197 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-127.png\" alt=\"\" width=\"238\" height=\"57\" \/>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\nProperty: 4\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The slope at the beginning of the curve is along the line joining the first two control points and the slope at the end of the curve is along the line joining the last two end points. Assume there are 6 control points from P0 to P5 in the arrangement as shown below, then<\/p>\r\n&nbsp;\r\n\r\n<strong><em>P\u2019<\/em><\/strong>(0)=<strong><em> -<\/em><\/strong>5<strong><em>P<\/em><\/strong>0<strong><em>+ 5P<\/em><\/strong>1\r\n\r\n<strong><em>P\u2019<\/em><\/strong>(1)=<strong><em> -<\/em><\/strong>5<strong><em>P<\/em><\/strong>4<strong><em>+ 5P<\/em><\/strong>5\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-198 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-128.png\" alt=\"\" width=\"204\" height=\"210\" \/>\r\n\r\n&nbsp;\r\n\r\nProperty: 5\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Closed Bezier curves can be generated by specifying the first and last control points at the same position (as shown in the figure above).<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">As we know from property-1, that the curves touch the first and the last control points, and if we keep both the first and the last control points at the same position the curve becomes closed.<\/p>\r\n&nbsp;\r\n\r\nProperty: 6\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Specifying multiple control points at the same location gives more weight to that position and the curve gets pulled towards them.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">This property means that, when we place more than one control point at the same location the weight at the point tends to be more and the curve gets pulled towards that more than that towards other points. As we know that each control point is associated with one blending function, and with the position being the same the weights get added up and thus the weight is more at that position. This property is useful to design curve shapes of our choice.<\/p>\r\n\r\n<\/div>\r\n<div>\r\n\r\n<img class=\"size-full wp-image-199 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-129.png\" alt=\"\" width=\"187\" height=\"140\" \/>\r\n\r\n&nbsp;\r\n\r\nProperty: 7\r\n\r\n&nbsp;\r\n\r\nComplicated curves can be generated by piecing several Bezier sections of lower degree together.\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Assume two Bezier curve sections formed by control points, <strong><em>P<\/em><\/strong>0 to <strong><em>P<\/em><\/strong>2 and <strong><em>P<\/em><\/strong>0\u2019 to <strong><em>P<\/em><\/strong>3\u2019. Set the initial point of the new curve section as shown below, i.e. <strong><em>P<\/em><\/strong>0<strong><em>\u2019= P<\/em><\/strong>2. For achieving <strong><em>C<\/em><\/strong>1 continuity place the second control point of the new section at <strong><em>P<\/em><\/strong>2<strong><em>+<\/em><\/strong> (<strong><em>P<\/em><\/strong> 2<strong><em>-P<\/em><\/strong>1). This property is useful because, Bezier curves are dependent on the number of control points, and in turn on the degree of the polynomials. The more the number of control points, the higher is the degree of the polynomials.<\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-200 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130.png\" alt=\"\" width=\"358\" height=\"157\" \/>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\nProperty: 8\r\n\r\n&nbsp;\r\n\r\nBezier curves show affine invariance.\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">This property states that, Bezier curves are invariant under affine transformations. It can be understood that, if the Bezier curve is to be transformed using affine transformations like Translation, Rotation, Scaling etc., it is as simple as applying these transformations on control points and redrawing the curve at the new position.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-201 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-131.png\" alt=\"\" width=\"217\" height=\"135\" \/>\r\n\r\nProperty: 9\r\n\r\n&nbsp;\r\n\r\nBezier curves do not vary as much as their control polyline does.\r\n<p style=\"text-align: justify\">This property states that, even though the control polyline varies too much due to random positioning of the control points, the variation in the curve shape is not proportional. This is an interesting property that we tend to ignore, but it signifies the invariance property of the curve even under complex conditions.<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-202 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-132.png\" alt=\"\" width=\"243\" height=\"178\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n\r\nProperty: 10\r\n\r\n&nbsp;\r\n\r\nIf the control points are collinear, Bezier curve reduces to a straight line.\r\n<p style=\"text-align: justify\">This property states that, if we place the control points along a straight line, Bezier curves seizes to be a curve and becomes a straight line.<\/p>\r\n&nbsp;\r\n\r\nBezier Matrix:\r\n\r\nBezier curve can be represented in matrix form as below.\r\n\r\n<img class=\"size-full wp-image-203 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-133.png\" alt=\"\" width=\"210\" height=\"64\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Recall the discussion from the previous module (Mod-11) on Hermite Interpolation splines, and if we follow similar solution we get<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-204 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-134.png\" alt=\"\" width=\"208\" height=\"75\" \/>\r\n\r\n&nbsp;\r\n\r\nBezier Surfaces:\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">If we extend Bezier curves in two different directions using two parameters say <strong><em>u<\/em><\/strong> and <strong><em>v<\/em><\/strong>, we get Bezier Surfaces.<\/p>\r\n<img class=\"size-full wp-image-205 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135.png\" alt=\"\" width=\"374\" height=\"176\" \/>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\nDrawbacks of Bezier curves:\r\n<ul>\r\n \t<li>They do not offer local control<\/li>\r\n \t<li>The degree of the polynomials is dependent on the number of control points.<\/li>\r\n<\/ul>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let\u2019s understand each of the drawbacks in detail. The first drawback says that Bezier curves do not offer Local Control. It means that if we try to modify the shape of a small section of the curve without disturbing the remaining part of the curve, it would not be possible. What actually happens is that, the rest of the curve also gets affected as shown below in the figure. As can be observed from the figure below, if we try to alter the shape of the curve between <strong><em>P<\/em><\/strong>2 and <strong><em>P<\/em><\/strong>4, it also affects the curve shape between <strong><em>P<\/em><\/strong>0 and <strong><em>P<\/em><\/strong>2. Local control is very important property that determines the freedom of curve design.<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-206 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-136.png\" alt=\"\" width=\"307\" height=\"280\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The second drawback says that, the degree of the polynomials is directly related to the number of control points as per the relation<\/p>\r\n<p style=\"text-align: center\">Degree=no. of control points -1<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">This dependency should be broken, because, with the parameter <strong><em>u<\/em><\/strong> in the interval [0,1], and the powers of <strong><em>u<\/em><\/strong> (degree) raised in proportion to the number of control points, it becomes difficult to manage such large floating point values, which is cumbersome often.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Now we need to look for blending functions that satisfy our requirements as mentioned above. These blending functions are key to curve design, as they contribute to the curve shape and also offer better control. Let\u2019s expand the range of the parameter from [0,1] to [-<strong>\u221e<\/strong> , +<strong>\u221e<\/strong>] , the parameter is conventionally referred to as \u2018 <strong><em>t<\/em><\/strong>\u2019 instead of \u2018<strong><em>u<\/em><\/strong>\u2019. The value of the parameter \u2018<strong><em>t<\/em><\/strong>\u2019, where two blending functions meet is called a \u2018<strong><em>knot<\/em><\/strong>\u2019. There can be a set of knot values, called \u2018<strong><em>knot vector\u2019<\/em><\/strong> on which we can define a set of blending functions as shown in the figure below.<\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-207 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137.png\" alt=\"\" width=\"387\" height=\"150\" \/>\r\n\r\n&nbsp;\r\n\r\nThus the requirements for better blending functions are as follows:\r\n<ul>\r\n \t<li>Blending functions must <strong><em>sum to unity<\/em><\/strong> for every \u2018<strong><em>t<\/em><\/strong>\u2019<\/li>\r\n \t<li>They must be <strong><em>lower degree<\/em><\/strong> polynomials<\/li>\r\n \t<li>They must offer better <strong><em>local control<\/em><\/strong><\/li>\r\n \t<li>They must be <strong><em>active<\/em><\/strong> over a small span of the entire range of the parameter \u2018<strong><em>t<\/em><\/strong>\u2019.<\/li>\r\n \t<li>The degree of the polynomials should be <strong><em>independent<\/em><\/strong> of the number of control points.<\/li>\r\n<\/ul>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Given a set of knot values, there exists an infinite collection of blending functions, that satisfy the above properties, and there is only one such family that offers the best local\u00a0<span style=\"font-size: 1em;text-align: initial\">control and has lower degree polynomials, and this family called the Basis for all Spline curves that can be generated.<\/span><\/p>\r\n\r\n<\/div>\r\n<div>\r\n\r\n&nbsp;\r\n\r\n<strong>B-Spline Curves:<\/strong>\r\n\r\n&nbsp;\r\n\r\nThe B-Spline curves are defined as follows: Here <strong><em>B<\/em><\/strong> stands for \u2018Basis\u2019.\r\n\r\n&nbsp;\r\n<p style=\"text-align: center\"><strong>=<\/strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong> , <\/strong>\u00a0\u00a0\u00a0\u00a0 where\u00a0\u00a0 <strong>\u2264\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2264<\/strong><\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\nt \u2013 is the parameter\r\ntk - are the knot values (k from min to max)\r\nPk \u2013 control points\r\n0 to L \u2013 L+1 control points \/ L+1 blending functions\r\nNk,m (t) \u2013 Kth B-spline blending function of order m\r\nm \u2013 order of blending functions (one higher than the degree)\r\nm-1 \u2013 degree of blending functions\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Blending functions <strong><em>N<\/em><\/strong><sub><strong><em>k,m<\/em><\/strong><\/sub> (<strong><em>t<\/em><\/strong>) are derived using Cox-DeBoor recursion formulae as below<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-208 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138.png\" alt=\"\" width=\"382\" height=\"52\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">It is evident from the above recursive equation for a B-spline blending function, that a <strong><em>k<\/em><\/strong>th B-spline blending function of order<strong><em> m <\/em><\/strong>is a weighted combination of two B-spline blending functions of order <strong><em>m<\/em><\/strong>-1. Thus the above equations are recursive equations and because the minimum possible order is 1, we need to define the first order B-Spline blending functions, and they are defined as follows<\/p>\r\n<img class=\"size-full wp-image-209 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-139.png\" alt=\"\" width=\"191\" height=\"74\" \/>\r\n<p style=\"text-align: justify\">A <strong><em>knot vector<\/em><\/strong> is a list of parameter values, or knots, that specify the parameter intervals for the individual curves that make up a B-spline.<\/p>\r\n&nbsp;\r\n\r\n<strong><em>t<\/em><\/strong>0\u2264<strong><em> t<\/em><\/strong>1 \u2264<strong><em> t<\/em><\/strong>2 \u2264<strong><em> \u2026\u2026..t<\/em><\/strong><strong><em>i-<\/em><\/strong>1 \u2264<strong><em> t<\/em><\/strong><strong><em>i<\/em><\/strong>are<strong><em> i+<\/em><\/strong>1 non-decreasing numbers.\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">We can define a <strong><em>knot vector<\/em><\/strong> with spacing between knots that is either uniform or non-uniform or may have some multiple knots. A Knot vector, with uniform spacing between knots is called a \u201cuniform Knot vector\u201d. Spline curves defined on \u2018uniform knot vector\u2019 are called Uniform B-Splines. A knot vector, that is non-uniform, allows placing of knots such that two closely spaced knots might be combined to form one knot by nullifying the spacing between them. It results in a knot called <strong><em>multiple knot<\/em><\/strong>. The <strong><em>multiplicity<\/em><\/strong> of a knot determines how many knots are combined into one. A knot vector that has some knots as multiple knots is called a \u201cstandard knot vector\u201d. B-splines curves drawn on standard knot vector are called \u2018 <strong><em>Open B-Splines<\/em><\/strong>\u2019.<\/p>\r\n&nbsp;\r\n\r\n<strong>Uniform Periodic B-Splines:<\/strong>\r\n\r\n&nbsp;\r\n\r\nConsider a knot vector that is uniform, T (<strong><em>t<\/em><\/strong>0 <strong><em>=<\/em><\/strong> 0<strong><em>, t<\/em><\/strong>1 <strong><em>=<\/em><\/strong>1<strong><em>, t<\/em><\/strong>2 <strong><em>=<\/em><\/strong> 2<strong><em>,<\/em><\/strong> <strong><em>\u2026<\/em><\/strong>)\r\n\r\n&nbsp;\r\n\r\nLinear B-Spline blending functions:\r\n\r\n&nbsp;\r\n\r\nLet, <strong><em>m<\/em><\/strong>=2, <strong><em>k<\/em><\/strong>=0,1,2,\u2026\r\n<p style=\"text-align: justify\">Let\u2019s derive the blending functions for this case using Cox-DeBoor recurrence relations as given above.<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-210 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140.png\" alt=\"\" width=\"407\" height=\"178\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n\r\nCase (i) for 0 \u2264 t \u2264 1\r\n\r\n<strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>2 (<strong><em>t<\/em><\/strong>) = t\u00a0\u00a0 [because as per the definition, <strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>1(<strong><em>t<\/em><\/strong>) = 1 (if 0&lt;t\u22641), =0 otherwise)]\r\n\r\nCase (ii) for 1 \u2264 t \u2264 2:\r\n\r\n<strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>2 (<strong><em>t<\/em><\/strong>) = 2-t\r\n\r\n&nbsp;\r\n<p style=\"text-align: center\"><strong>1<\/strong><\/p>\r\n&nbsp;\r\n\r\n<strong>\u00a0, <\/strong>\r\n\r\n&nbsp;\r\n\r\nIf we draw the shape of <strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>2 (<strong><em>t<\/em><\/strong>) for t<strong>\u2208<\/strong> [0,2], it is as shown in the figure below.\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-211 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141.png\" alt=\"\" width=\"363\" height=\"149\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">If we derive the equations for the second B-spline blending function or order 2, <strong><em>N<\/em><\/strong>1,2(<strong><em>t<\/em><\/strong>), the derivation is as follows.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-212 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142.png\" alt=\"\" width=\"398\" height=\"89\" \/>\r\n\r\nCase (i) 0 \u2264 t \u2264 1:\r\n\r\n<strong><em>N<\/em><\/strong><strong><em>1,2<\/em><\/strong> (<strong><em>t<\/em><\/strong>) = 0\r\n\r\nCase (ii) 1 \u2264 t \u2264 2:\r\n\r\n<strong><em>N<\/em><\/strong><strong><em>1,2<\/em><\/strong> (<strong><em>t<\/em><\/strong>) = t-1\r\n\r\nCase (iii) 2 \u2264 t \u2264 3:\r\n\r\n<strong><em>N<\/em><\/strong><strong><em>1,2<\/em><\/strong> (<strong><em>t<\/em><\/strong>) = 3-t\r\n\r\nThus we can define the second B-Spline blending function of order 2, <strong><em>N<\/em><\/strong>1,2(<strong><em>t<\/em><\/strong>) as below\r\n<p style=\"text-align: right\"><strong>1 <\/strong><strong>\u00a0<\/strong><\/p>\r\n<p style=\"text-align: center\"><strong>,\u00a0<\/strong><\/p>\r\n<p style=\"text-align: right\"><strong>2<\/strong><\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\"><span style=\"text-align: justify;font-size: 1em\">If we derive equations for other B-spline blending functions of order 2, they simply are shifted versions of the previous functions and have the same shape. It can be observed that <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">1, 2 is a shifted version of <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">0, 2 by 1 unit to the right on the <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>t<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\"> axis, similarly <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">2,2 is shifted by 2 units to the right, and so on. We can generalize this by saying that <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><strong style=\"text-align: justify;font-size: 1em\"><em>k<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">,2 is shifted by <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>k\u00a0<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">units to the right. It is also that each function spans 2 units. <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">0,2 has its span between [0,2], <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">1,2 has its span in the interval [1,3] and so on, as shown in the figure below.<\/span><\/p>\r\n\r\n<\/div>\r\n<div>\r\n\r\n<img class=\"size-full wp-image-213 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143.png\" alt=\"\" width=\"475\" height=\"232\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">A spline curve drawn using blending function of order 2 will have a shape as shown below. In fact, it\u2019s not a curve, because the degree of the polynomials is 1. Thus the curves are simply straight lines.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-214 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-144.png\" alt=\"\" width=\"276\" height=\"123\" \/>\r\n\r\n<span style=\"text-decoration: underline\">Quadratic B-Spline blending functions:<\/span>\r\n\r\nWe need to set the following\r\n\r\n<strong><em>m<\/em><\/strong>=3,<strong><em> k<\/em><\/strong>=0,1,2,\u2026\r\n\r\n<img class=\"size-full wp-image-215 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145.png\" alt=\"\" width=\"366\" height=\"40\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above equation can be expanded till the order in the terms on the right hand side, reduces to 1. Now substitute in <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), equations derived earlier for <strong><em>N<\/em><\/strong>0,2(t) and <strong><em>N<\/em><\/strong>1,2(<strong><em>t<\/em><\/strong>)<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-216 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146.png\" alt=\"\" width=\"582\" height=\"152\" \/>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-217 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147.png\" alt=\"\" width=\"506\" height=\"238\" \/>\r\n\r\n&nbsp;\r\n<div>\r\n\r\n\u00a0 \u00a0 Case (i) 0 \u2264 t \u2264 1:\r\n\r\n<strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) =\r\n\r\nCase (ii) 1 \u2264 t \u2264 2:\r\n\r\n<strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) =<strong><em>\u00a0 <\/em><\/strong><strong>\u2212<\/strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>\u2212<\/strong>\r\n\r\nCase (iii) 2 \u2264 t \u2264 3:\r\n\r\n<strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) =\r\n\r\nCase (iv) 3 \u2264 t \u2264 4:\r\n\r\n<strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) = 0\r\n\r\n&nbsp;\r\n\r\nThus we can define the <strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) blending function as below\r\n\r\n<img class=\"size-full wp-image-218 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-148.png\" alt=\"\" width=\"286\" height=\"127\" \/>\r\n<p style=\"text-align: justify\">The shape of blending functions <strong><em>N<\/em><\/strong><strong><em>k<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>) for <strong><em>k<\/em><\/strong> from 0 to <strong><em>n<\/em><\/strong>, where <strong><em>n<\/em><\/strong> can be any number, is shown as below. It is evident that the shapes are shifted version of the first function <strong><em>N<\/em><\/strong><strong><em>0<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>). The function <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>) is shifted by 1 unit and has span between [1,4]. The function <strong><em>N<\/em><\/strong>2,3(<strong><em>t<\/em><\/strong>) is shifted by 2 units to the right and has span between [2,5] and so on. We can conclude in general that a quadratic B-spline blending function <strong><em>N<\/em><\/strong>k,3(<strong><em>t<\/em><\/strong>) starts at <strong><em>t<\/em><\/strong><strong><em>k<\/em><\/strong> and ends at <strong><em>t<\/em><\/strong><strong><em>k<\/em><\/strong>+3. It is easy to derive equations for the other blending functions <strong><em>N<\/em><\/strong><strong><em>k<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>) by simply substituting for <strong><em>t<\/em><\/strong>, in the equation of <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), <strong><em>t<\/em><\/strong>-<strong><em>k<\/em><\/strong>. (For ex: To derive equations for the blending function <strong><em>N<\/em><\/strong><strong><em>1<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>), substitute in the equations of <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), (<strong><em>t<\/em><\/strong>-1). To derive equations for the blending function\u00a0<strong><em>N<\/em><\/strong><strong><em>2<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>), substitute in the equations of<strong><em> N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), (<strong><em>t<\/em><\/strong>-2) and so on.)<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-219 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149.png\" alt=\"\" width=\"351\" height=\"232\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Spline curve drawn using the above quadratic blending functions look like the one as shown below.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-220 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-150.png\" alt=\"\" width=\"226\" height=\"195\" \/>\r\n\r\n<strong>Summary:<\/strong>\r\n<ul>\r\n \t<li>We have learnt the important properties of Bezier curves<\/li>\r\n \t<li>Understood the drawbacks of Bezier curves<\/li>\r\n \t<li>Learnt the theory behind drawing Linear, Quadratic, B-Spline curves.<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n************************************************************************************************\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-222 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151.png\" alt=\"\" width=\"624\" height=\"295\" \/>","rendered":"<div>\n<p><strong>Objectives:<\/strong><\/p>\n<ul>\n<li>Understand the properties of Bezier curves<\/li>\n<li>Understand the theory behind B-Splines<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Discussion:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Properties of Bezier curves:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">From the previous module we have understood how approximating spline curves are drawn. Also Bezier curves were introduced in that module. In this module let\u2019s start our discussion with the properties of Bezier curves. Let\u2019s recollect the equation for cubic Bezier curve as given<\/p>\n<\/div>\n<div>\n<p style=\"text-align: center\">\u00a0\u220a 0,1<\/p>\n<\/div>\n<p>We can write general Bezier curve equation in for n control points, as<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">\u00a0\u220a 0,1<\/p>\n<p>&nbsp;<\/p>\n<p>Property: 1<\/p>\n<div>\n<p style=\"text-align: justify\">The curves touch (interpolate) the first and last control points but approximate all other intermediate points.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">When we substitute <strong><em>u=0<\/em><\/strong> the curve touches the first control point P0, and when <strong><em>u<\/em><\/strong>=1, the curve touches the last control point P3.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-196 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-126.png\" alt=\"\" width=\"217\" height=\"155\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-126.png 217w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-126-65x46.png 65w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/><\/p>\n<p><span style=\"text-align: initial;font-size: 1em\">Property: 2<\/span><\/p>\n<\/div>\n<div>\n<p>&nbsp;<\/p>\n<p>The curves always lie within their convex hull.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">This property means that the curves never lie outside the convex shape of the control polyline. This is because the weights associated with each of the control points is in the interval [0,1] for all values of <strong><em>u<\/em><\/strong> in the interval [0,1]. As we know from the previous property that, whenever a curve touches a control point, the weight associated with that point is 1, while all other weights remain insignificant.<\/p>\n<p>&nbsp;<\/p>\n<p>Property: 3<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The blending functions are non-negative, sum to unity for every \u2018<strong><em>u<\/em><\/strong>\u2019 in the range [0,1]. This property means that for any value of <strong><em>u<\/em><\/strong> in the interval [0,1] all the blending<\/p>\n<p>functions sum to unity.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-197 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-127.png\" alt=\"\" width=\"238\" height=\"57\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-127.png 238w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-127-65x16.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-127-225x54.png 225w\" sizes=\"auto, (max-width: 238px) 100vw, 238px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Property: 4<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The slope at the beginning of the curve is along the line joining the first two control points and the slope at the end of the curve is along the line joining the last two end points. Assume there are 6 control points from P0 to P5 in the arrangement as shown below, then<\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>P\u2019<\/em><\/strong>(0)=<strong><em> &#8211;<\/em><\/strong>5<strong><em>P<\/em><\/strong>0<strong><em>+ 5P<\/em><\/strong>1<\/p>\n<p><strong><em>P\u2019<\/em><\/strong>(1)=<strong><em> &#8211;<\/em><\/strong>5<strong><em>P<\/em><\/strong>4<strong><em>+ 5P<\/em><\/strong>5<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-198 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-128.png\" alt=\"\" width=\"204\" height=\"210\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-128.png 204w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-128-65x67.png 65w\" sizes=\"auto, (max-width: 204px) 100vw, 204px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Property: 5<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Closed Bezier curves can be generated by specifying the first and last control points at the same position (as shown in the figure above).<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">As we know from property-1, that the curves touch the first and the last control points, and if we keep both the first and the last control points at the same position the curve becomes closed.<\/p>\n<p>&nbsp;<\/p>\n<p>Property: 6<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Specifying multiple control points at the same location gives more weight to that position and the curve gets pulled towards them.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">This property means that, when we place more than one control point at the same location the weight at the point tends to be more and the curve gets pulled towards that more than that towards other points. As we know that each control point is associated with one blending function, and with the position being the same the weights get added up and thus the weight is more at that position. This property is useful to design curve shapes of our choice.<\/p>\n<\/div>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-199 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-129.png\" alt=\"\" width=\"187\" height=\"140\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-129.png 187w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-129-65x49.png 65w\" sizes=\"auto, (max-width: 187px) 100vw, 187px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Property: 7<\/p>\n<p>&nbsp;<\/p>\n<p>Complicated curves can be generated by piecing several Bezier sections of lower degree together.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Assume two Bezier curve sections formed by control points, <strong><em>P<\/em><\/strong>0 to <strong><em>P<\/em><\/strong>2 and <strong><em>P<\/em><\/strong>0\u2019 to <strong><em>P<\/em><\/strong>3\u2019. Set the initial point of the new curve section as shown below, i.e. <strong><em>P<\/em><\/strong>0<strong><em>\u2019= P<\/em><\/strong>2. For achieving <strong><em>C<\/em><\/strong>1 continuity place the second control point of the new section at <strong><em>P<\/em><\/strong>2<strong><em>+<\/em><\/strong> (<strong><em>P<\/em><\/strong> 2<strong><em>-P<\/em><\/strong>1). This property is useful because, Bezier curves are dependent on the number of control points, and in turn on the degree of the polynomials. The more the number of control points, the higher is the degree of the polynomials.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-200 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130.png\" alt=\"\" width=\"358\" height=\"157\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130.png 358w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130-300x132.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130-65x29.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130-225x99.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-130-350x153.png 350w\" sizes=\"auto, (max-width: 358px) 100vw, 358px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Property: 8<\/p>\n<p>&nbsp;<\/p>\n<p>Bezier curves show affine invariance.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">This property states that, Bezier curves are invariant under affine transformations. It can be understood that, if the Bezier curve is to be transformed using affine transformations like Translation, Rotation, Scaling etc., it is as simple as applying these transformations on control points and redrawing the curve at the new position.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-201 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-131.png\" alt=\"\" width=\"217\" height=\"135\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-131.png 217w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-131-65x40.png 65w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/><\/p>\n<p>Property: 9<\/p>\n<p>&nbsp;<\/p>\n<p>Bezier curves do not vary as much as their control polyline does.<\/p>\n<p style=\"text-align: justify\">This property states that, even though the control polyline varies too much due to random positioning of the control points, the variation in the curve shape is not proportional. This is an interesting property that we tend to ignore, but it signifies the invariance property of the curve even under complex conditions.<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-202 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-132.png\" alt=\"\" width=\"243\" height=\"178\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-132.png 243w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-132-65x48.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-132-225x165.png 225w\" sizes=\"auto, (max-width: 243px) 100vw, 243px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p>Property: 10<\/p>\n<p>&nbsp;<\/p>\n<p>If the control points are collinear, Bezier curve reduces to a straight line.<\/p>\n<p style=\"text-align: justify\">This property states that, if we place the control points along a straight line, Bezier curves seizes to be a curve and becomes a straight line.<\/p>\n<p>&nbsp;<\/p>\n<p>Bezier Matrix:<\/p>\n<p>Bezier curve can be represented in matrix form as below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-203 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-133.png\" alt=\"\" width=\"210\" height=\"64\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-133.png 210w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-133-65x20.png 65w\" sizes=\"auto, (max-width: 210px) 100vw, 210px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Recall the discussion from the previous module (Mod-11) on Hermite Interpolation splines, and if we follow similar solution we get<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-204 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-134.png\" alt=\"\" width=\"208\" height=\"75\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-134.png 208w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-134-65x23.png 65w\" sizes=\"auto, (max-width: 208px) 100vw, 208px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Bezier Surfaces:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">If we extend Bezier curves in two different directions using two parameters say <strong><em>u<\/em><\/strong> and <strong><em>v<\/em><\/strong>, we get Bezier Surfaces.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-205 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135.png\" alt=\"\" width=\"374\" height=\"176\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135.png 374w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135-300x141.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135-65x31.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135-225x106.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-135-350x165.png 350w\" sizes=\"auto, (max-width: 374px) 100vw, 374px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Drawbacks of Bezier curves:<\/p>\n<ul>\n<li>They do not offer local control<\/li>\n<li>The degree of the polynomials is dependent on the number of control points.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let\u2019s understand each of the drawbacks in detail. The first drawback says that Bezier curves do not offer Local Control. It means that if we try to modify the shape of a small section of the curve without disturbing the remaining part of the curve, it would not be possible. What actually happens is that, the rest of the curve also gets affected as shown below in the figure. As can be observed from the figure below, if we try to alter the shape of the curve between <strong><em>P<\/em><\/strong>2 and <strong><em>P<\/em><\/strong>4, it also affects the curve shape between <strong><em>P<\/em><\/strong>0 and <strong><em>P<\/em><\/strong>2. Local control is very important property that determines the freedom of curve design.<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-206 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-136.png\" alt=\"\" width=\"307\" height=\"280\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-136.png 307w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-136-300x274.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-136-65x59.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-136-225x205.png 225w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The second drawback says that, the degree of the polynomials is directly related to the number of control points as per the relation<\/p>\n<p style=\"text-align: center\">Degree=no. of control points -1<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">This dependency should be broken, because, with the parameter <strong><em>u<\/em><\/strong> in the interval [0,1], and the powers of <strong><em>u<\/em><\/strong> (degree) raised in proportion to the number of control points, it becomes difficult to manage such large floating point values, which is cumbersome often.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Now we need to look for blending functions that satisfy our requirements as mentioned above. These blending functions are key to curve design, as they contribute to the curve shape and also offer better control. Let\u2019s expand the range of the parameter from [0,1] to [-<strong>\u221e<\/strong> , +<strong>\u221e<\/strong>] , the parameter is conventionally referred to as \u2018 <strong><em>t<\/em><\/strong>\u2019 instead of \u2018<strong><em>u<\/em><\/strong>\u2019. The value of the parameter \u2018<strong><em>t<\/em><\/strong>\u2019, where two blending functions meet is called a \u2018<strong><em>knot<\/em><\/strong>\u2019. There can be a set of knot values, called \u2018<strong><em>knot vector\u2019<\/em><\/strong> on which we can define a set of blending functions as shown in the figure below.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-207 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137.png\" alt=\"\" width=\"387\" height=\"150\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137.png 387w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137-300x116.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137-65x25.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137-225x87.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-137-350x136.png 350w\" sizes=\"auto, (max-width: 387px) 100vw, 387px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Thus the requirements for better blending functions are as follows:<\/p>\n<ul>\n<li>Blending functions must <strong><em>sum to unity<\/em><\/strong> for every \u2018<strong><em>t<\/em><\/strong>\u2019<\/li>\n<li>They must be <strong><em>lower degree<\/em><\/strong> polynomials<\/li>\n<li>They must offer better <strong><em>local control<\/em><\/strong><\/li>\n<li>They must be <strong><em>active<\/em><\/strong> over a small span of the entire range of the parameter \u2018<strong><em>t<\/em><\/strong>\u2019.<\/li>\n<li>The degree of the polynomials should be <strong><em>independent<\/em><\/strong> of the number of control points.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Given a set of knot values, there exists an infinite collection of blending functions, that satisfy the above properties, and there is only one such family that offers the best local\u00a0<span style=\"font-size: 1em;text-align: initial\">control and has lower degree polynomials, and this family called the Basis for all Spline curves that can be generated.<\/span><\/p>\n<\/div>\n<div>\n<p>&nbsp;<\/p>\n<p><strong>B-Spline Curves:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>The B-Spline curves are defined as follows: Here <strong><em>B<\/em><\/strong> stands for \u2018Basis\u2019.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\"><strong>=<\/strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong> , <\/strong>\u00a0\u00a0\u00a0\u00a0 where\u00a0\u00a0 <strong>\u2264\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2264<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>t \u2013 is the parameter<br \/>\ntk &#8211; are the knot values (k from min to max)<br \/>\nPk \u2013 control points<br \/>\n0 to L \u2013 L+1 control points \/ L+1 blending functions<br \/>\nNk,m (t) \u2013 Kth B-spline blending function of order m<br \/>\nm \u2013 order of blending functions (one higher than the degree)<br \/>\nm-1 \u2013 degree of blending functions<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Blending functions <strong><em>N<\/em><\/strong><sub><strong><em>k,m<\/em><\/strong><\/sub> (<strong><em>t<\/em><\/strong>) are derived using Cox-DeBoor recursion formulae as below<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-208 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138.png\" alt=\"\" width=\"382\" height=\"52\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138.png 382w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138-300x41.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138-65x9.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138-225x31.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-138-350x48.png 350w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">It is evident from the above recursive equation for a B-spline blending function, that a <strong><em>k<\/em><\/strong>th B-spline blending function of order<strong><em> m <\/em><\/strong>is a weighted combination of two B-spline blending functions of order <strong><em>m<\/em><\/strong>-1. Thus the above equations are recursive equations and because the minimum possible order is 1, we need to define the first order B-Spline blending functions, and they are defined as follows<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-209 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-139.png\" alt=\"\" width=\"191\" height=\"74\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-139.png 191w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-139-65x25.png 65w\" sizes=\"auto, (max-width: 191px) 100vw, 191px\" \/><\/p>\n<p style=\"text-align: justify\">A <strong><em>knot vector<\/em><\/strong> is a list of parameter values, or knots, that specify the parameter intervals for the individual curves that make up a B-spline.<\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>t<\/em><\/strong>0\u2264<strong><em> t<\/em><\/strong>1 \u2264<strong><em> t<\/em><\/strong>2 \u2264<strong><em> \u2026\u2026..t<\/em><\/strong><strong><em>i-<\/em><\/strong>1 \u2264<strong><em> t<\/em><\/strong><strong><em>i<\/em><\/strong>are<strong><em> i+<\/em><\/strong>1 non-decreasing numbers.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">We can define a <strong><em>knot vector<\/em><\/strong> with spacing between knots that is either uniform or non-uniform or may have some multiple knots. A Knot vector, with uniform spacing between knots is called a \u201cuniform Knot vector\u201d. Spline curves defined on \u2018uniform knot vector\u2019 are called Uniform B-Splines. A knot vector, that is non-uniform, allows placing of knots such that two closely spaced knots might be combined to form one knot by nullifying the spacing between them. It results in a knot called <strong><em>multiple knot<\/em><\/strong>. The <strong><em>multiplicity<\/em><\/strong> of a knot determines how many knots are combined into one. A knot vector that has some knots as multiple knots is called a \u201cstandard knot vector\u201d. B-splines curves drawn on standard knot vector are called \u2018 <strong><em>Open B-Splines<\/em><\/strong>\u2019.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Uniform Periodic B-Splines:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Consider a knot vector that is uniform, T (<strong><em>t<\/em><\/strong>0 <strong><em>=<\/em><\/strong> 0<strong><em>, t<\/em><\/strong>1 <strong><em>=<\/em><\/strong>1<strong><em>, t<\/em><\/strong>2 <strong><em>=<\/em><\/strong> 2<strong><em>,<\/em><\/strong> <strong><em>\u2026<\/em><\/strong>)<\/p>\n<p>&nbsp;<\/p>\n<p>Linear B-Spline blending functions:<\/p>\n<p>&nbsp;<\/p>\n<p>Let, <strong><em>m<\/em><\/strong>=2, <strong><em>k<\/em><\/strong>=0,1,2,\u2026<\/p>\n<p style=\"text-align: justify\">Let\u2019s derive the blending functions for this case using Cox-DeBoor recurrence relations as given above.<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-210 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140.png\" alt=\"\" width=\"407\" height=\"178\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140.png 407w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140-300x131.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140-65x28.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140-225x98.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-140-350x153.png 350w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p>Case (i) for 0 \u2264 t \u2264 1<\/p>\n<p><strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>2 (<strong><em>t<\/em><\/strong>) = t\u00a0\u00a0 [because as per the definition, <strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>1(<strong><em>t<\/em><\/strong>) = 1 (if 0&lt;t\u22641), =0 otherwise)]<\/p>\n<p>Case (ii) for 1 \u2264 t \u2264 2:<\/p>\n<p><strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>2 (<strong><em>t<\/em><\/strong>) = 2-t<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\"><strong>1<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00a0, <\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>If we draw the shape of <strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>2 (<strong><em>t<\/em><\/strong>) for t<strong>\u2208<\/strong> [0,2], it is as shown in the figure below.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-211 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141.png\" alt=\"\" width=\"363\" height=\"149\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141.png 363w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141-300x123.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141-65x27.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141-225x92.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-141-350x144.png 350w\" sizes=\"auto, (max-width: 363px) 100vw, 363px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">If we derive the equations for the second B-spline blending function or order 2, <strong><em>N<\/em><\/strong>1,2(<strong><em>t<\/em><\/strong>), the derivation is as follows.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-212 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142.png\" alt=\"\" width=\"398\" height=\"89\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142.png 398w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142-300x67.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142-65x15.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142-225x50.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-142-350x78.png 350w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/p>\n<p>Case (i) 0 \u2264 t \u2264 1:<\/p>\n<p><strong><em>N<\/em><\/strong><strong><em>1,2<\/em><\/strong> (<strong><em>t<\/em><\/strong>) = 0<\/p>\n<p>Case (ii) 1 \u2264 t \u2264 2:<\/p>\n<p><strong><em>N<\/em><\/strong><strong><em>1,2<\/em><\/strong> (<strong><em>t<\/em><\/strong>) = t-1<\/p>\n<p>Case (iii) 2 \u2264 t \u2264 3:<\/p>\n<p><strong><em>N<\/em><\/strong><strong><em>1,2<\/em><\/strong> (<strong><em>t<\/em><\/strong>) = 3-t<\/p>\n<p>Thus we can define the second B-Spline blending function of order 2, <strong><em>N<\/em><\/strong>1,2(<strong><em>t<\/em><\/strong>) as below<\/p>\n<p style=\"text-align: right\"><strong>1 <\/strong><strong>\u00a0<\/strong><\/p>\n<p style=\"text-align: center\"><strong>,\u00a0<\/strong><\/p>\n<p style=\"text-align: right\"><strong>2<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\"><span style=\"text-align: justify;font-size: 1em\">If we derive equations for other B-spline blending functions of order 2, they simply are shifted versions of the previous functions and have the same shape. It can be observed that <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">1, 2 is a shifted version of <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">0, 2 by 1 unit to the right on the <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>t<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\"> axis, similarly <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">2,2 is shifted by 2 units to the right, and so on. We can generalize this by saying that <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><strong style=\"text-align: justify;font-size: 1em\"><em>k<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">,2 is shifted by <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>k\u00a0<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">units to the right. It is also that each function spans 2 units. <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">0,2 has its span between [0,2], <\/span><strong style=\"text-align: justify;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: justify;font-size: 1em\">1,2 has its span in the interval [1,3] and so on, as shown in the figure below.<\/span><\/p>\n<\/div>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-213 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143.png\" alt=\"\" width=\"475\" height=\"232\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143.png 475w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143-300x147.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143-65x32.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143-225x110.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-143-350x171.png 350w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">A spline curve drawn using blending function of order 2 will have a shape as shown below. In fact, it\u2019s not a curve, because the degree of the polynomials is 1. Thus the curves are simply straight lines.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-214 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-144.png\" alt=\"\" width=\"276\" height=\"123\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-144.png 276w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-144-65x29.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-144-225x100.png 225w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/p>\n<p><span style=\"text-decoration: underline\">Quadratic B-Spline blending functions:<\/span><\/p>\n<p>We need to set the following<\/p>\n<p><strong><em>m<\/em><\/strong>=3,<strong><em> k<\/em><\/strong>=0,1,2,\u2026<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-215 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145.png\" alt=\"\" width=\"366\" height=\"40\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145.png 366w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145-300x33.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145-65x7.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145-225x25.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-145-350x38.png 350w\" sizes=\"auto, (max-width: 366px) 100vw, 366px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above equation can be expanded till the order in the terms on the right hand side, reduces to 1. Now substitute in <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), equations derived earlier for <strong><em>N<\/em><\/strong>0,2(t) and <strong><em>N<\/em><\/strong>1,2(<strong><em>t<\/em><\/strong>)<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-216 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146.png\" alt=\"\" width=\"582\" height=\"152\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146.png 582w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146-300x78.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146-65x17.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146-225x59.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-146-350x91.png 350w\" sizes=\"auto, (max-width: 582px) 100vw, 582px\" \/><\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-217 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147.png\" alt=\"\" width=\"506\" height=\"238\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147.png 506w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147-300x141.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147-65x31.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147-225x106.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-147-350x165.png 350w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/p>\n<p>&nbsp;<\/p>\n<div>\n<p>\u00a0 \u00a0 Case (i) 0 \u2264 t \u2264 1:<\/p>\n<p><strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) =<\/p>\n<p>Case (ii) 1 \u2264 t \u2264 2:<\/p>\n<p><strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) =<strong><em>\u00a0 <\/em><\/strong><strong>\u2212<\/strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>\u2212<\/strong><\/p>\n<p>Case (iii) 2 \u2264 t \u2264 3:<\/p>\n<p><strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) =<\/p>\n<p>Case (iv) 3 \u2264 t \u2264 4:<\/p>\n<p><strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) = 0<\/p>\n<p>&nbsp;<\/p>\n<p>Thus we can define the <strong><em>N<\/em><\/strong>0<strong><em>,<\/em><\/strong>3 (<strong><em>t<\/em><\/strong>) blending function as below<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-218 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-148.png\" alt=\"\" width=\"286\" height=\"127\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-148.png 286w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-148-65x29.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-148-225x100.png 225w\" sizes=\"auto, (max-width: 286px) 100vw, 286px\" \/><\/p>\n<p style=\"text-align: justify\">The shape of blending functions <strong><em>N<\/em><\/strong><strong><em>k<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>) for <strong><em>k<\/em><\/strong> from 0 to <strong><em>n<\/em><\/strong>, where <strong><em>n<\/em><\/strong> can be any number, is shown as below. It is evident that the shapes are shifted version of the first function <strong><em>N<\/em><\/strong><strong><em>0<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>). The function <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>) is shifted by 1 unit and has span between [1,4]. The function <strong><em>N<\/em><\/strong>2,3(<strong><em>t<\/em><\/strong>) is shifted by 2 units to the right and has span between [2,5] and so on. We can conclude in general that a quadratic B-spline blending function <strong><em>N<\/em><\/strong>k,3(<strong><em>t<\/em><\/strong>) starts at <strong><em>t<\/em><\/strong><strong><em>k<\/em><\/strong> and ends at <strong><em>t<\/em><\/strong><strong><em>k<\/em><\/strong>+3. It is easy to derive equations for the other blending functions <strong><em>N<\/em><\/strong><strong><em>k<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>) by simply substituting for <strong><em>t<\/em><\/strong>, in the equation of <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), <strong><em>t<\/em><\/strong>&#8211;<strong><em>k<\/em><\/strong>. (For ex: To derive equations for the blending function <strong><em>N<\/em><\/strong><strong><em>1<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>), substitute in the equations of <strong><em>N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), (<strong><em>t<\/em><\/strong>-1). To derive equations for the blending function\u00a0<strong><em>N<\/em><\/strong><strong><em>2<\/em><\/strong>,3(<strong><em>t<\/em><\/strong>), substitute in the equations of<strong><em> N<\/em><\/strong>0,3(<strong><em>t<\/em><\/strong>), (<strong><em>t<\/em><\/strong>-2) and so on.)<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-219 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149.png\" alt=\"\" width=\"351\" height=\"232\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149.png 351w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149-300x198.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149-65x43.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149-225x149.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-149-350x231.png 350w\" sizes=\"auto, (max-width: 351px) 100vw, 351px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Spline curve drawn using the above quadratic blending functions look like the one as shown below.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-220 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-150.png\" alt=\"\" width=\"226\" height=\"195\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-150.png 226w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-150-65x56.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-150-225x194.png 225w\" sizes=\"auto, (max-width: 226px) 100vw, 226px\" \/><\/p>\n<p><strong>Summary:<\/strong><\/p>\n<ul>\n<li>We have learnt the important properties of Bezier curves<\/li>\n<li>Understood the drawbacks of Bezier curves<\/li>\n<li>Learnt the theory behind drawing Linear, Quadratic, B-Spline curves.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>************************************************************************************************<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-222 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151.png\" alt=\"\" width=\"624\" height=\"295\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151.png 624w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151-300x142.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151-65x31.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151-225x106.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-151-350x165.png 350w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/p>\n","protected":false},"author":3,"menu_order":12,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":["dr-t-raghuveera"],"pb_section_license":""},"chapter-type":[],"contributor":[59],"license":[],"class_list":["post-193","chapter","type-chapter","status-publish","hentry","contributor-dr-t-raghuveera"],"part":3,"_links":{"self":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":9,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/193\/revisions"}],"predecessor-version":[{"id":559,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/193\/revisions\/559"}],"part":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/193\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/media?parent=193"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapter-type?post=193"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/contributor?post=193"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/license?post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}