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

问题描述

我正在尝试使用X和Y以及Direction绘制2D。

查看图片

enter image description here

本次抽奖的代码(值)应为:

var D = {
         X:2,Y:0,Dir:0,D:[{
              X:0,Y:-2,Dir:-45,D:[{
                   X:0,Y:-1.414,D:[{
                        X: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);

ReSortDrawing 中:

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,则ReSortDrawing函数应如下所示:

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

    var i,Obj);
    }
}

所有这些说明只是我要执行的操作的一个示例。 我希望我能说明我想要的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)