Recursion 我试着用递归的答案画出每棵树3到3个分支的深度,但答案很奇怪?
我根据来自的答案,使用递归尝试绘制一个深度为3和3个分支的图 但它打印了一个奇怪的答案,如图三 请告诉我哪里出了问题。谢谢 图片一: 图二:我用for来画答案 图三:奇怪的答案Recursion 我试着用递归的答案画出每棵树3到3个分支的深度,但答案很奇怪?,recursion,three.js,Recursion,Three.js,我根据来自的答案,使用递归尝试绘制一个深度为3和3个分支的图 但它打印了一个奇怪的答案,如图三 请告诉我哪里出了问题。谢谢 图片一: 图二:我用for来画答案 图三:奇怪的答案 该算法使用深度优先顺序,这意味着需要调整顶点的顺序 ABCFGHDIJKELMN 身体{ 保证金:0; } c{ 宽度:100vw; 高度:100vh; 显示:块; } 将*作为三个源导入'https://threejsfundamentals.org/threejs/resources/threejs/r115/b
该算法使用深度优先顺序,这意味着需要调整顶点的顺序
ABCFGHDIJKELMN
身体{
保证金:0;
}
c{
宽度:100vw;
高度:100vh;
显示:块;
}
将*作为三个源导入'https://threejsfundamentals.org/threejs/resources/threejs/r115/build/three.module.js';
主要功能{
const canvas=document.querySelector'c';
const renderer=new THREE.WebGLRenderer{canvas};
常数fov=75;
const aspect=2;//画布默认值
常数near=1;
常数far=1000;
const-camera=新的3.PerspectiveCamerafov、aspect、near、far;
camera.position.set250500,-75;
摄像机。注视0,200,0;
const scene=新的三个场景;
scene.background=新的三种颜色'lightskyblue';
{
常量颜色=0xFFFFFF;
常数强度=1;
恒光=新的三向光颜色、强度;
light.position.set1、2、4;
scene.addlight;
}
//ABCFGHDIJKELMN
常数树=[
[0,0,0],//A
[-2104,4],//B
[39183,-23],//C
[-156270,-72],//F
[-115296,-63],//G
[-106326,6],//H
[-4230,19],//D
[-8236623],//I
[-43360123],//J
[10294144],//K
[34192,-61],//E
[76271,-176],//L
[132289,-150],//M
[97228,-63],//N
].mapv=>新的3.Vector3.fromArrayv;
//假设每个分支有3个分支
函数addBranchparent,深度,偏移量,树,parentNdx=0,childNdx=1{
const start=tree[parentNdx];
const end=tree[childNdx];
const length=start.distanceToend;
const material=new THREE.MeshPhongMaterial{color:'ff0000'};
const geometry=新的三圆柱几何5,5,长度20,1,假;
geometry.translate0,长度/2,0;
geometry.rotateXMath.PI/2;
const mesh=新的三个网格几何体、材质;
网格位置z=偏移量;
parent.addmesh;
目数;
设ndx=childNdx+1;
如果深度>1{
常数numBranches=3;
对于let i=0;iABCFGHDIJKELMN