none
“字节点”的坐标怎样定 RRS feed

  • 问题


  • 图中间是“根结点”,周围是“子节点”。

    问题:图中显示时周围的子节点的坐标怎样定,大家能看得出来吗???



    小弟的思路:知道“根节点”的坐标,然后指定“半径”,以“根节点”为圆心,使子节点显示均匀在“同心圆”上。
    问题二:可是小弟不知道,坐标应该怎样计算???

    大家也说说呗。
    有精到广,做出自己的特色。
    2011年9月10日 12:15

答案

  • 你好,

    你可以这样来实现,以根结点为中心以一定的距离和角度让子结点偏移:

    // Distance 为指定的距离(也就是半径),Angle为指定角度,n.X、n.Y为根结点的坐标,nodeDiameter为子结点的直径
    double x = Distance * Math.Cos(Angle) + n.X - nodeDiameter / 2;
    double y = Distance * Math.Sin(Angle) + n.Y - nodeDiameter / 2;

     


    Daoping Liu - MSFT
    2011年9月13日 7:03
    版主

全部回复

  • 有人知道吗?  说说思路也行吭、、、、
    有精到广,做出自己的特色。
    2011年9月11日 1:46
  • 你好,

    你可以这样来实现,以根结点为中心以一定的距离和角度让子结点偏移:

    // Distance 为指定的距离(也就是半径),Angle为指定角度,n.X、n.Y为根结点的坐标,nodeDiameter为子结点的直径
    double x = Distance * Math.Cos(Angle) + n.X - nodeDiameter / 2;
    double y = Distance * Math.Sin(Angle) + n.Y - nodeDiameter / 2;

     


    Daoping Liu - MSFT
    2011年9月13日 7:03
    版主
  • 你好,

    你可以这样来实现,以根结点为中心以一定的距离和角度让子结点偏移:

    // Distance 为指定的距离(也就是半径),Angle为指定角度,n.X、n.Y为根结点的坐标,nodeDiameter为子结点的直径
    double x = Distance * Math.Cos(Angle) + n.X - nodeDiameter / 2;
    double y = Distance * Math.Sin(Angle) + n.Y - nodeDiameter / 2;

     


    Daoping Liu - MSFT
    恩,先试一下。

    有精到广,做出自己的特色。
    2011年9月16日 5:53