引言
今天刚写了个双三次B样条曲面的生成算法的实现,同样没有使用OpenGL
截图
思路
代码
package
com.cg4hj.chapter05.bsplinesurface;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import com.cg4hj.utils.Point3D;
@SuppressWarnings( " serial " )
public class BSplineSurface extends JFrame ... {
public BSplineSurface() ...{
super("B-spline surface:");
addWindowListener(new WindowAdapter() ...{
public void windowClosing(WindowEvent evt) ...{
System.exit(0);
}
});
setSize(800,600);
add("Center", new CvBSplineSurface());
setVisible(true);
}
public static void main(String[] args) ...{
new BSplineSurface();
}
}
@SuppressWarnings( " serial " )
class CvBSplineSurface extends Canvas ... {
private int maxX;
private int maxY;
private double rWidth = 10.0;
private double rHeight = 10.0;
private double pixelWidth;
private double pixelHeight;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import com.cg4hj.utils.Point3D;
@SuppressWarnings( " serial " )
public class BSplineSurface extends JFrame ... {
public BSplineSurface() ...{
super("B-spline surface:");
addWindowListener(new WindowAdapter() ...{
public void windowClosing(WindowEvent evt) ...{
System.exit(0);
}
});
setSize(800,600);
add("Center", new CvBSplineSurface());
setVisible(true);
}
public static void main(String[] args) ...{
new BSplineSurface();
}
}
@SuppressWarnings( " serial " )
class CvBSplineSurface extends Canvas ... {
private int maxX;
private int maxY;
private double rWidth = 10.0;
private double rHeight = 10.0;
private double pixelWidth;
private double pixelHeight;