【先着1,000名様!】1,000円分をプレゼント!

エクセルで回転する座標の出し方
(例)
座標X100、Y100の点から好きな角度を回したときのX、Yの座標の求め方
回転中心はX0、Y0
回転方向は反時計回り
例で言えば X141.421、Y0  が0度
      X0、Y141.421  が90度
      X-141.421、Y0 が180度
      X0、Y-141.421 が270度

エクセルでの問題点は
1.角度計算がラジアンになる デグリも関数はあるけど書式がわからない
 無理やり(PI()/180)などを使ってるがアークタンジェントでは書式がわからない

2.正と負の計算式・答えが負になるときの処理ができない
 回転角度が270度とか



今電卓で打っているのは
100/100=ATAN ----------------------最初の角度

100*100+100*100の答えのルート--------回転中心からの直線距離

最初の角度+動かしたい角度------------求めたい座標の角度

SIN求めたい座標の角度*直線距離-------Y座標 答え

COS求めたい座標の角度*直線距離-------X座標 答え



最初のX、Y座標と 動かしたい角度を入れると答えが出るような
物が作りたいです よろしくお願いします

エクセル2000
WINXP

このQ&Aに関連する最新のQ&A

A 回答 (4件)

エクセルは行列演算ができます。


ビジネスでは回転は出てきたことがなく(統計ではあり)、小生の知識は生半可ですが参考までに記してみます。(誤りの個所がもしあればごご容赦ください。)
理系の方なら、ご存知なければ、勉強して見てください。
#1のご回答の回転の行列を左側からの行列乗算をすれば
複雑な関数式を使わなくてできるはず。
>エクセルで回転する座標の出し方
点(x1、y1)を原点周りにΘラヂアン(or度)回転した時の点の新座標、点(X2,Y2)を計算すると言うことですね。回転するの「する」は「させた」の意味ですね。
>回転方向は反時計回り
これは通常です。
>角度計算がラジアンになる 
ご存知でしょうが、エクセルにはRADIANS関数があります。RADIANS(角度)=ラヂアン
>デグリも関数はあるけど
ラヂアンを度に変換。
=DEGREES(角度)=度
>書式がわからない
エクセルに書式という別の用語があり紛らわしいですが、ここでは、引数の配置、数と意味のこと?
>無理やり(PI()/180)などを使ってるが
RADIANS関数を使わなければそうなりますね。
>アークタンジェントでは書式がわからない
=ATAN(数値)でラヂアン値が-π/2からπ/2の間で返ってくる。
>書式がわからない
前述の通り、意味が判らない。
----
値としてA1に角度を120とか度で入れる
D2にCOS(s)にあたる=COS(RADIANS(A1))
D3にsin(s)にあたる=SIN(RADIANS(A1))
E2に-SIN(s)にあたる=-SIN(RADIANS(A1))
E3にcos(s)にあたる=COS(RADIANS(A1))
A2にX1の座標値、A3にY1の座標値、
B2に中心のX座標、B3に中心のY座標を入れる。
C2に=A2-b2,C3に=A3-B2
C2:C3にD2:E2の行列をかける。
http://www.metro-hs.ac.jp/rs/sinohara/zahyou_rot …
行列の乗算はMMULT関数を使います。
E2に=MMULT(c2:c3,D2:E3)と入れてControlキーShiftキーを左手指で押さえて、右手指でEnterキーを押す。
「配列数式」です。
シフト+コントロル+エンタキーを押す前に答えを出すセルの範囲指定(F2:D3)をしておく必要があります。
http://www.katch.ne.jp/~kiyopon/kansuu/abs.html# …
あと原点まで座標を戻す必要があると思います。
    • good
    • 1

G4セル


 =ASIN(C4/SQRT(C4^2+E4^2)) は
 
 =ASIN(E4/SQRT(C4^2+E4^2)) または
 =ACOS(C4/SQRT(C4^2+E4^2)) または
 =ATAN(E4/C4)

に変更して下さい。質問が45度だったので、間違えてしまいました。
    • good
    • 1

    A    B    C    D     E    F     G


