In the computer science subfields of computer-aided design and computer graphics, the term spline more frequently refers to a piecewise polynomial (parametric) curve. Splines are popular curves in these subfields because of the simplicity of their construction, their ease and accuracy of evaluation, and their capacity to approximate complex shapes through curve fitting and interactive curve design.
The term spline comes from the flexible spline devices used by shipbuilders and draftsmen to draw smooth shapes.
Introduction
The term "spline" is used to refer to a wide class of functions that are used in applications requiring data interpolation and/or smoothing. The data may be either one-dimensional or multi-dimensional. Spline functions for interpolation are normally determined as the minimizers of suitable measures of roughness (for example integral squared curvature) subject to the interpolation constraints. Smoothing splines may be viewed as generalizations of interpolation splines where the functions are determined to minimize a weighted combination of the average squared approximation error over observed data and the roughness measure. For a number of meaningful definitions of the roughness measure, the spline functions are found to be finite dimensional in nature, which is the primary reason for their utility in computations and representation. For the rest of this section, we focus entirely on one-dimensional, polynomial splines and use the term "spline" in this restricted sense.
Before computers were used, numerical calculations were done by hand. Although piecewise-defined functions like the sign function or step function were used, polynomials were generally preferred because they were easier to work with. Through the advent of computers, splines have gained importance. They were first used as a replacement for polynomials in interpolation, then as a tool to construct smooth and flexible shapes in computer graphics.
It is commonly accepted that the first mathematical reference to splines is the 1946 paper by Schoenberg, which is probably the first place that the word "spline" is used in connection with smooth, piecewise polynomial approximation. However, the ideas have their roots in the aircraft and shipbuilding industries. In the foreword to (Bartels et al., 1987), Robin Forrest describes "lofting", a technique used in the British aircraft industry during World War II to construct templates for airplanes by passing thin wooden strips (called "splines") through points laid out on the floor of a large design loft, a technique borrowed from ship-hull design. For years the practice of ship design had employed models to design in the small. The successful design was then plotted on graph paper and the key points of the plot were re-plotted on larger graph paper to full size. The thin wooden strips provided an interpolation of the key points into smooth curves. The strips would be held in place at discrete points (called "ducks" by Forrest; Schoenberg used "dogs" or "rats") and between these points would assume shapes of minimum strain energy. According to Forrest, one possible impetus for a mathematical model for this process was the potential loss of the critical design components for an entire aircraft should the loft be hit by an enemy bomb. This gave rise to "conic lofting", which used conic sections to model the position of the curve between the ducks. Conic lofting was replaced by what we would call splines in the early 1960s based on work by J. C. Ferguson at Boeing and (somewhat later) by M.A. Sabin at British Aircraft Corporation.
The word "spline" was originally an East Anglian dialect word.
The use of splines for modeling automobile bodies seems to have several independent beginnings. Credit is claimed on behalf of de Casteljau at Citroën, Pierre Bézier at Renault, and Birkhoff, Garabedian, and de Boor at General Motors (see Birkhoff and de Boor, 1965), all for work occurring in the very early 1960s or late 1950s. At least one of de Casteljau's papers was published, but not widely, in 1959. De Boor's work at General Motors resulted in a number of papers being published in the early 1960s, including some of the fundamental work on B-splines.
Work was also being done at Pratt & Whitney Aircraft, where two of the authors of (Ahlberg et al., 1967) — the first book-length treatment of splines — were employed, and the David Taylor Model Basin, by Feodor Theilheimer. The work at General Motors is detailed nicely in (Birkhoff, 1990) and (Young, 1997). Davis (1997) summarizes some of this material.
We begin by limiting our discussion to polynomials in one variable. In this case, a spline is a piecewisepolynomialfunction.
This function, call it S, takes values from an interval [a,b] and maps them to the set of real numbers,
We want S to be piecewise defined. To accomplish this, let the interval [a,b] be covered by k ordered, disjoint subintervals,
On each of these k "pieces" of [a,b], we want to define a polynomial, call it Pi.
On the ith subinterval of [a,b], S is defined by Pi,
The given k + 1 points ti are called knots. The vector t = (t0, …, tk) is called a knot vector for the spline.
If the knots are equidistantly distributed in the interval [a,b] we say the spline is uniform, otherwise we say it is non-uniform.
If the polynomial pieces Pi each have degree at most n, then the spline is said to be of degree≤ n (or of ordern + 1).
If in a neighborhood of ti, then the spline is said to be of smoothness (at least) at ti. That is, at ti the two polynomial pieces Pi–1 and Pi share common derivative values from the derivative of order 0 (the function value) up through the derivative of order ri (in other words, the two adjacent polynomial pieces connect with loss of smoothness of at most n – ri)
A vector r = (r1, …, rk–1) such that the spline has smoothness at ti for i = 1, …, k – 1 is called a smoothness vector for the spline.
Given a knot vector t, a degree n, and a smoothness vector r for t, one can consider the set of all splines of degree ≤ n having knot vector t and smoothness vector r. Equipped with the operation of adding two functions (pointwise addition) and taking real multiples of functions, this set becomes a real vector space. This spline space is commonly denoted by
In the mathematical study of polynomial splines the question of what happens when two knots, say ti and ti+1, are taken to approach one another and become coincident has an easy answer. The polynomial piece Pi(t) disappears, and the pieces Pi−1(t) and Pi+1(t) join with the sum of the smoothness losses for ti and ti+1.
That is,
where ji = n – ri.
This leads to a more general understanding of a knot vector. The continuity loss at any point can be considered to be the result of multiple knots located at that point, and a spline type can be completely characterized by its degree n and its extended knot vector
where ti is repeated ji times
for i = 1, …, k – 1.
A parametric curve on the interval [a,b]
is a spline curve if both X and Y are spline functions of the same degree with the same extended knot vectors on that interval.
Examples
Suppose the interval [a, b] is [0, 3] and the subintervals are [0, 1], [1, 2], [2, 3]. Suppose the polynomial pieces are to be of degree 2, and the pieces on [0, 1] and [1, 2] must join in value and first derivative (at t = 1) while the pieces on [1, 2] and [2, 3] join simply in value (at t = 2). This would define a type of spline S(t) for which
would be a member of that type, and also
would be a member of that type.
(Note: while the polynomial piece 2t is not quadratic, the result is still called a quadratic spline. This demonstrates that the degree of a spline is the maximum degree of its polynomial parts.)
The extended knot vector for this type of spline would be (0, 1, 2, 2, 3).
The simplest spline has degree 0. It is also called a step function.
The next most simple spline has degree 1. It is also called a linear spline. A closed linear spline (i.e, the first knot and the last are the same) in the plane is just a polygon.
A common spline is the natural cubic spline. A cubic spline has degree 3 with continuity C2, i.e. the values and first and second derivatives are continuous. Natural means that the second derivatives of the spline polynomials are zero at the endpoints of the interval of interpolation.
Thus, the graph of the spline is a straight line outside of the interval, but still smooth.
Algorithm for computing natural cubic splines
Cubic splines are of the form
Given set of coordinates
we wish to find set of n splines Si(x) for i = 0, …, n – 1.
These must satisfy:
Let us define one cubic spline S as a 5-tuple (a, b , c, d, xt) where a, b, c, d correspond to coefficients in the form shown earlier and xt is equal to xj.
Algorithm for computing Natural Cubic Splines:
Input: set of coordinates C, with |C| = n + 1
Output: set splines which is composed of n 5-tuples.
Create new array a of size n + 1 and for i = 0, …, n set
Create new arrays b and d, each of size n.
Create new array h of size n and for i = 0, …, n – 1 set
Create new array α of size n and for i = 1, …, n – 1 set
Create new arrays c, l, μ, z, each of size n + 1.
Set
For i = 1, …, n – 1 set the following:
Set
For j = n – 1, n – 2, …, 0, set the following:
Create new set Splines and call it output_set. Populate it with n splines S.
For i = 0, …, n – 1 set the following:
Output output_set
Notes
It might be asked what meaning more than n multiple knots in a knot vector have, since this would lead to continuities like
at the location of this high multiplicity. By convention, any such situation indicates a simple discontinuity between the two adjacent polynomial pieces. This means that if a knot ti appears more than n + 1 times in an extended knot vector, all instances of it in excess of the (n + 1)th can be removed without changing the character of the spline, since all multiplicities n + 1, n + 2, n + 3, etc. have the same meaning. It is commonly assumed that any knot vector defining any type of spline has been culled in this fashion.
The classical spline type of degree n used in numerical analysis has continuity
which means that every two adjacent polynomial pieces meet in their value and first n − 1 derivatives at each knot. The mathematical spline that most closely models the flat spline is a cubic (n = 3), twice continuously differentiable (C2), natural spline, which is a spline of this classical type with additional conditions imposed at endpoints a and b.
Another type of spline that is much used in graphics, for example in drawing programs such as Adobe Illustrator from Adobe Systems, has pieces that are cubic but has continuity only at most
This spline type is also used in PostScript as well as in the definition of some computer typographic fonts.
Many computer-aided design systems that are designed for high-end graphics and animation use extended knot vectors,
for example Autodesk Maya.
Computer-aided design systems often use an extended concept of a spline known as a Nonuniform rational B-spline (NURBS).
If sampled data from a function or a physical object is available, spline interpolation is an approach to creating a spline that approximates that data.
General expression for a C2 interpolating cubic spline
The general expression for the ith C2 interpolating cubic spline at a point x with the natural condition can be found using the formula
where
are the values of the second derivative at the ith knot.
are the values of the function at the ith knot.
Representations and names
For a given interval [a,b] and a given extended knot vector on that interval, the splines of degree n form a vector space. Briefly this means that adding any two splines of a given type produces spline of that given type, and multiplying a spline of a given type by any constant produces a spline of that given type. The dimension of
the space containing all splines of a certain type can be counted from the extended knot vector:
The dimension is equal to the sum of the degree plus the multiplicities
If a type of spline has additional linear conditions imposed upon it, then the resulting spline will lie in a subspace. The space of all natural cubic splines, for instance, is a subspace of the space of all cubic C2 splines.
The literature of splines is replete with names for special types of splines.
These names have been associated with:
The choices made for representing the spline, for example:
using basis functions for the entire spline (giving us the name B-splines)
The choices made in forming the extended knot vector, for example:
using single knots for Cn–1 continuity and spacing these knots evenly on [a,b] (giving us uniform splines)
using knots with no restriction on spacing (giving us nonuniform splines)
Any special conditions imposed on the spline, for example:
enforcing zero second derivatives at a and b (giving us natural splines)
requiring that given data values be on the spline (giving us interpolating splines)
Often a special name was chosen for a type of spline satisfying two or more of the main items above. For example, the Hermite spline is a spline that is expressed using Hermite polynomials to represent each of the individual polynomial pieces. These are most often used with n = 3; that is, as Cubic Hermite splines. In this degree they may additionally be chosen to be only tangent-continuous (C1); which implies that all interior knots are double. Several methods have been invented to fit such splines to given data points; that is, to make them into interpolating splines, and to do so by estimating plausible tangent values where each two polynomial pieces meet (giving us Cardinal splines, Catmull-Rom splines, and Kochanek-Bartels splines, depending on the method used).
For each of the representations, some means of evaluation must be found so that values of the spline can be produced on demand. For those representations that express each individual polynomial piece Pi(t) in terms of
some basis for the degree n polynomials, this is conceptually straightforward:
For a given value of the argument t, find the interval in which it lies
Look up the polynomial basis chosen for that interval
Find the value of each basis polynomial at t:
Look up the coefficients of the linear combination of those basis polynomials that give the spline on that interval c0, ..., ck–2
Add up that linear combination of basis polynomial values to get the value of the spline at t:
However, the evaluation and summation steps are often combined in clever ways. For example, Bernstein polynomials are a basis for polynomials that can be evaluated in linear combinations efficiently using special recurrence relations. This is the essence of De Casteljau's algorithm, which features in Bézier curves and Bézier splines).
For a representation that defines a spline as a linear combination of basis splines, however, something more sophisticated is needed. The de Boor algorithm is an efficient method for evaluating B-splines.
References
^Farin, G. E. (2002). Curves and surfaces for CAGD: a practical guide. Morgan Kaufmann. p. 119.
Ferguson, James C, Multi-variable curve interpolation, J. ACM, vol. 11, no. 2, pp. 221-228, Apr. 1964.
Ahlberg, Nielson, and Walsh, The Theory of Splines and Their Applications, 1967.
Birkhoff, Fluid dynamics, reactor computations, and surface representation, in: Steve Nash (ed.), A History of Scientific Computation, 1990.
Bartels, Beatty, and Barsky, An Introduction to Splines for Use in Computer Graphics and Geometric Modeling, 1987.
Birkhoff and de Boor, Piecewise polynomial interpolation and approximation, in: H. L. Garabedian (ed.), Proc. General Motors Symposium of 1964, pp. 164–190. Elsevier, New York and Amsterdam, 1965.
Charles K. Chui, Multivariate Splines, SIAM, ISBN 978-0-898712261 (1987).
Ming-Jun Lai , and Larry L. Schumaker, Spline Functions on Triangulations, Cambridge Univ. Press, ISBN 978-0-521-87592-9 (2007).
Stoer & Bulirsch, Introduction to Numerical Analysis. Springer-Verlag. p. 93-106. ISBN 0387904204
Schoenberg, Contributions to the problem of approximation of equidistant data by analytic functions, Quart. Appl. Math., vol. 4, pp. 45–99 and 112–141, 1946.
Young, Garrett Birkhoff and applied mathematics, Notices of the AMS, vol. 44, no. 11, pp. 1446–1449, 1997.
Chapra, Canale, Numerical Methods for Engineers 5th edition.
Schumaker, Larry L., Spline Functions: Basic Theory, John Wiley, ISBN 0-47176475-2 (1981).
Schumaker, Larry, Spline Functions: Computational Methods, SIAM, ISBN 978-1-61197-389-1 (2015).
Schumaker, Larry, Spline Functions: More Computational Models, SIAM, ISBN 978-1-61197-817-9 (2024).
What's My Age Again?Berkas:WhatsMyAgeAgain.jpgSingel oleh Blink-182dari album Enema of the StateDirilis13 April 1999DirekamJanuari–Maret 1999[1]GenrePop punkDurasi2:26LabelMCAPencipta Mark Hoppus Tom DeLonge ProduserJerry FinnKronologi singel Blink-182 Josie (1998) What's My Age Again? (1999) All the Small Things (1999) What's My Age Again? adalah lagu dari band rock Amerika Blink-182. Lagu ini dirilis pada bulan April 1999 sebagai single utama dari album studio ketiga grup, Enema ...
هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (أكتوبر 2023) أندريييفكا أندريييفكا (محافظة زابوروجييه) أندريييفكا (محافظة زابوروجييه) ...
Overview of current British heads of government Map showing governing parties of UK administrations by political party as of July 2017 (click to enlarge) In the United Kingdom, various titles are used for the head of government of each of the countries of the United Kingdom, Crown Dependencies, and Overseas Territories. Following elections to the assembly or parliament, the party (or coalition) with a majority of seats is invited to form a government. The monarch (in the United Kingdom) or go...
Austronesian language spoken in Vanuatu For other uses, see Lakona (disambiguation). LakonLakona, VurePronunciation[laˈkɔn]Native toVanuatuRegionGauaNative speakers800 (2012)[1]Language familyAustronesian Malayo-PolynesianOceanicSouthern OceanicNorth-Central VanuatuNorth VanuatuTorres-BanksLakonLanguage codesISO 639-3lknGlottologlako1245ELPLakonLakon is classified as Vulnerable by the UNESCO Atlas of the World's Languages in DangerThis article contains IPA phonetic...
Ini adalah nama Korea; marganya adalah Hyun. Hyun Jung-HwaJung-hwa, 2018Personal informationNama lengkapHyun Jung-HwaKebangsaan Korea SelatanLahir06 Oktober 1969 (umur 54)Busan, Korea SelatanTinggi166 m (544 ft 7+1⁄2 in)[1]Berat52 kg (115 pon) Rekam medali Putri Tenis meja Mewakili Korea Selatan Olympic Games 1988 Seoul Doubles 1992 Barcelona Singles 1992 Barcelona Doubles World Championships 1987 New Delhi Doubles 1989 Dortmund MixedDoub...
Putri Elisabeth Charlotte dari PfalzAdipatni OrléansPotret oleh Hyacinthe Rigaud, 1713Kelahiran(1652-05-27)27 Mei 1652Kastil Heidelberg, Heidelberg, Elektorat Pfalz, Kekaisaran Romawi SuciKematian8 Desember 1722(1722-12-08) (umur 70)Istana Saint-Cloud, Île-de-France, Kerajaan PrancisPemakamanBasilika Saint Denis, PrancisWangsaPfalz-Simmern (sejak lahir)Bourbon (oleh pernikahan)AyahKarl I LudwigIbuCharlotte dari Hessen-KasselPasanganPhilippe d'Orléans (m. 16...
American actor (born 1954) For The Lost Boys character, see Michael Emerson (character). Michael EmersonEmerson at the 2013 San Diego Comic-ConBorn (1954-09-07) September 7, 1954 (age 69)Cedar Rapids, Iowa, U.S.EducationDrake University (BA)University of Alabama (MFA)OccupationActorYears active1986–presentSpouse Carrie Preston (m. 1998) Michael Emerson (born September 7, 1954) is an American actor who is best known for his roles as Benjamin Linus on ...
Steins;GatevideogiocoLogo del giocoPiattaformaXbox 360, Microsoft Windows, PlayStation Portable, iOS, PlayStation 3, PlayStation Vita, Android, PlayStation 4, Nintendo Switch Data di pubblicazioneXbox 360: 15 ottobre 2009 Windows: 26 agosto 2010 31 marzo 2014 PlayStation Portable: 23 giugno 2011 iOS: 25 agosto 2011 9 settembre 2016 PlayStation 3: 24 maggio 2012 25 agosto 2015 5 giugno 2015 PlayStation Vita: 14 marzo 2013 25 agosto 2015 5 giugno 2015 Android: 2...
Yang MuliaRobert Francis PrevostO.S.A.Prefek Dikasteri untuk Para UskupPrevost in 2014GerejaGereja Katolik RomaPenunjukan30 Januari 2023Awal masa jabatan12 April 2023PendahuluMarc OuelletJabatan lainKardinal-Diakon Santa Monica (2023-) Presiden Komisi Kepausan untuk Amerika LatinImamatTahbisan imam19 Juni 1982oleh Jean JadotTahbisan uskup12 Desember 2014oleh James Patrick GreenPelantikan kardinal30 September 2023oleh Paus FransiskusPeringkatKardinal-DiakonInformasi pribadiNama lahir...
Part of a series onShia Islam Beliefs and practices Monotheism Holy Books Prophethood Succession to Muhammad Imamate Ismaili Twelver Zaydi Angels Judgment Day Mourning of Muharram Intercession Clergy The Four Companions Arbaʽeen Pilgrimage Days of remembrance Ashura Arba'een Mawlid Eid al-Fitr Eid al-Adha Eid al-Ghadir Mourning of Muharram Omar Koshan History Verse of purification Two things Mubahala Khumm Fatimah's house First Fitna Second Fitna Battle of Karbala Origin Persecution Branches...
尊敬的拿督斯里莫哈末·沙布Mohamad bin Sabu国会议员2018年9月24日末沙布在五角大楼与美国国防部长詹姆斯·马蒂斯会面农业及食品工业部部长现任就任日期2022年12月3日君主最高元首苏丹阿都拉最高元首苏丹依布拉欣·依斯迈首相安华·依布拉欣副职陈泓缣(2022年至2023年)亚瑟古律(2023年至今)前任羅納建迪国防部长任期2018年5月21日—2020年2月24日君主最高元首端姑莫哈末五世...
American college basketball season 2016–17 Louisville Cardinals men's basketballNCAA tournament, Second RoundConferenceAtlantic Coast ConferenceRankingCoachesNo. 14APNo. 10Record25–9 (12–6 ACC)Head coachRick Pitino (16th season)Assistant coaches Kenny Johnson Mike Balado David Padgett Home arenaKFC Yum! CenterSeasons← 2015–162017–18 → 2016–17 ACC men's basketball standings vte Conf Overall Team W L PCT W L PCT N...
Bagian dari seriIlmu Pengetahuan Formal Logika Matematika Logika matematika Statistika matematika Ilmu komputer teoretis Teori permainan Teori keputusan Ilmu aktuaria Teori informasi Teori sistem FisikalFisika Fisika klasik Fisika modern Fisika terapan Fisika komputasi Fisika atom Fisika nuklir Fisika partikel Fisika eksperimental Fisika teori Fisika benda terkondensasi Mekanika Mekanika klasik Mekanika kuantum Mekanika kontinuum Rheologi Mekanika benda padat Mekanika fluida Fisika plasma Ter...
Alleged 1973 alien abduction in Mississippi Calvin ParkerCalvin Parker at the 2019 International UFO Congress in Phoenix, ArizonaBorn(1954-11-02)November 2, 1954DiedAugust 24, 2023 (aged 68)Known forAlleged abduction Charles HicksonBornApril 16, 1931[1]DiedSeptember 9, 2011(2011-09-09) (aged 80)Known forAlleged abduction Alleged abduction of Charles Hickson, Calvin ParkerLocationPascagoula River, Mississippi The Pascagoula Abduction was an alleged UFO sig...
This list of tallest buildings in Ontario ranks skyscrapers and high rise buildings in the province of Ontario by height. Buildings in nine cities are included in this list; Hamilton, Kitchener, London, Markham, Mississauga, Niagara Falls, Ottawa, Toronto, and Windsor, each having buildings taller than 100 metres. The tallest building in the province of Ontario is First Canadian Place 298 metres (978 feet). Completed in 1976, it is also the tallest building in Canada and the 68th tallest bui...
Severely deficient supply of oxygen Oxygen deprivation redirects here. For other uses, see Hypoxia (disambiguation) and Asphyxia (disambiguation). Smother and Suffocation redirect here. For other uses, see Smother (disambiguation) and Suffocation (disambiguation). Medical conditionAsphyxiaOther namesAsphyxiationThe neck contains several vulnerable targets for compression, including the carotid arteries and the trachea.SpecialtyCritical care medicineComplicationsComaFrequency9.8 million uninte...
Undeciphered late Bronze Age syllabary Cypro-MinoanScript type Syllabary Time periodc. 1550–1050 BCStatusExtinctDirectionLeft to rightLanguagesunknownRelated scriptsParent systemsLinear ACypro-MinoanChild systemsCypriot syllabaryISO 15924ISO 15924Cpmn (402), Cypro-MinoanUnicodeUnicode aliasCypro MinoanUnicode rangeU+12F90–U+12FFF The Cypro-Minoan syllabary (CM), more commonly called the Cypro-Minoan Script, is an undeciphered syllabary used on the island of Cyprus and at its ...
العالم الشرقيمعلومات عامةجانب من جوانب انقسام شرق-غرب ممثلة بـ ثقافة شرقية لديه جزء أو أجزاء دولة النقيض العالم الغربي تعديل - تعديل مصدري - تعديل ويكي بيانات صورة توضح موقع العالم الشرقي العالم الشرقي مصطلح يشير إلى منطقة واسع جدا مختلفة الثقافات والفلسفة والجغرافيا والث...
American TV series or program Animal PracticePromotional imageGenreSitcomCreated by Alessandro Tanaka Brian Gatewood Starring Justin Kirk Crystal the Monkey Joanna García Swisher Bobby Lee Kym Whitley Betsy Sodaro Tyler Labine ComposerLudwig GöranssonCountry of originUnited StatesOriginal languageEnglishNo. of seasons1No. of episodes9ProductionExecutive producers Scot Armstrong Brian Gatewood Ravi Nandan Anthony Russo Joe Russo Alessandro Tanaka Camera setupSingle-cameraRunning time22 minu...