⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b-splin_rar - deboor_java.htm

📁 b样条算法 b样条算法 b样条算法
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0085)http://www.programsalon.com/view/downloads76/sourcecode/java/282080/DeBoor.java__.htm -->
<HTML><HEAD><TITLE>B-splin.rar - DeBoor.java</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>
<SCRIPT language=JavaScript>
function openwin(url)
{
 window.open(url, 'ProgramSourceCode');
}
</SCRIPT>
<TEXTAREA rows=17 cols=105>文件头:
public class DeBoor  

{

	public static void main(String[] args) 

	{

		DeBoor D=new DeBoor();

		double[][] d={{-24,-12,1,10,12},{0,6,8,2,0}};

		double[] t={0,0.75,1};

		int [] r={4,1,4};

		int q=2;

		int k=3;

		double u=0.5;

		double[] w=D.BsplineDrive(d,t,r,q,u,k);

		System.out.println(w[0]+" "+w[1]);

	}

	public   double[]  BsplineNote(double[] t,int[] r,double u,double[][] d)

	{	 

		double x[]=new double[2];

		double[][] c=d;

		int i=0,k=3;

		for(int j=0;j&lt;8;j++)

		{

			if(u&lt;=knotValue(j+1,t,r)&amp;&amp;u&gt;knotValue(j,t,r))

			{

				i=j;

				break;

			}

		}

		

	

		

		

		for(int q=1;q&lt;=k;q++)

		{

			for(int j=i-k;j&lt;=i-q;j++)

			{

				double alfa=knotValue(j+k+1,t,r)-knotValue(j+1,t,r);

				if(alfa==0)alfa=0;

				else

				alfa=(u-knotValue(j+1,t,r))/alfa;

				c[0][j]=(1-alfa)*c[0][j]+alfa*c[0][j+1];

				c[1][j]=(1-alfa)*c[1][j]+alfa*c[1][j+1];

			}

		}

		for(int m=0;m&lt;2;m++)

		{

			x[m]=c[m][i-k];

		} 

		 

		return x; 

	}

	public double[] Bspline</TEXTAREA><BR>
<TABLE width=756 border=0>
  <TBODY>
  <TR>
    <TD width=1 bgColor=#b0b0b0></TD>
    <TD>
      <SCRIPT type=text/javascript><!--
google_ad_client = "pub-8055710228382273";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "333333";
google_color_url = "666666";
//--></SCRIPT>

      <SCRIPT src="B-splin_rar - DeBoor_java.files/show_ads.js" 
      type=text/javascript>
</SCRIPT>
    </TD>
    <TD width=15 bgColor=#e4e0d8></TD></TR></TBODY></TABLE><TEXTAREA rows=12 cols=105>文件尾:
)&amp;&amp;u&gt;knotValue(j,t,r))

			{

				i=j;

				break;

			}

		}

		//System.out.println(i);

		for(int l=1;l&lt;=q;l++)

		{

			for(int j=i-k;j&lt;=i-l;j++)

			{

				d[0][j]=(k-l+1)*(d[0][j+1]-d[0][j])/(knotValue(j+k+1,t,r)-knotValue(j+l,t,r));

				d[1][j]=(k-l+1)*(d[1][j+1]-d[1][j])/(knotValue(j+k+1,t,r)-knotValue(j+l,t,r));

			}

		} 

		for(int j=0;j&lt;=i-q;j++)

		//System.out.print(d[0][j]+" "+d[1][j]+"  ");

		for(int l=1;l&lt;=i-q;l++)

		{

			for(int j1=0;j1&lt;i-q;j1++)

			{

				double alfa=knotValue(j1+k+1,t,r)-knotValue(j1+q+1,t,r);

				if(alfa==0)alfa=0;

				else 

					alfa=(u-knotValue(j1+q+1,t,r))/alfa;

				d[0][j1]=(1-alfa)*d[0][j1]+alfa*d[0][j1+1];

				d[1][j1]=(1-alfa)*d[1][j1]+alfa*d[1][j1+1];

			}

		}

		x[0]=d[0][0];x[1]=d[1][0];

		return x;

	}

	public double knotValue(int k,double t[],int r[])

	{

		int j=1;

		double temp=0;

		for(int i=0;i&lt;r.length;i++)

		{

			temp=temp+r[i];

			if(temp&gt;k)

			{

				j=i;

				break;

			}

		}

		return t[j];

		

	}

}

</TEXTAREA><BR><A href="http://www.pudn.com/"><SMALL><FONT 
color=#a0a0a0>程序员联合开发网</FONT></SMALL></A>&nbsp;&nbsp;<A 
href="http://www.programsalon.com/downloads76/sourcecode/java/detail282080.html"><SMALL><FONT 
color=#a0a0a0>返回B-splin.rar</FONT></SMALL></A> &nbsp;&nbsp;<A 
href="javascript:openwin('/view_src.asp?id=282080&amp;f=DeBoor.java');"><SMALL><FONT 
color=#a00000>在线阅读整个文件</FONT></SMALL></A> </BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -