• ベストアンサー

弧の角度から座標を求めるには

何度も質問させていただいて申し訳ないです。 教えてください。 VB6にて、中心点と始点の座標、弧の長さが与えられています。 中心点(488,-680)、始点(510,-682)、弧の長さが478というような 感じです。 弧の回転方向はこの場合は反時計周りです。 このような条件で終点となるX,Y座標を求める場合はどのような計算式 となるのでしょうか? ご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

>始点が(510,682)で中心点が(488,-639)です 始点、中心が変わっているのに 半径や回転角が変化していないのは変ですよね 最終的な加法定理で回転座標を求めるx,yだけ変えても意味がありませんよ 半径は1321.183になりますよね 回転角は0.36179となりますよ 最初の手順から確認してみましょう それと 少し訂正ですが Y座標を求める際に 最後で -680 としていますが 本来は + (-680)です これは 終点を本来の位置に戻すための移動量です 一般式で書くと x1 = x * cos(θ) - y * sin(θ) + Xo y1 = x * sin(θ) + y * cos(θ) + Yo x1,y1が回転後の座標 x,yが回転移動する前の点 Xo、Yoが中心への平行移動量 となります

その他の回答 (3)

  • Ishiwara
  • ベストアンサー率24% (462/1914)
回答No.3

(1) 座標平行移動(中心点を原点とする座標に) (2) 極座標に変換 (3) (弧長/半径)を角度として回転 (4) 直角座標に戻す (2)の逆 (5) 座標平行移動(1)の逆 の手順です。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

円弧の長さ=半径*角度(角度はただしラジアン) という公式(というよりラジアンの概念定義)があったように思う。 ですから 1.半径を出す=中心点ー視点の距離 ピタゴラスの定理の応用で距離公式はでる。 2.割り算 角度=弧の長さ/半径 360度角度がいるなら、ラジアンー>角度変換(パイ値で割る) 質問するまでも無い課題では。 ーーー ウイキから 定義から、扇形の中心角の大きさを θ ラジアン、半径を r とすると、その扇形の弧の長さ l と面積Sは l = rθ

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

1)このデータから半径Rを求めます 2)円周の長さLを求めます 3)弧/円周が回転角になります 4)加法定理使って回転後の座標を求めます Rは X成分の差の2乗とY成分の差の2乗の和の平方根 R = SQRT( (510-488)*(510-488) + (-682-(-680))*(-682-(-680))) )  = SQRT( 22*22 + (-2)*(-2) )  = 22.0907220343745 円周率PIは ATN(1)*4 で算出 ... 45度のアークタンジェント 円周長は2*PI*R 回転角は (478/(2*PI*R)) ... ラジアン 加法定理を使うために中心を(0,0)に移動したときの始点座標を求めます (510-488, -682+680) = (22, -2) ... 原点へ移動したときの始点 x = 22 * cos( 回転角 ) - (-2) * sin( 回転角 ) + 488 y = 22 * sin( 回転角 ) + (-2) * cos( 回転角 ) - 680 となります

satoshi777
質問者

補足

ありがとうございます。 やってみたのですが、思った答えになってくれません。 チェックしていただけませんでしょうか? 始点が(510,682)で中心点が(488,-639)です。 で、上の式にあてはめてみました。 (510-488,682-(-639)) = (22,1321)となりました。 X = 22*cos(回転角=20.7) - (1321)*sin(20.7) +488 Y = 22*cos(20.7) +(1321)*cos(20.7) - (-639) でよろしいでしょうか? しかし、結果はX=-789,Y=-1759という答えになってしまいました。 おおよそですが、X=41 Y=605あたりになるはずなのですが、 どこが間違っているのでしょうか? ご教授お願いします。

