用户:
Architect_海绵查看:4 回复:30 评论:4 创建时间:2022-02-26T21:17:05
海绵这不快中考了嘛()
之后上岛的时间会越来越少咯
碰巧今天作业刚写完,就突然想冒个泡()
于是海绵双做出了个违背祖宗的决定(什
——海绵决定将他做建筑时用的“工具码”分享给大家()()
希望这些东西可以帮助大家吧()()()()
//【s与e为需要延伸的原结构的两顶点,s中三个坐标均小于e】
//【q为需要延伸的原结构的长度/宽度(视延伸方向而定)】
//【time为延伸次数】
//【X轴正向延伸】
var s=new Box3Vector3(26,9,27),e=new Box3Vector3(28,10,28);
var q=2;
var offset=e.x-s.x,time=10;
for(let i=s.x;i<=e.x;i++){
for(let j=s.z;j<=e.z;j++){
for(let k=s.y;k<=e.y;k++){
for(let times=1;times<=time;times++)
if(voxels.getVoxel(i,k,j)!=0)
voxels.setVoxel(i+offset*q*times,k,j,voxels.getVoxel(i,k,j));
}
}
}
//【X轴负向延伸】
var s=new Box3Vector3(26,9,27),e=new Box3Vector3(27,10,28);
var q=2;
var offset=e.x-s.x,time=10;
for(let i=s.x;i<=e.x;i++){
for(let j=s.z;j<=e.z;j++){
for(let k=s.y;k<=e.y;k++){
for(let times=1;times<=time;times++)
if(voxels.getVoxel(i,k,j)!=0)
voxels.setVoxel(i-offset*q*times,k,j,voxels.getVoxel(i,k,j));
}
}
}
//【Z轴正向延伸】
var s=new Box3Vector3(26,9,27),e=new Box3Vector3(27,10,28);
var q=2;
var offset=e.z-s.z,time=15;
for(let i=s.x;i<=e.x;i++){
for(let j=s.z;j<=e.z;j++){
for(let k=s.y;k<=e.y;k++){
for(let times=1;times<=time;times++)
if(voxels.getVoxel(i,k,j)!=0)
voxels.setVoxel(i,k,j+offset*q*times,voxels.getVoxel(i,k,j));
}
}
}
//【Z轴负向延伸】
var s=new Box3Vector3(26,9,27),e=new Box3Vector3(27,10,28);
var q=2;
var offset=e.z-s.z,time=9;
for(let i=s.x;i<=e.x;i++){
for(let j=s.z;j<=e.z;j++){
for(let k=s.y;k<=e.y;k++){
for(let times=1;times<=time;times++)
if(voxels.getVoxel(i,k,j)!=0)
voxels.setVoxel(i,k,j-2*offset*times,voxels.getVoxel(i,k,j));
}
}
}
——改自尹子的盖楼器(尹子别打我()()())
然后是建筑轴对称的代码
//【循环内的i,j,k为建筑物的范围,后面的就看你们自己了(什)需要调试一会,但调好了带来的遍利不是一般大()()()()】
//【这个的具体效果自己开一张图试试吧()()()】
for (var i = 66; i <= 111; i++) {
for (var j = 0; j <= 128; j++) {
for (var k = 5; k <= 83; k++) {
voxels.setVoxelId(130 - i, j, k, voxels.getVoxelId(i, j, k))
}
}
}
这个建筑轴对称同样也是有X,Y,Z三轴以及正负方向的,改几个参数,换个正负号就行(),但是一个一个慢慢来整太麻烦了(什)
所以就把轴对称剩下的几种交个大家来写了(其实就是单纯想偷懒())
就这样,明天早上还要返校了,各位也许下周末见(?)
Architect_海绵发现个小问题(是大问题好吧()())
Z轴负延伸的代码有误,正确代码:
var s=new Box3Vector3(26,9,27),e=new Box3Vector3(27,10,28);
var q=2;
var offset=e.z-s.z,time=9;
for(let i=s.x;i<=e.x;i++){
for(let j=s.z;j<=e.z;j++){
for(let k=s.y;k<=e.y;k++){
for(let times=1;times<=time;times++)
if(voxels.getVoxel(i,k,j)!=0)
voxels.setVoxel(i,k,j-offset*q*times,voxels.getVoxel(i,k,j));
}
}
}
错误的原因是变量q是临时加的()()平时一般都直接加数字()()()刚写教程的时候漏填上去了()()()
点赞2
评论
imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"
点赞0
评论
柒月柯基卡布奇诺imgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8A%A0%E6%B2%B9.gif"alt="emotion_编程猫_加油"
点赞0
评论
风火年华4512我看到的:()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()![]()
点赞0
评论
未名用户imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"
点赞0
评论
墨染云天imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"
点赞0
评论