如何获得直角坐标d3

时间:2017-05-11 10:18:59

标签: javascript d3.js

我想知道是否可以在d3中获得矩形x,y坐标。 根据附图,我想知道它们在哪里:A,B,C,D。

enter image description here

实际上我可以获得旋转并且通过翻译得到“C”点。但我还需要得到其他观点。

在下面,您可以看到获取曲线上每个矩形的一部分代码(已分类为已锁定)并创建包含所有参数的对象:

var elements = [];
  var num_locked = $('.locked').length;   

  $('.locked').each(function(){

    var matrix = $(this).css('transform');
    console.log('actual: '+matrix);
    if(matrix !== 'none') {
        var values = matrix.split('(')[1].split(')')[0].split(',');
        var a = values[0];
        var b = values[1];
        var angle = Math.round(Math.atan2(b, a) * (180/Math.PI));
    } else { var angle = 0; }
    var rotate = (angle < 0) ? angle + 360 : angle;


    var m = parseInt($(this).css('transform').split(',')[4])+','+parseInt($(this).css('transform').split(',')[5]);
    var close = JSON.parse("[" + m + "]");
    p = closestPoint(para_esterna.node(), close);


    elements.push({
      width:$(this).attr('width'),
      height:$(this).attr('height'),
      transform_x: parseInt($(this).css('transform').split(',')[4]),
      transform_y: parseInt($(this).css('transform').split(',')[5]),
      rotation: rotate,
      p_x: p[0],
      p_y: p[1]
    });


  });

0 个答案:

没有答案