関連するQ&A

  • 弧の長さから角度を取得するには。

    度々お聞きします<(_ _)> すいません、タイトル間違ってました。 座標を取得ではなく、角度です。 VB6にてCADデータを作成しております。 弧の長さから角度を取得したいのですが、躓いてます。 弧 = (2 * 3.14 * R) * ((終点角度 - 始点角度) / 360) 弧 = 弧 - 指定距離 既存の弧の長さを取得し、そこから指定された長さを引いて、 目的とする長さ(再描画)を得られました。 しかし、ここから、さらに、終点角度を再計算する必要があります。 始点はそのままで終点の角度が変わるはずです。 この場合、終点を求めるにはどのようにすればよいでしょうか? アドバイスよろしくお願いします。

  • 角度を求めたいのですが。

    よろしくお願いします。 先日も角度についての質問をさせていただいたのですが、 実際にプログラムしてると問題が出てきましたので、もう一度お助け願います。 VB6にて、角度を求めたいのですが、具体的に言いますと、 CADの座標にて、中心点とその始点、終点が条件として与えられます。 そこから、始点終点の二点間の角度を求めたいのです。その後、 何度のとこが始点で、何度のとこが終点と求めたいのです。 良い方法ありましたら、ご教授願います。 よろしくお願い致します。

  • vb6 指定距離の座標の求め方について

    ご存知の方ご教示願います。 2点の座標からなる線【始点A(X1=10,Y1=10)、終点B(X2=50,Y2=40)】があるとします。 始点Aから終点Bに10進めた時の座標、点C(X3,Y3)を求めたいのですが 計算式がわかりません。宜しくお願いします。 ※点Cの座標は線上とします。

  • 2つの座標と角度から交点座標の求め方

    (X1, Y1)と(X2, Y2)の2点の座標と角度θがあります。 この情報から交点座標(XX, YY)を求めたいと思っています。 どのような計算式になるのでしょうか? VB6にて作成しております。 よろしくお願いします。

  • エクセルで回転する座標の出し方

    エクセルで回転する座標の出し方 (例) 座標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

  • 2点の座標がある座標を中心に回転した場合の座標は?

    ある2点の座標 P1(x1,y1), Q1(x2,y2) が ある座標(X,Y)を中心に回転し、点 P2(x3,y3) Q2(x4,y4) に移動した場合、回転の中心となった座標(X,Y)を求めるにはどうしたら良いでしょうか。

  • 3次元座標の計算

    任意の2本の直線の始点、終点の座標(x、y、z)がわかっているときその直線同士の最も接近した箇所のそれぞれの直線上の座標を計算する方法を教えてください。

  • 座標の回転

    x,y座標で表されるある点を反時計回りにα°回転したX、Y座標に変換しました。 かつてこのサイトで教えていただいたとおり (x、y)=(rcosθ,rsinθ)とおき,αだけ回転した座標なので (X,Y)=(rcos(θ+α),rsin(θ+α)) 加法定理を使って X=xcosα-ysinα Y=xsinα+ycosα と計算しました。 ところが,ある本に同様の計算がついていたのですが, X=xcosα+ysinα Y=-xsinα+ycosα となっており正負が異なります。(私と同じように反時計回りの回転)  私の計算が違っているのでしょうか。それとも何かの仮定が異なっているのでしょうか。 (ちなみにある本は作図により上記の結果を求めています。)  分かりにくいかもしれませんが,適切な指摘をお願いいたします。

  • 座標の計算が分かりません

    RやC面取りからテーパーになる場合に、必要な座標として… 1.面取りの始点 2.面取りの終点(テーパーの始点) 3.コーナーの始点(テーパーの終点) 4.コーナーの終点 以上の4つの座標がX・Z軸共に必要だと思いますが、1.だけは分かりますが残りの2.3.4.は分かりません。 ソフトを使えば計算してくれますが、電卓(手計算)で座標を求めたいのですが、計算方法を教えて頂きたいのですが宜しくお願いします。 どうもありがとうございました。 参考にさせていただきました。 しかし、お恥ずかしい事に、まだ理解が出来ません。 具体的な例として、 旋盤の外径削りにおいて X10 Z-2(始点)から X12 Z-8(終点)で、 各コーナーにR0.5の面取りを取る場合には、 算式はどうなるのか分かりません。

  • 座標を求めたいのですが。

    ご教授下さい<(_ _)> VB6にて。始点、終点と二点の座標が与えられています。 例として、 始点(10,5)終点(5,10)この距離は、 Shahen = Val(SX - EX) ^ 2 + Val(EY - SY) ^ 2 Shahen = Shahen ^ (1 / 2) という感じで求められます。問題は、この斜辺から指定された 長さを引かなければいけません。 Shahen = Shahen ^ (1 / 2) - val(Siteikyori) これから、さらに指定された距離を引いた際の終点となる座標を 求めなければいけません。 どのように求めるべきなのでしょうか? VBも数学も得意ではないので、苦労しております('_') できればサンプルコードなどつけていただけるとありがたいです。 よろしくお願い致します。

専門家に質問してみよう