猫史档案馆


【box3】YDS尹子分享代码:球体建造!

用户:YDS尹子YDS尹子查看:553 回复:21 评论:16 创建时间:2020-07-02T20:54:42


先上图:

center_image

可能略微有些不圆。。不过我尽力了

下面是代码。

注意事项:

blockN是方块名

radius是半径

start是圆心位置

var blockN="water";
var radius=15;
var start={x:喵,y:30,z:喵};
function circle(block,y,rad){
    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,y,z,blockN);
	}
    }
    voxels.setVoxel(start.x,start.y,start.z,rad);
}
function ball(radiusNum,blockName){
    for(let ang=0;ang<=90;ang++){
        var radi=Math.round(Math.cos(Math.PI/180*ang)*radiusNum);//把球切片
        var slice=Math.round(Math.sin(Math.PI/180*ang)*radiusNum);
        circle(blockName,start.y+slice,radi);
        circle(blockName,start.y-slice,radi);
    }
}
ball(radius,start.y,blockN);

copyright© YDS尹子,All rights reserved.

代码使用愉快!


回复

上一页第 1 页 / 共 1 页下一页
QBZ_QBZ_

sofa

点赞1


评论


KLSAKKLSAK

谢谢啊

点赞0


评论


害羞的独角蛛907害羞的独角蛛907

沙发

点赞0


评论

额,木有抢到


LightnessLightness

板凳

点赞0


评论


BSS梅者如西BSS梅者如西

板凳

点赞0


评论


BSS梅者如西BSS梅者如西

这个代码应该是用了math对象(群众:这不是废话么)

点赞0


评论

Math.sin()和Math.cos()(俗称三角函数)

我知道,我的JS书上有

还有Math.asin()和Math.acos()


QBZ_QBZ_

万恶的 输入法

点赞0


评论


蒋双诠蒋双诠

捕捉

点赞0


评论


TobylaiTobylai

wow

ddd

dddd

ddddd

dddddd

点赞0


评论


凌_墨水凌_墨水

好厉害的亚子

点赞2


评论


猫悟淡猫悟淡

d'd

点赞0


评论


面具狐狸云绾兮面具狐狸云绾兮

太好了!我下次出个这种的!尹子你可以做一个金字塔的生成程序的喵OWO?

点赞0


评论

超链接?不成功


打酱油的企鹅呀打酱油的企鹅呀

ohhhhhhhhhhhhhh,谢谢!!!!!!!!!!!!1

点赞0


评论


面具狐狸云绾兮面具狐狸云绾兮

尹子你告诉我这是怎么回事..............center_image

点赞0


评论

为什么会有洞...........

“特性”,和代码岛模型编辑器一样,有空我来修

尹子你可以做一个金字塔的生成程序的喵OWO?

有的2333


面具狐狸云绾兮面具狐狸云绾兮

尹子发出来的代码是不能在调试台用的,我给改了一下,其实就是注释删掉就可以了

var blockN="water";
var radius=15;
var start={x:喵,y:30,z:喵};
function circle(block,y,rad){
    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,y,z,blockN);
	}
    }
    voxels.setVoxel(start.x,start.y,start.z,rad);
}
function ball(radiusNum,blockName){
    for(let ang=0;ang<=90;ang++){
        var radi=Math.round(Math.cos(Math.PI/180*ang)*radiusNum);
        var slice=Math.round(Math.sin(Math.PI/180*ang)*radiusNum);
        circle(blockName,start.y+slice,radi);
        circle(blockName,start.y-slice,radi);
    }
}
ball(radius,start.y,blockN);

点赞0


评论

尹子还不置顶???

你就去掉个注释,有本事把空心圆柱的代码写出来

我试试哈

本尊我已经写了,在平面⚪那一个帖子

嗯。。


SCS_user_eee2detYg0SCS_user_eee2detYg0

哇,大佬太棒了

点赞0


评论


指令者指令者

emotion_编程猫_点赞

点赞0


评论


两个小八路两个小八路

emotion_编程猫_点赞

点赞0


评论


指令者指令者

emotion_编程猫_点赞

点赞0


评论


芜湖咸鱼芜湖咸鱼

徒弟都开始写算法了,爷青结

点赞1


评论

师傅!

?????


Chara_juechuief_sChara_juechuief_s

哈哈哈

 

点赞0


评论