<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Bezier interpolation in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258358#M50760</link>
    <description>&lt;P&gt;The spline chooses a slope at the beginning and end that does not appear to be the same for JMP and Excel. The spline uses a different cubic between each pair of points and can smoothly join a large number of points, matching slopes and curvatures. If you only have four points, it might make sense to&amp;nbsp;fit a cubic to the four points and use the formula to do the interpolation.&lt;/P&gt;&lt;P&gt;Maybe we'll get a statistician's answer.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Graph Builder can do it. So can Fit Y by X." style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23137iE22BA96D12B01B5F/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture3.PNG" alt="Graph Builder can do it. So can Fit Y by X." /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Graph Builder can do it. So can Fit Y by X.&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 16 Apr 2020 11:39:06 GMT</pubDate>
    <dc:creator>Craige_Hales</dc:creator>
    <dc:date>2020-04-16T11:39:06Z</dc:date>
    <item>
      <title>Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257795#M50652</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a function to plot Bezier interpolation?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Apr 2020 23:10:06 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257795#M50652</guid>
      <dc:creator>mitulshah</dc:creator>
      <dc:date>2020-04-13T23:10:06Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257852#M50666</link>
      <description>&lt;P&gt;Multiple answers, depending what you need to do. Here are some.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For 2D graphs you can use the path function. You can't find it by searching for Bezier because the scripting index spells it&amp;nbsp;Bézier. Try searching for zier instead.&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/494"&gt;@XanGregg&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/579"&gt;@sheila_loring&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This example extends the scripting index example with dragable handles.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;// initial data; points 3 and 5 are not initially constrained about point 4
points = [
10 10 1,// move-to
30 70 0,// control point
40 10 0,// control point
50 40 3,// bezier
60 60 0,// control point
70 20 0,// control point
90 10 3 // bezier
];

