normalizeProjection(){
    this.x_scale.domain(d3.extent(this.nodes, d => d.x));
    this.y_scale.domain(d3.extent(this.nodes, d => d.y));
    this.z_scale.domain(d3.extent(this.nodes, d => d.z));

    this.nodes.forEach(node => {
      node.cx = this.x_scale(node.x);
      node.cy = this.y_scale(node.y);
      node.cz = this.z_scale(node.z);
    });
  }
// brings projection into a -1,1 range for ease of viewing.
brings projection into a -1,1 range for ease of viewing.
brings projection into a - 1 1 range for ease of viewing .
normalizeProjection(){
    this.x_scale.domain(d3.extent(this.nodes, d => d.x));
    this.y_scale.domain(d3.extent(this.nodes, d => d.y));
    this.z_scale.domain(d3.extent(this.nodes, d => d.z));
    this.nodes.forEach(node => {
      node.cx = this.x_scale(node.x);
      node.cy = this.y_scale(node.y);
      node.cz = this.z_scale(node.z);
    });
  }
normalizeProjection ( ) { this . x_scale . domain ( d3 . extent ( this . nodes , d => d . x ) ) ; this . y_scale . domain ( d3 . extent ( this . nodes , d => d . y ) ) ; this . z_scale . domain ( d3 . extent ( this . nodes , d => d . z ) ) ; this . nodes . forEach ( node => { node . cx = this . x_scale ( node . x ) ; node . cy = this . y_scale ( node . y ) ; node . cz = this . z_scale ( node . z ) ; } ) ; }
brings projection into a -1,1 range for ease of viewing.
brings projection into a - 1 1 range for ease of viewing .