Home
Education
Research
Publications
Projects
Presentations
TA Courses
     

Ning Song

Ph.D Student, Graphics and Geometric Design Group
Department of Computer Science, Rice University
Office: Duncan Hall 3113
Phone: #3837
Email: nsong (a) cs*rice*edu
Education
Research & Publications

u-Bases and Their Applications in Geometric Modeling
Ph.D Thesis
Ning Song

Geometric modeling is the sub-field of computer science concerned with constructing, manipulating, and analyzing geometric models - computer models of physical, virtual or mathematical objects. In practice, many geometric models are represented by smooth algebraic functions, especially rational functions. For rational curves and surfaces, there are several common problems that are frequently encountered: computing intersections, finding implicit equations, and detecting singular points and base points. Generally, each of these problems eventually reduce to solving systems of polynomial equations. This thesis will focus on solving these common problems by u-bases.

u-Bases for Polynomial System in One Variable
Computer Aided Geometric Design (CAGD), under review
Ning Song, Ron Goldman

The concept of u-bases originated from a series of papers by Sederberg, Cox, Chen and their collaborators. u-bases can be used to implicitize as well as to find singularities for rational planar curves. Normally we represent a rational planar curve in homogeneous form by three polynomials in one variable.

In this paper, the notion of a u-basis for an arbitrary number of polynomials in one variable is defined. The basic properties of these u-bases are derived, and an algorithm is presented based on Gaussian Elimination to calculate a u-basis for any collection of univariate polynomials. These u-bases are then applied to solve implicitization, inversion and intersection problems for rational space curves. Systems where base points are present are also discussed.

Axial Moving Lines and Singularities of Rational Planar Curves
Computer Aided Geometric Design (CAGD), Vol.5 200-209, 2007
Ning Song, Falai Chen, Ron Goldman

Singularities such as cusps and self-intersections can help to determine the geometry and topology of rational curves. Detecting and avoiding local cusps and self-intersections is often important in Geometric Modeling applications. Moreover high order singularities lead to more compact representations for the implicit equation of a rational curve.

Here we show that there is a natural 1-1 correspondence between the singular points of rational planar curves and the axial moving lines that follow these curves. This correspondence is applied to compute and to analyze all the singular points of low degree rational planar curves using u-bases.

Sylvester A-Resultants for Bivariate Polynomials with Planar Newton Polygons
Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation (ISSAC-2004), 205-212
Amit Khetan, Ning Song, Ron Goldman

Necessary and sufficient conditions are derived which guarantee that a multiplying set of monomials generates exactly the Sylvester A-resultant for bivariate polynomials with a given planar Newton polygon. Valid multiplying sets are shown to come in complementary pairs, and any two complementary pairs of multiplying sets can be used to index the rows and columns of a pure Bezoutian A-resultant for the same Newton polygon.

The necessary and sufficient conditions include a set of Diophantine equations that can be solved to generate the multiplying sets and hence too the corresponding Sylvester A-resultants. Examples relevant to Geometric Modeling are provided. These examples not only flesh out the theory, but also demonstrate that none of the conditions are superfluous and that all the conditions are mutually independent.

A Computational Method for Constructing Sylvester-style sparse resultants
Proceedings of the Tenth International Conference on Applications of Computer Algebra (ACA-2004), 81-89
Ning Song, Ron Goldman

We present a computational approach for constructing Sylvester style resultants for sparse systems of bivariate polynomial equations. Necessary and sufficient conditions are derived which guarantee that a multiplying set of monomials generates an exact Sylvester style resultant for three bivariate polynomials with a given planar Newton polygon. These conditions include a set of Diophantine equations that can be solved to generate multiplying sets of monomials and therefore the corresponding Sylvester resultants. We have implemented this method in Mathematica, and the results show that such Sylvester style sparse resultants often exist, and they appear in certain specific patterns.
Interesting Programming Projects

Isosurface renderer for volume scan data
Individual work during summer internship at National Center for Macromolecular Imaging Lab (NCMI), Baylor College of Medicine, 2005

Developed in J2SE 1.4.2

  • Pure software renderer, compliant with Java 1.0/1.2 API, no additional package required. Can run as web applet or standalone java application.

  • Rendering isosurface from volume data using marching-cube algorithm.

  • Support basic 3D rendering features - point light, smooth shading, backface removal. Double-buffer drawing implemented.

  • Reading data from both local disk and http connection, support MRC type 1 file format.

  • Mouse brain layer viewer
    Collaborate work for Baylor College of Medicine, 2004

    Developed in J2SE 1.4.2

  • Pure software renderer, compliant with Java 1.0/1.2 API, no additional package required. Can run as web applet or standalone java application.

  • Optimized rendering speed

  • Support smooth shading, backface removal

  • Mouse brain layer align tool
    Collaborate work for Baylor College of Medicine, 2004

    Developed in J2SE 1.4.2 + Java3D 1.3.1

  • Fast 3D grid render utilizing Java3D package.

  • Showing both saggital layer and coronal layer, and their intersections.

  • Support multiple alignment algorithm, showing align fitness by color

  • 2D robot roadmap planner based on PRM
    Course project, C++/OpenGL

  • Implemented probabilistic roadmap plannar(PRM) for arbitrary polygon-shape robot.

  • Support adding/removing obstacle, loading/saving scene, robot position, and planned maps.

  • Support realtime animation for demonstration of robot movement.

  • Fast Fourier transform demo
    Course project, Java - J2SE 1.3.1

  • Demo of several common spectrum transformation algorithms: FFT, DFT, DCT, WHT.

  • Implemented high-pass and low-pass filter, showing spectrum and invert transformation results, with progress bar showing algorithm performance for comparison.

  • Java interface, support loading/saving results.

  • OpenGL 3D model viewer
    Course project, C++/OpenGL

  • Implemented multiple rendering algorithm such as scanline converter, Z-Buffer, BSP-Tree, etc.

  • Implemented multiple shading algorithm, flat/gouraud/phong shading.

  • Inside/outside switch, texture mapping.

  • Software renderer - raytracing
    Course project, C++

  • Multiple modeling methods, including constructive solid geometry(CSG)

  • Multiple shading/lighting algorithm, reflection, refraction, full-reflection. Support point light and spot light.

  • Programmable surfaces, special reflection effects.

  • NURBS surface builder
    Course project, C++/OpenGL

  • Constructing NURBS from control points and knots, support knot insersion/refinement.

  • Smooth shading, support two-side rendering, free camera movement.

  • Attempting to reconstruct NURBS surface from point cloud.

  • B-Spline curve editor
    Course project, C++/OpenGL

  • Different evaulation algorithm, Bezier and Lagrange interpolation.

  • Implemented De Boor's algorithm, verifying numerical stability.
  • Conference Presentations and Posters
  • Poster - "u-Bases and Their Applications in Geometric Modeling"
    Department poster session, 2006


  • Poster - "Axial Moving Lines and Singularities of Rational Planar Curves"
    Department poster session, 2005
  • Labbie & Teach Assistant:


    Comments or suggestions: nsong (a) cs*rice*edu