1       X座標       Y座標
2 回転中心  [ x0]    0   [ y0]    0
3                                   ラジアン
4 初期位置  [x100]   100   [y100]   100    角度   0.785398163
5                                   ↑
6                             =ASIN(C4/SQRT(C4^2+E4^2))
7 [度(入力)]  ラジアン
8  90   1.570796327 ← =A8*PI()/180

10      [求めるx]   0
11             ↑
12       =$C$2+($C$4-$C$2)*COS(B8-$G$4)-($E$4-$E$2)*SIN(B8-$G$4)
13
14      [求めるy] 141.4213562
15             ↑
16       =$E$2+($C$4-$C$2)*SIN(B8-$G$4)+($E$4-$E$2)*COS(B8-$G$4)


●初期位置と回転中心の角度をG4で求めています
  G4 = ASIN(C4/SQRT(C4^2+E4^2))

●入力した回転度数をB8でラジアンに変換しています
  B8 = A8*PI()/180

●X座標の答えを求めています
  C10 = $C$2+($C$4-$C$2)*COS(B8-$G$4)-($E$4-$E$2)*SIN(B8-$G$4)

●Y座標の答えを求めています
  C14 = $E$2+($C$4-$C$2)*SIN(B8-$G$4)+($E$4-$E$2)*COS(B8-$G$4)

[  ]の横、または下に入力します。
質問にあるように回転角度を捉えれば上のようになると思います。ご参考に。
    • good
    • 3

とりあえず、原点中心の回転は、


x2 = cos(θ)*x1 -sin(θ)*y1
y2 = sin(θ)*x1 +cos(θ)*y1
この計算式みたいなのでできます。
(θの単位はたぶんラジアン)

回転の中心を(x0,y0),回転前の座標を(x1,y1)回転後の座標を(x2,y2)とすれば、
x2 = x0 + cos(θ)*(x1-x0) - sin(θ)*(y1-y0)
y2 = y0 + sin(θ)*(x1-x0) + cos(θ)*(y1-y0)
でできます。
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q座標を回転させる計算方法を教えて下さい。

例 三角形(a,b,c)の a を基点として回転させる計算方法

a x = 200 y = 100
b x = 1500 y = 100
c x = 1500 y = 900

難しくはないと思いますが三角関数が苦手なので教えて下さい。

Aベストアンサー

回転する角度をθとします。a点のxをax, yをayと書きます。以下同様。
px=bx-ax, py=by-ay
を計算し、
px' = px cosθ - py sinθ
py' = px sinθ + py cosθ
そして、
bx' = ax+px', by' = ay+py'
このbx', by'が新しいbの座標です。cも同様にして計算すればおっけー。

Q3次元で回転させた座標値の計算方法

点(Ax、Ay、Az)を3次元空間にある、点(Bx、By、Bz)から、点(Cx、Cy、Cz)に向かう直線を軸に任意の角度で回転させたときの、点(A’x、A’y、A’z)の座標値の計算方法を教えてください。ただし自分の数学レベルは中学生並でベクトルが少しだけ理解できるていどです。よろしくお願いします。

Aベストアンサー

オイラー角による座標変換だと
任意の方向ベクトルを軸にした回転はややこしくなるので
四元数を使った座標変換がオススメです

参考URLを見て頂ければここに書くことはないと思います
(ただ私の知識がないだけですが...)

また、任意の点を中心に回転させたいなら
ゲタを履かせて座標変換してから、ゲタを取ればいいだけなので簡単にできるはずです

ゲタを履かせるの意味がわからないかも知れませんが
Aを中心にBを回転させるとすると
BからAを引き、平行移動させてAを原点に持ってきて
同じく平行移動させた(B-A)を回転させ、その結果(B-A)'にAを足してもう一度平行移動させて
ってことです、解るかな?
B → (B-A) → (B-A)' → (B-A)'+A

参考URL:http://staff.aist.go.jp/toru-nakata/quaternion.html

Q座標を入力すると角度を得られるような方法

エクセルとを使って、例えば(0.5、√3/2)等を
入力すると60°を得られるような方法はありますか?

PCはあまりくわしくないのでどうか解りやすくお願いします。
m(_ _)m

Aベストアンサー

