Gコードを使用しない座標回転
実際にNCプログラムで使用することはほとんどないと思いますが、Gコードを使わない座標回転の計算方法を紹介したいと思います。

まずZ軸周りの回転について考えてみます。回転させる前の現在の座標を(X1,Y1)とし、角度θで回転させた後の座標を(X2,Y2)とします。回転中心(0,0)から(X1,Y1)までの直線距離をr、その角度はθ0とします。
このときのX2の座標を求める式はこのようになります。
X2 = r cos(θ+θ0)
しかし、これでは回転させるたびに r と θ0 を求めなければならないので、式を変換していきます。
X2 = r cos(θ+θ0)
= r cosθ0 cosθ - r sinθ0 sinθ
= X1 cosθ - Y1 sinθ
2番目の式への変換は加法定理を用います。(cos(α+β) = cosα cosβ - sinα sinβ)
2番目の式で r cosθ0 というのが出てきますが、これは X1 の座標を求める式と同じですので X1 と置き換えることが出来ます。同様に、r sinθ0 も Y1 と置くことが出来ます。
Y座標も同様です。
Y2 = r sin(θ+θ0)
= r sinθ cosθ0 + r cosθ sinθ0
= X1 sinθ + Y1 cosθ
Z軸の座標は変わらないので、Z2 = Z1 となります。
X軸周りの回転もY軸周りの回転も、同じプロセスで式を求めることができ、まとめると下記のようになります。
Z軸周りの回転
- X2 = X1 cosθ - Y1 sinθ
- Y2 = X1 sinθ + Y1 cosθ
- Z2 = Z1
X軸周りの回転
- X2 = X1
- Y2 = Y1 cosθ - Z1 sinθ
- Z2 = Y1 sinθ + Z1 cosθ
Y軸周りの回転
- X2 = Z1 sinθ + X1 cosθ
- Y2 = Y1
- Z2 = Z1 cosθ - X1 sinθ
お知らせ
- 当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
→ NCプログラムの教科書 - 上級編も作成しました。
→ NCプログラム上級編