Three.js[r76] マウスピッキングが動作しない

three.jsを利用して3Dモデルのピッキングを実装しました。
下記はプログラムの一部です。

.
.
.
        .on("mousemove", containerId, function(e){
          e.preventDefault();
          var rect = e.target.getBoundingClientRect();
          ns.mouse.x =   ( (e.clientX - rect.left) / ns.width ) * 2 - 1;
          ns.mouse.y = - ( (e.clientY - rect.top) / ns.height ) * 2 + 1;
        })

.
.
.
    picking : function() {
      ns.raycaster.setFromCamera( ns.mouse, ns.camera );

      var intersects = ns.raycaster.intersectObjects( ns.models.children, true );
     if (!!ns.status.picked) {
        ns.fn._picking.setColor(ns.status.SELECTED);
      }

      if ( intersects.length > 0 ) {
        ns.vmarker = intersects[ 0 ].point;
        if ( ns.status.INTERSECTED != intersects[ 0 ].object.parent ) {
          if ( !ns.status.SELECTED || (ns.status.SELECTED && ns.status.SELECTED != ns.status.INTERSECTED) ) {
            ns.fn._picking.setColor(ns.status.INTERSECTED);
          }

          ns.status.INTERSECTED = intersects[ 0 ].object.parent;
          if (!ns.status.picked && ns.status.INTERSECTED != ns.status.SELECTED) {
            ns.fn._picking.setColor(ns.status.INTERSECTED,0x0000ff);
          }
        }
        if (!!ns.status.picked) {
          ns.fn._picking.select(ns.status.INTERSECTED);
        }

      } else {
        ns.vmarker = null;
        if ( !ns.status.SELECTED || (ns.status.SELECTED && ns.status.SELECTED != ns.status.INTERSECTED) ) {
          ns.fn._picking.setColor(ns.status.INTERSECTED);
        }
        ns.status.INTERSECTED = null;
        if (!!ns.status.picked) {
          ns.fn._picking.select(null);
        }

      }
      ns.status.picked = false;
    },

ただ、この実装では非常に大きいモデルの場合、実際のマウス位置と3D空間上のマウス位置で誤差が生じてしまい、期待した動作となりません。
次回以降、原因を考察していきたいと思います。
・そもそも、実装が間違っている?
・mousemoveイベントでの計算値の誤差
・three.js、raycaster等のバグ?


工程管理システム

川藏交界处的道路施工

部品製作所向けの工程管理システム。

作業者データ(技能、技能レベルなどの個人データ)と、受注データ(製品番号、納期など)から、1ヶ月の工程データおよび部品発注データを自動作成。発注管理、納品管理、請求管理も行う。


デジタル放送送出システム(素材サーバ)

番組編成サーバからのコンテンツデータを受け、BSデジタル放送送出装置へ、番組スケジュールにあわせて、コンテンツデータを送出するシステムの開発。CM制御、フェイルセーフ、帯域制御、障害復旧対応などの機能を持ち、複数サービスに対応するためにマルチスレッド化を行い、CMなどの短時間コンテンツへの対応行う。


振動実験システムの開発

振動実験装置に対して、任意の振動波形やスペクトラムを発生させ、各種センサーから得られるデータを処理し、リアルタイムに実験を支援するシステムを構築。また、データ処理関連ハ-ドウエアの選定も行なった。


工程管理システム

データベースにMSSQLServerを使用し、クライアント40台によるプリント基板の工程管理システム。クライアントの入力はバーコードリーダーを使用して、入力の簡便化を図る。各製品の工程の半自動生成、投入工程の変更、分割などが可能。製品管理、進捗管理、在庫管理、作業実績管理、原価管理、外注管理、請求管理などを行うシステムを構築。


下水道3DGISの開発

下水道を3次元でビジュアル化して、各管路の保守管理を行う。流路や保守経路をアニメーション表示しメンテナンス作業の効率化を図る。