三角関数は苦手ですなぁ。(^^;;;

A1 に X座標
B1 に Y座標が入力されているとして。

C1 に以下の式を入力すると角度が出ます。

=ATAN2(A1,B1)*180/PI()


ATAN2(x座標, y座標)は
xy座標のアークタンジェントを返す関数

PI() はπを返す関数。

以上。

Qエクセル STDEVとSTDEVPの違い

エクセルの統計関数で標準偏差を求める時、STDEVとSTDEVPがあります。両者の違いが良くわかりません。
宜しかったら、恐縮ですが、以下の具体例で、『噛み砕いて』教えて下さい。
(例)
セルA1~A13に1~13の数字を入力、平均値=7、STDEVでは3.89444、STDEVPでは3.741657となります。
また、平均値7と各数字の差を取り、それを2乗し、総和を取る(182)、これをデータの個数13で割る(14)、この平方根を取ると3.741657となります。
では、STDEVとSTDEVPの違いは何なのでしょうか?統計のことは疎く、お手数ですが、サルにもわかるようご教授頂きたく、お願い致します。

Aベストアンサー

データが母集団そのものからとったか、標本データかで違います。また母集団そのものだったとしても(例えばクラス全員というような)、その背景にさらならる母集団(例えば学年全体)を想定して比較するような時もありますので、その場合は標本となります。
で標本データの時はSTDEVを使って、母集団の時はSTDEVPをつかうことになります。
公式の違いは分母がn-1(STDEV)かn(STDEVP)かの違いしかありません。まぁ感覚的に理解するなら、分母がn-1になるということはそれだけ結果が大きくなるわけで、つまりそれだけのりしろを多くもって推測に当たるというようなことになります。
AとBの違いがあるかないかという推測をする時、通常は標本同士の検証になるわけですので、偏差を余裕をもってわざとちょっと大きめに見るということで、それだけ確証の度合いを上げるというわけです。

Q直交座標でグラフを回転させるような関数の変換

y=axの場合にはaの値を変えればグラフが回転するように見えますが、ほかの関数でも同じような方法が適用されるのでしょうか。

Aベストアンサー

一般には、座標の回転として知られている事。この公式を使えば、全ての直線・曲線に使える。
その証明も 加法定理を使うと簡単に行く、URLを貼っておく。

http://1st.geocities.jp/shift486909/program/spin.html

Qエクセルを用いた3次元座標変換

3次元座標空間において、座標軸を回転・平行移動させて3つの座標点のz座標をすべて0にする方法を教えていただけないでしょうか。

例:(x1,y1,z1), (x2,y2,z2), (x3,y3,z3)
→(回転・平行移動)→
(x1',y1',0), (x2', y2', 0), (x3', y3', 0) 

また、この3つの座標点以外の座標点についても、
これと同じ回転・平行移動を一括して行う方法があれば教えてください。

よろしくお願いします。

Aベストアンサー

(x1,y1,z1), (x2,y2,z2), (x3,y3,z3)
この3点で決まる平面の法線ベクトルを求める
次にその法線ベクトルをz軸に重ねるような回転行列を求める
これで回転行列によって3点は全てz座標が等しくなっている
最後にその等しいz座標の分だけz軸に沿って平行移動する。

Q座標(x,y)間(=2点)の距離をエクセルで求めるには?

座標(x,y)間の距離をエクセルで求めるには?

microsoft excel の計算式を教えてください。

Aベストアンサー

 ピタゴラスの定理から、座標(x1,y1)と(x2,y2)の距離をZとしますと、次の式が成立します。
 Z^2=(x1-x2)^2+(y1-y2)^2
したがって、Zの値は
 =SQRT((x1-x2)^2+(y1-y2)^2))
で算出できると思います。

Q3次元座標を原点中心に回転したい

任意のゼロでないベクトル(a,b,c)を原点中心に回転し、z軸に合致させるとする。同じ回転移動を3次元座標上の任意の点(x,y,z)に対して行った時の移動後座標が知りたいのです。

計算と結果を教えて下さい。

Aベストアンサー

A No. 1 です。補足。

「回転行列」
http://www.cg.info.hiroshima-cu.ac.jp/~miyazaki/knowledge/tech07.html

ロドリゲスの公式もあります。

Q原点中心に図形を回転させる。(サインとコサイン)

xy座標上にある図形を原点中心に回転させるためには

