Javascript 使用X、Y和方向从点到点绘制

Javascript 使用X、Y和方向从点到点绘制,javascript,2d,draw,Javascript,2d,Draw,我试着用X,Y和方向画二维 如图所示: 此绘图的代码(值)应为: var D = { X:2 ,Y:0 ,Dir:0 ,D:[{ X:0 ,Y:-2 ,Dir:-45 ,D:[{ X:0 ,Y:-1.414

我试着用X,Y和方向画二维

如图所示:

此绘图的代码(值)应为:

var D = {
         X:2
         ,Y:0
         ,Dir:0
         ,D:[{
              X:0
              ,Y:-2
              ,Dir:-45
              ,D:[{
                   X:0
                   ,Y:-1.414
                   ,Dir:-45
                   ,D:[{
                        X:0
                        ,Y:-2
                        ,Dir:0
                        ,D:[]
                      }]
                 }]
            }]
};
var _draw = {NewX:0,NewY:0,NewDir:0,D:D};
现在我有了这个功能:

function ReSortDrawing(Obj,P){

    ........ /*Here where I need help.*/

    var i,len = Obj.D.lenght;
    for(i = 0; i < len; i++){
        ReSortDrawing(Obj.D[i],Obj);
    }
}
ReSortDrawing(D, _draw);
在图纸中:

Obj.NewX=p.NewX+(p.NewDir效果后的Obj.X)旋转

Obj.NewY=p.NewY+(p.NewDir效果后的Obj.Y)旋转

Obj.NewDir=p.NewDir+Obj.Dir

我将对每个D和D.D[n]使用NewX、NewY和NewDir。。。对于我的绘图,就像我们在旋转后从一点到另一点绘制人体动画一样

事实上,如果我不使用Direction/Dir,函数应该是这样的:

function ReSortDrawing(Obj,P){
    Obj.NewX = P.NewX + Obj.X;
    Obj.NewY = P.NewY + Obj.Y;

    var i,len = Obj.D.lenght;
    for(i = 0; i < len; i++){
        ReSortDrawing(Obj.D[i],Obj);
    }
}
功能图(Obj,P){
Obj.NewX=P.NewX+Obj.X;
Obj.NewY=P.NewY+Obj.Y;
变量i,len=对象D.长度;
对于(i=0;i
所有这些解释只是我想做的一个例子。 我希望我能解释清楚我想要什么