// moving a square handle will call this function to 
// copy the handle coordinates to the matrix
setpoint = Function( {index, x, y}, // parameters
	{angle, distance}, // local variables
	// copy to the matrix
	points[index, 1] = x; 
	points[index, 2] = y;
	// 3 and 5 are constrained about 4, comment out to see why...
	// if the angles don't match, it isn't smooth
	If( index == 3 | index == 5,
		other = If( index == 3, 5, 3 ); // if I'm 3, he must be 5, etc
		// trig in radians, 2*pi is 360
		// atan does all 4 quadrants with 2 arguments
		angle = ATan( points[index, 2] - points[4, 2], points[index, 1] - points[4, 1] );
		// maintain other's distance
		distance = Sqrt( (points[other, 2] - points[4, 2]) ^ 2 + (points[other, 1] - points[4, 1]) ^ 2 );
		// fix other's angle to match my angle, but opposite me
		points[other, 1] = points[4, 1] + distance * Cos( angle + Pi() );
		points[other, 2] = points[4, 2] + distance * Sin( angle + Pi() );
	);
	// redraw
	gb &amp;lt;&amp;lt; inval;
);
New Window( "Example",
	gb = Graph Box(
		Fill Color( "blue" );
		// there is no good shortcut for creating handles; the JSL holds the instances
		Handle( points[1, 1], points[1, 2], setpoint( 1, x, y ) );
		Handle( points[2, 1], points[2, 2], setpoint( 2, x, y ) );
		Handle( points[3, 1], points[3, 2], setpoint( 3, x, y ) );
		Handle( points[4, 1], points[4, 2], setpoint( 4, x, y ) );
		Handle( points[5, 1], points[5, 2], setpoint( 5, x, y ) );
		Handle( points[6, 1], points[6, 2], setpoint( 6, x, y ) );
		Handle( points[7, 1], points[7, 2], setpoint( 7, x, y ) );
		// construction lines
		Pen Color( "red" );
		Line( {points[1, 1], points[1, 2]}, {points[2, 1], points[2, 2]} );
		Line( {points[3, 1], points[3, 2]}, {points[4, 1], points[4, 2]} );
		Line( {points[4, 1], points[4, 2]}, {points[5, 1], points[5, 2]} );
		Line( {points[6, 1], points[6, 2]}, {points[7, 1], points[7, 2]} );
		// the bezier
		Pen Color( "black" );
		Path( points );
	)
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I realized I should also constrain moving point 4 to drag points 3 and 5 along as well. (Not done, should be easy.)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bezier control points" style="width: 388px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23033i06A4C067D95912E1/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Bezier control points" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Bezier control points&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe you need a spline. I'm not sure what the distinction between spline, p-spline, b-spline in the scripting index is. I used spline&amp;nbsp;&lt;LI-MESSAGE title="HeatColor vs Spline vs Interpolate" uid="21233" url="https://community.jmp.com/t5/Uncharted/HeatColor-vs-Spline-vs-Interpolate/m-p/21233#U21233" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;to make this curve&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="spline coef, spline eval" style="width: 871px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23034i5C16AF416C3A341D/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture1.png" alt="spline coef, spline eval" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;spline coef, spline eval&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is also support for Bezier splines in JMP's 3D OpenGL support:&amp;nbsp;&lt;A href="https://www.jmp.com/support/help/14-2/bezier-curves.shtml" target="_blank" rel="noopener"&gt;https://www.jmp.com/support/help/14-2/bezier-curves.shtml&lt;/A&gt;&amp;nbsp;which might help draw a surface. A poor example is hidden in&amp;nbsp;&lt;LI-MESSAGE title="FFT Video" uid="21017" url="https://community.jmp.com/t5/Uncharted/FFT-Video/m-p/21017#U21017" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Great post&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/4048"&gt;@Duane_Hayes&lt;/a&gt;&amp;nbsp;&lt;LI-MESSAGE title="Understanding cubic splines" uid="39511" url="https://community.jmp.com/t5/JMPer-Cable/Understanding-cubic-splines/m-p/39511#U39511" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-blog-thread lia-fa-icon lia-fa-blog lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Something I ran into along the way:&amp;nbsp;&lt;A href="https://www.tinaja.com/glib/bezconn.pdf" target="_blank" rel="noopener"&gt;https://www.tinaja.com/glib/bezconn.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Apr 2020 10:14:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257852#M50666</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2020-04-14T10:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258030#M50708</link>
      <description>&lt;P&gt;Hi Craige,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to understand path () function and move points, control points, bezier points.&lt;/P&gt;&lt;P&gt;I have these four points from the data I have&amp;nbsp;&lt;/P&gt;&lt;P&gt;point =&lt;BR /&gt;[ 0.93 77.04 1,&lt;BR /&gt;1.37 155.22 0,&lt;BR /&gt;1.96 390.46 0,&lt;BR /&gt;2.41 846.87 3];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I put this in path function, I get a line between point 1 and point 4, but it doesn't go through point 2 and point 3. Am I missing something?&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 591px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23077iB0D39D37590B7EFF/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Apr 2020 21:06:31 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258030#M50708</guid>
      <dc:creator>mitulshah</dc:creator>
      <dc:date>2020-04-14T21:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258048#M50713</link>
      <description>&lt;P&gt;What are you trying to do?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The &lt;A href="https://en.wikipedia.org/wiki/B%C3%A9zier_curve" target="_self"&gt;wikipedia&lt;/A&gt; article is pretty good. The control points generally do not lie on the Bezier curve.&amp;nbsp;&lt;/P&gt;&lt;P&gt;JMP can fit a spline to a set of points and gives you a slider to set the stiffness of the spline.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="this spline is very stiff" style="width: 428px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23080iC8194B594DB0DBD4/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="this spline is very stiff" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;this spline is very stiff&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Edit: bad caption! NOT very stiff!&lt;/P&gt;&lt;P&gt;also see&amp;nbsp;&lt;LI-MESSAGE title="How to see equation used for spline?" uid="218698" url="https://community.jmp.com/t5/Discussions/How-to-see-equation-used-for-spline/m-p/218698#U218698" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-forum-thread lia-fa-icon lia-fa-forum lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;and&amp;nbsp;&lt;LI-MESSAGE title="cubic spline regression" uid="12835" url="https://community.jmp.com/t5/Discussions/cubic-spline-regression/m-p/12835#U12835" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-forum-thread lia-fa-icon lia-fa-forum lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;&lt;LI-MESSAGE title="How is the Smooth Line in the Graph Builder determined" uid="1859" url="https://community.jmp.com/t5/Discussions/How-is-the-Smooth-Line-in-the-Graph-Builder-determined/m-p/1859#U1859" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-forum-thread lia-fa-icon lia-fa-forum lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 00:48:10 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258048#M50713</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2020-04-15T00:48:10Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258054#M50715</link>
      <description>&lt;P&gt;This is what I am trying to do&amp;nbsp;&lt;/P&gt;&lt;P&gt;Replicate Excel's scatter plot with a smooth curve feature.&lt;/P&gt;&lt;P&gt;If I use JMP fit Y by X with a flexible spine, I have a different curve than what Excel is producing with scatter plot + smooth line. I believe Excel is using Bezier curve fit.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Datapoints:&lt;/P&gt;&lt;P&gt;Spin | X | Y&lt;/P&gt;&lt;P&gt;A | 2.41 | 846.8692&lt;BR /&gt;A | 0.93 | 77.043&lt;BR /&gt;A | 1.37 | 155.2193&lt;BR /&gt;A | 1.96 | 390.4639&lt;/P&gt;&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 764px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23081iBA4C60A2EE73DDA7/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I do not want to draw this line by using flexible spline, but I want to force bezier curve. I hope that makes sense.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 02:22:08 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258054#M50715</guid>
      <dc:creator>mitulshah</dc:creator>
      <dc:date>2020-04-15T02:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258198#M50740</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/16315"&gt;@mitulshah&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;It would help if you appended the Excel chart you expect.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I use the data (series) you provided, without sorting it, Excel creates the first graph below. If I sort the series in Excel, the second graph is teh result.&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note, that&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;JMP platforms, by default fit a curve to the the data by value not by order in the table.&amp;nbsp;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Fit Y by X, fit Flexible, Kernel Smoother Linear Tri-Cube, would be the option I would use instead a spline, assuming you want a plot like the second plot below.&lt;/LI&gt;
&lt;LI&gt;To produce a&amp;nbsp; plot like the first chart below where the curve accounts for the data order, you will need to create a script for a Path, as&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/982"&gt;@Craige_Hales&lt;/a&gt;&amp;nbsp;mentioned previously.&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;From your repsonse, it was not clear to me what you are looking for.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 481px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23102iC18E58AAFC3CDB7A/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 481px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23103i5F076D947CE2FA1A/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 15:37:51 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258198#M50740</guid>
      <dc:creator>gzmorgan0</dc:creator>
      <dc:date>2020-04-15T15:37:51Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258285#M50750</link>
      <description>&lt;P&gt;Thinking about&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/70"&gt;@gzmorgan0&lt;/a&gt;&amp;nbsp; explanation, you can do it in graph builder:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Select Points, then SHIFT to add the line" style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23118i0E861D5878BCE125/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Select Points, then SHIFT to add the line" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Select Points, then SHIFT to add the line&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 18:49:05 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258285#M50750</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2020-04-15T18:49:05Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258302#M50752</link>
      <description>&lt;P&gt;I apologize for the confusion here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mitulshah_0-1586977725503.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23120i288449FA4F8C69E8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mitulshah_0-1586977725503.png" alt="mitulshah_0-1586977725503.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In JMP, I did Fit Y by X&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mitulshah_1-1586977771466.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23121i22CF78F3A05DD142/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mitulshah_1-1586977771466.png" alt="mitulshah_1-1586977771466.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mitulshah_2-1586977921147.png" style="width: 967px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23122i0D7F24CE16949DE6/image-size/large?v=v2&amp;amp;px=999" role="button" title="mitulshah_2-1586977921147.png" alt="mitulshah_2-1586977921147.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;If I input the same data in Excel&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mitulshah_3-1586978010302.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23123i3351A9F5371255D8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mitulshah_3-1586978010302.png" alt="mitulshah_3-1586978010302.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I get this&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mitulshah_4-1586978032148.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23124i3A276DF50B42CE99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mitulshah_4-1586978032148.png" alt="mitulshah_4-1586978032148.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Notice in JMP green line there a bit of an oscillation/ kink in the curve around lower left (between X values 2-3), whereas in Excel that is not the case.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my end goal is to interpolate values from the line, so if Excel and JMP gives two different lines, then I would end up with different interpolation values.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 19:20:14 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258302#M50752</guid>
      <dc:creator>mitulshah</dc:creator>
      <dc:date>2020-04-15T19:20:14Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258358#M50760</link>
      <description>&lt;P&gt;The spline chooses a slope at the beginning and end that does not appear to be the same for JMP and Excel. The spline uses a different cubic between each pair of points and can smoothly join a large number of points, matching slopes and curvatures. If you only have four points, it might make sense to&amp;nbsp;fit a cubic to the four points and use the formula to do the interpolation.&lt;/P&gt;&lt;P&gt;Maybe we'll get a statistician's answer.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Graph Builder can do it. So can Fit Y by X." style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23137iE22BA96D12B01B5F/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture3.PNG" alt="Graph Builder can do it. So can Fit Y by X." /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Graph Builder can do it. So can Fit Y by X.&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2020 11:39:06 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258358#M50760</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2020-04-16T11:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258490#M50779</link>
      <description>&lt;P&gt;Yes. I hoping for that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Another way to do this -- &amp;gt; maybe we can calculate the control point based on the four known points I have on the curve and then draw bezier curve passing through all four points. is there a way to do that?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2020 16:06:39 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258490#M50779</guid>
      <dc:creator>mitulshah</dc:creator>
      <dc:date>2020-04-16T16:06:39Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258518#M50782</link>
      <description>&lt;P&gt;&lt;A href="http://users.umiacs.umd.edu/~ramani/cmsc460/Lecture9_interp_2008.pdf" target="_blank"&gt;http://users.umiacs.umd.edu/~ramani/cmsc460/Lecture9_interp_2008.pdf&lt;/A&gt;&amp;nbsp;says&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="snip of a pdf describing how to choose slope for first and last end points of a spline" style="width: 912px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23154i9B59DDE21BC95C49/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture4.PNG" alt="snip of a pdf describing how to choose slope for first and last end points of a spline" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;snip of a pdf describing how to choose slope for first and last end points of a spline&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I suspect 1 or 4 might apply here; I'm beyond my knowledge.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2020 18:54:53 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258518#M50782</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2020-04-16T18:54:53Z</dc:date>
    </item>
    <item>
      <title>Re: Bezier interpolation</title>
      <link>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258595#M50792</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/982"&gt;@Craige_Hales&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/16315"&gt;@mitulshah&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My knowledge and experience of Bezier curves is limited. I have seen their utility in drafting (construction and landscaping) design and clothing design. Of course, mathematical underpinnings always is interesting to me.&amp;nbsp; I did a little noodling around the internet and found that&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/16315"&gt;@mitulshah&lt;/a&gt;'s quest for Excel's Bezier spline, B-spline, algorithm is a common one. One link&amp;nbsp;&lt;A href="https://www.mrexcel.com/board/threads/excel-chart-smoothing-algorithm.114088/#post564335" target="_self"&gt;Excel Smoothing Algorithm question&lt;/A&gt;&amp;nbsp;included the link to a zip file:&amp;nbsp;&lt;A href="http://xlrotor.com/Smooth_curve_bezier_example_file.zip" target="_self"&gt;http://xlrotor.com/Smooth_curve_bezier_example_file.zip&lt;/A&gt;&amp;nbsp; &amp;nbsp;This zip contains a 2002 .xls example of a Bezier curve with embedded&amp;nbsp; &amp;nbsp;automation routines to grab the pixels from the Excel smoothed curve and interpolate teh points on the curve.&amp;nbsp; It is not "exact" and uses a technique that grabs 4 pixels off the curve. The endpoint is used twice in the first interpolated point and the last interpolated point.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One JMP discovery I made after Craige's post about the GraphBuilder Line element option to make it a curve, is the spline used for this platform must use a different algorithm because the endpoint slopes are very similar to Excel's. i started a script to do some DSP (digital signal processing)&amp;nbsp; by extracting the pixels of the GB plot. Then I found the web links listed above, and decides to just use the interpolated points from the Excel spreadsheet and overlay it with the GB Line(curve). The first screenshot below depicts the Excel worksheet with the Excel graph with Bezier spline and interpolated points, which were added as Spin B points to the JMP table.&amp;nbsp; The second picture shows the JMP GB Line(curve) with the Excel interpolated points overlaid.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Excel Interpolated Points &amp;gt; Spin B in JMP table" style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23157i7C6C25080D0EA463/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="Excel Interpolated Points &amp;gt; Spin B in JMP table" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Excel Interpolated Points &amp;gt; Spin B in JMP table&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JMP Line(curve) spline overlaid with Excel interpolations" style="width: 782px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/23159i945EAE2AFB9D0A29/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="JMP Line(curve) spline overlaid with Excel interpolations" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;JMP Line(curve) spline overlaid with Excel interpolations&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;You'll notice the interpolations are slightly offset from the JMP Line(curve) on the upper tail, that could be due to the interpolation algorithm, differences in Excel and JMP curves or a combination of both. Note in those same 4 points are slightly higher than the the curve in the Excel chart.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, my conclusion is that the JMP GB Line(curve) spline is very similar to the Excel Bezier curve.&amp;nbsp; My interest is not high, but if I get bored I might finish my DSP script to "get" the Line(curve) points.&amp;nbsp; Earlier versions of JMP used to report curve points in saved .jrn files,now just a reference to a hidden function is in the .jrn file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now, if I were consulting on this problem, my first set of questions would be:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Where do these data (4 points) come from and what is the goal?&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Spline curves, like lines and polynomials, can be useful to create calibration curves (curves to be used for interpolation) in place of complex functional relationships. However, for accuracy purposes, regular data intervals and replication is recommended, if interpolations are to be calculated from the curves. Since the X values are irregularly spaced, I wonder if there is a third (or more) variable influencing both X and Y. For example, both are readouts from a daily or weekly test readout.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Is there a fundamental, first principle, underpinning with the relationship of X and Y, for example: dose response; cell growth; contamination-corrosion, etc.&lt;/LI&gt;
&lt;LI&gt;Why so few points? What's the cost of replicaton?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;It is my experience that if there is a fundamental underlying nonlinear relationship, it is often worth the effort of getting the data and fitting the relationship to estimate the parameters (learning curves, degrdation curves), etc.&amp;nbsp; As found in the excellent information provided by Craige Hales, small differences in the control points (number and location), knots and end points can make big differences in the curvature (points on the curve) of a spline, especially with wide gaps in "x".&amp;nbsp; It is my hunch that Excel purposely did not publish points or a formula for their curve spline so people would not use it like a fitted model for estimation.&amp;nbsp; Note with "close" values of X and replication, interpolation is much less risky.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Apr 2020 01:38:49 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/258595#M50792</guid>
      <dc:creator>gzmorgan0</dc:creator>
      <dc:date>2020-04-17T01:38:49Z</dc:date>
    </item>
  </channel>
</rss>

