覚え書きブログ

円の作成(マインクラフトの覚え書き)

キャラクターの座標を中心に任意の半径の円状に、ブロックを並べるpythonコードを書いてみた。コードは以下の通りである。

from mcpi.minecraft import Minecraft
from mcpi.block import *
import numpy as np
mc = Minecraft.create()
pos = mc.player.getTilePos()


r = 20
numBlocks = 150
for theta in np.arange(0,2*np.pi,2*np.pi/numBlocks):
	mc.setBlock(pos.x + r * np.sin(theta),pos.y,pos.z + r * np.cos(theta),1)

ここで、rは半径、numBlocksはブロック数である。

以下は、半径r=20、ブロック数numBlocks=150に設定した場合の例である。
ブロックを配置できる座標値は整数なので、指定したブロックの座標は、内部的にint型に変換されるようだ。
しがたって、少しガタガタの円になるが、やむを得ない。
f:id:hirotaka_hachiya:20190105214343p:plain

このプログラムを拡張して、円柱のビルやピサの斜塔を作るのが次の(うちの子供の)宿題である。