x'=xcosθ-ysinθ
y'=xsinθ+ycosθ

と書いてあります。

どうしてこうなるのかわかりやすく教えてください。
サイン、コサインについては何も知らないので、そこのところの説明からお願いします。猿です。

Aベストアンサー

100Goldさん、こんにちは。

>xy座標上にある図形を原点中心に回転させるためには

x'=xcosθ-ysinθ
y'=xsinθ+ycosθ

まず、この前にサイン、コサインが分からないとのことですので
参考URLを見て下さい。

直角三角形がありますね。右下に直角を位置したような直角三角形で、
ちょうどSの字を描くように(筆記体のS)

(高さ)/(斜辺)=sin(サイン)

(底辺)/(斜辺)=cos(コサイン)といいます。

このほか、タンジェントもあります。

また座標表現のところを見てみましょう。
半径rの円周上の点(x,y)の座標は、
この点と原点を結ぶ直線(半径)と、x軸とのなす角度αによって

(x,y)=(rcosα,rsinα)・・・(☆)
と表されるのです。

さて、このことを用いて、

(x,y)=(rcosα,rsinα)ですが、これをθだけ回転させた座標(x',y')とは
x軸から考えると(α+θ)だけ動かしたことになります。
ですから、(☆)において動かす角度をx軸から考えて(α+θ)だと考えると

(x',y')=(rcos(α+θ),rsin(α+θ))・・・(★)
となります。

ここで、三角関数の加法定理というのがあるのですが、
100Goldさんはサイン、コサインがまだよく知らないとのことですので、
そういう定理があるんだな、とご理解ください。
それによると、

cos(α+θ)=cosαsinθ-sinαcosθ
sin(α+θ)=sinαcosθ+cosαsinθ
のようになります。

これを(★)に代入すると

x'=rcos(α+θ)=r{cosαsinθ-sinαcosθ}=rcosαsinθ-rsinαcosθ
ここでrcosα=x,rsinα=yですから
x'=xsinθ-ycosθ

同様に
y'=sin(α+θ)=r{sinαcosθ+cosαsinθ}=rsinαcosθ+rcosαcosθ
=xcosθ+ysinθ

となるので

x'=xcosθ-ysinθ
y'=xsinθ+ycosθ

がいえますね。ご参考になればうれしいです。

参考URL:http://www.urban.ne.jp/home/kz4ymnk/seminar/digipt/sincos.html

100Goldさん、こんにちは。

>xy座標上にある図形を原点中心に回転させるためには

x'=xcosθ-ysinθ
y'=xsinθ+ycosθ

まず、この前にサイン、コサインが分からないとのことですので
参考URLを見て下さい。

直角三角形がありますね。右下に直角を位置したような直角三角形で、
ちょうどSの字を描くように(筆記体のS)

(高さ)/(斜辺)=sin(サイン)

(底辺)/(斜辺)=cos(コサイン)といいます。

このほか、タンジェントもあります。

また座標表現のところを見てみましょう。...続きを読む

Q緯度・経度の値をエクセルで変換したい

60進法で度(゜)分(')秒(")表記された緯度・経度があります(例えば35゜41'46.23"と130゜22'06"など。ただし秒の小数点以下の数値は10進法)。
これをエクセル関数で10進法(35.69617500と130.36833333)に変換したいのですが,どのようにすればよいでしょうか。また,これを逆に変換するにはどうすればよいでしょうか。
詳しい方,ご教示頂けましたら幸いです。

Aベストアンサー

文字列を数値化することになります。
分、秒の部分毎に10進数の小数に変換して加算します。
=LEFT(A2,FIND("゜",A2)-1)+MID(A2,FIND("゜",A2)+1,FIND("'",A2)-FIND("゜",A2)-1)/60+MID(A2,FIND("'",A2)+1,LEN(A2)-FIND("'",A2)-1)/3600
また、逆変換は10進数の小数から分、秒を逆算して切り出します。
=INT(B2)&"゜"&TEXT(INT(MOD(B2,1)*60),"00")&"'"&TEXT((MOD(B2,1)-INT(MOD(B2,1)*60)/60)*3600,"00.00")&""""
貼付画像はExcel 2013で検証した結果ですが他のバージョンでも再現できるはずです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング