Extracting frustum planes

I’m having trouble extracting the frustum planes from a combined modelView and projection matrix. While the below code seems to work for perspective projections centered on the origin, when I shift the view to the right by 10 units, all of a sudden my planes are all skewed to the right. Shouldn’t they have the same normals as before, and just have new offsets from the origin?

package com.kitfox;

import javax.vecmath.*;

import com.xith3d.scenegraph.;
import com.xith3d.spatial.bounds.
;
/**
*

  • @author kitfox
    */
    public class ExtractPlanes
    {

    /** Creates a new instance of ExtractPlanes */
    public ExtractPlanes()
    {
    }

    public static void main(String[] args)
    {
    Transform3D projectionMtx = new Transform3D();
    Transform3D modelView = new Transform3D();
    Matrix4f modelViewProj = new Matrix4f();
    Matrix4f identity = new Matrix4f();
    identity.setIdentity();
    Frustum frustum = new Frustum();

// xform.ortho(0, 4, 0, 4, 0, 4);

    //Perspective frustum centered on origin
    projectionMtx.perspective((float)Math.toRadians(90), 1, 1, 1000);
    
    modelView.setIdentity();

    modelViewProj.set(modelView.getMatrix4f());
    modelViewProj.mul(projectionMtx.getMatrix4f());
    
    System.err.println("" + modelViewProj);
  
    frustum.extract(modelViewProj, identity);
    
    System.err.println("" + frustum);

    
    //Perspective frustum shifted 10 units to the left
    projectionMtx.perspective((float)Math.toRadians(90), 1, 1, 1000);
    
    modelView.setIdentity();
    modelView.setTranslation(new Vector3f(10, 0, 0));

    modelViewProj.set(modelView.getMatrix4f());
    modelViewProj.mul(projectionMtx.getMatrix4f());
    
    System.err.println("" + modelViewProj);
  
    frustum.extract(modelViewProj, identity);
    
    System.err.println("" + frustum);

}

}