用户:
YDS尹子查看:11 回复:19 评论:11 创建时间:2020-07-02T19:54:52
这是我分享的第二个代码。
注意事项:
1.start结构体是圆心坐标
2.rad是半径
3.block是方块名称
画圆代码:
var start={x:喵,y:9,z:喵};
var rad=6;
var block="";
for(let radius=1;radius<=rad;radius++){
for(let angle=0;angle<360;angle++){
var x=Math.round(Math.sin(Math.PI/180*angle)*radius+start.x);
var z=Math.round(Math.cos(Math.PI/180*angle)*radius+start.z);
voxels.setVoxel(x,start.y,z,block);
}
}
//copyright© YDS尹子, All rights reserved.
当然,这段代码也衍生出了画圆柱体的代码。
2.圆柱体代码:
注意:height为圆柱体高度
var start={x:喵,y:9,z:喵};
var rad=6;
var height=10;
var block="";
for(let i=start.y;i<height+start.y;i++){
for(let radius=1;radius<=rad;radius++){
for(let angle=0;angle<360;angle++){
var x=Math.round(Math.sin(Math.PI/180*angle)*radius+start.x);
var z=Math.round(Math.cos(Math.PI/180*angle)*radius+start.z);
voxels.setVoxel(x,start.y,z,block);
}
}
}
//copyright© YDS尹子, All rights reserved.
有兴趣的朋友们可以挑战下,写一个造圆筒的代码。
大家觉得下次我出什么代码比较好呢?请在评论区留下你们的建议~
YDS尹子圆筒代码:
(P.S.上方圆柱体代码有bug)
var start={x:64,y:8,z:64}; var rad=18; var height=6; var block="white"; for(let i=start.y;i<height+start.y;i++){for(let angle=0;angle<360;angle++){var x=Math.round(Math.sin(Math.PI/180*angle)*rad+start.x); var z=Math.round(Math.cos(Math.PI/180*angle)*rad+start.z); voxels.setVoxel(x,i,z,block); } }点赞1
评论
QC一二二一翻译:
创建变量“start”初始值为{x:64,y:9,z:64}
创建变量“rad”初始值为6
创建变量“block”初始值为null
使用“radius”变量从1遍历rad次【
使用“angle”变量从0遍历360次【
创建变量“x”初始值为(四舍五入(sin(圆周率 ÷ 180 × angle)× radius+start的X坐标))
创建变量“z”初始值为(四舍五入(sin(圆周率 ÷ 180 × angle)× radius+start的Z坐标))
在(x,start.y,z)处放置方块(block)
】
】
点赞0
评论