• ベストアンサー

☆のそれぞれの角度っていくつ?

夏休みに入り、一人でプログラムを独学しています。 ☆型をプログラムで書きたいんですが それぞれの角度がいくらかわからないんでかけません・・。 星型の左端に接するようにy軸を置き、星型の下の部分に接するようにx軸をおいて それぞれの線を方程式であらわしたいのです。 例えば下のような三角形を表示したいときは ■ ■■ ■■■ ■■■■ ■■■■■ ■■■■■■ ■■■■■■■ ■■■■■■■■ ■■■■■■■■■ ■■■■■■■■■■ x > 0 , y > 0 , y <= -x + 10 ですよね。 こんな風に☆(星形)もそれぞれを方程式であらわしたいのです。 どなたか方程式教えていただけないでしょうか。

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

  • ベストアンサー
  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.4

星型は真ん中の正五角形と5つの二等辺三角形を切り合わせた形と考えます。 正五角形の内側の角度は108°です。 二等辺三角形の頂角は36°、二つの底角は72°になります。 原点を星の左下一点とし、原点を中心とする単位円に頂点と右上の一点が通る、第一象限に☆がくるように考えた場合、 5つの直線で表せます。 一本目、y=tan72°x (0≦x≦cos72°) 二本目、y=-tan72°x + 2*sin72°(cos72°≦x≦2*cos72°) 三本目、y=-tan36°x + 2*sin36° (cos36°- 2*cos72°≦x≦2*cos72°) 四本目、y=sin36° (cos36°- 2*cos72°≦xcos36°) 五本目、y=tan36°x (0≦x≦cos36°) さあて、計算ミスがあったら申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.3

プログラム言語が何かわからないのですが、通常sin関数とcos関数が用意されていると思いますので、これを使うと簡単です。 まず、基本として (1)原点を中心とする半径Rの円周上で、x軸から反時計回りに 角度k度の点の座標は  x = R * cos(π*k/180)  y = R * sin(π*k/180) πは円周率です(具体的な書き方はプログラミング言語により異なります。pi = 3.14159265358979などと代入してからpiを使ってもいいと思います)。 (2)上のことを、(x0, y0)を中心とする円周上で考えると、  x = x0 + R * cos(π*k/180)  y = y0 + R * sin(π*k/180) となります。星型五角形の5つの頂点では、k = 18,90,162,234,306 になります。これを上の式に入れるとx,yが求められます。 --------------- x0とy0の選び方ですが、k=162のときx=0と決めているので、 x0 = -R * cos(π* 162/180) また、k=234のときy=0 と決めているので y0 = -R * sin(π* 234/180) としてx0,y0を求めておけばよいのです。 半径Rは、事前に適当に決めておきます。 -------------------- ご質問のように不等式で表わしたい場合は、星型五角形をつくる5つの直線について不等式が必要です。 (a,b)と(c,d)を結ぶ直線の方程式は(a≠cとします)、 y = (d-b)(x-a)/(c-a) + b ですから、この直線の上側の領域は y > (d-b)(x-a)/(c-a) + b 下側の領域は y < (d-b)(x-a)/(c-a) + b 星型五角形は、3つの三角形の和集合で表わすことができます。それらの、それぞれの三角形は、ご質問のように3つの不等式の共通部分で表わせます。

全文を見る
すると、全ての回答が全文表示されます。
  • char2nd
  • ベストアンサー率34% (2685/7757)
回答No.2

 プログラムとしては、#1さんの方法がいいかと思いますが、質問者さんは角度を所望のようなので、その算出方法について考えてみましょう。  いうまでもなく、星形のそれぞれの頂点をとなり同士結んでいけば正五角形になります。  n角形の外角の和は360度であり、制n角形であればその外角はすべて等しいです。すなわち正五角形の場合は、360/5度となります。これより、正五角形の内角も求められます。  星形と正五角形を重ねて描くと、正五角形のある一つの点を頂点とする二等辺三角形が見えるでしょう(扁平なかたちをしています)。内角が分かっていますから、この二等辺三角形の残りの2つの角も分かります。  星形の一つの内角は、五角形の内角からこの二等辺三角形の底部の内角を2箇所分差し引いたものになります。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

円周上に等間隔に5つの点を配置して,1つおきに結んだ図形を描けばいいと思います。 考え方は極座標の方が簡単だと思いますが,画面描画を平面座標で 行いたい場合には,原点を円周の中心にとって軸上にシフトした方が 簡単に考えられると思います。 がんばってください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 直角三角形の角度

    x軸y軸上に直角三角形を書いた場合の角度の求め方が知りたいです。 座標(x.y)と(x’.y’)から成る斜辺を持つ直角三角形の角度の求め方を教えてください。 よろしくおねがいします。

  • 数学の答えをエクセル関数に変換(円、角度、接線)

    W=550,H=1000の斜線(青)があります。 その端点に接する半径17の円を描きます。 青線の左端の端点は同じで、そこから半径17の円に接する赤い線を描きます。 W=550は変わらない場合、赤線と垂直線の角度は出すことができるのでしょうか? という質問をこちらでさせていただいたところ、 下記の数学の答えを教えていただきました。 しかし、これをもとにエクセル関数で 式を作らなければなりません。 この答えを参考に、エクセル関数で 角度θ=「」と出すために式を 作ることは可能でしょうか?できるかどうかもわかりません。 ↓(教えていただいた数学の答え) xy座標上で考えます。図の左上が原点O、550 と書いたとこ0ろがx軸、1000 と書いたところがy軸(逆向き)とします。このとき、 小円の方程式は、 (x-550)^2+(y-983)^2=17^2, 「赤い直線」を、y=m*x, とすると、円と直線との距離が17であることより、 |983 - 550*m|/√(m^2+1) = 17. これより、 302500*m^2 - 1081300*m+966000=0 ⇔ m={540650±170*√(12685)}/302211. すなわち、m=1.852337307 or 1.725626434 (赤い線の傾きは前者) これから、問題の角度は pi/2 - arctan(m)=0.4950236862(rad) であり、度数では、28.36276798 (deg).

  • 角度を求めるプログラム

    x,y座標上の2点を結んでできる線の度数での角度(45度、270度といった) を得たいのですがそういうプログラムまたは関数などはあるのでしょうか? 例えばA(0,1)とB(1,2)だと、B-Aでx=1,y=1になりy/x=1という数字が出てきます。 この1が45度になるようなアルゴリズムが知りたいです。

    • ベストアンサー
    • PHP
  • 力と時間の4次方程式から足角度を求めたいです!!!

    右の図は縦軸が[N],横軸が[S]の四次方程式の足の垂直分力の時間的推移の四次方程式の近似グラフです。左の図が足の簡易モデルです。 求めたいのはy軸とl1のなす角と時間的変化の式。l1とl2のなす角と時間的変化の式です。 ものすごくわかりづらい図なのですが、l1はy軸に対してマイナス方向に15°の位置からy軸に対してプラス方向に20°まで変化します。l2はl1との垂直な軸に対して15°から-20°まで変化します。 最終的にその角度変化と時間的変化の相関の式を求めたいのです。 分かっているのは右の図の力と時間の四次方程式と、モデルの角度の拘束条件だけです。 ここから求めたい式が求められるでしょうか?お力をおかしください。 ちなみに式は-0.0000317460*x^4+0.0063492063*x^3-0.4253968254*x^2+10.7936507937*x+8.5714285714です。

  • 角度が1/2になれば傾きも1/2

    ひとつ確認したいことがあります。 タイトルどおりですが、2次関数のグラフを思い浮かべてください。たとえばy=3xという直線があります。x軸との角度が1/2になれば傾きも1/2のことが成り立つでしょうか?つまりy=3/2x。 中学生でもわかる証明する方法あるでしょうか?tangent使用OKです。

  • 2線の交わる角度を求める式

    2線の交わる角度を求める式で、0での除算が発生しない方法を教えて下さい。 座標 線a ax1 = 0 , ay1 = 0 : ax2 = 12 , ay2 = 13 線b bx1 = 6 , by1 = 15: bx2 = 6 , by2 = 2 A=(y13-y0)/(x12-x0) B=(y2-y15)/(x6-x6)   0で除算が発生 2線の交わる角度 tanθ=(A-B)/(1+AB) 片方の線が垂直だと0で除算が発生しまい、うまく計算できません。 なにか他によい方法はないでしょうか。

  • 円柱を有る角度で切った場合の長軸の角度の求め方を教えてください

    以前円柱を有る角度で切断した場合に出来る楕円の計算方法をお教え頂きましたが。今回Ф76.2の円柱で軸は初めはZ軸に平行で、X軸周りに13度、Y軸周りに8度に傾けて切断した時の断面形状の計算式はお教え頂いた計算の仕方から、Z軸に平行な単位ベクトルez=(0,0,1)をX軸周りに13度まわすと (0、sin13°、cos13°)これを更にY軸周りに8度まわすと (cos13°sin8°、sin13°、cos13°cos8°)でZ軸とのなす角をθとすると ezとpの内積は 1・1・cosθ=0+0+cos13°cos8°   θ≒arccos(0.9648)≒15.228°   楕円形状は 短円=76.2   長円=76.2/cos15.228°≒78.972 だと思うのですが(余り自身が有りませんが)、長円はx軸に対して角度が付いた状態で有ると思いますが、その角度の計算方法が分かりません申し訳ありませんが再度お教え下さい。

  • 任意の軸に回転するための角度を知りたい

    右手系の直交座標系で基準のベクトル(0,0,1)があったとします。 x軸周り、y軸周り、z軸周りの順番で基準のベクトルを回転してベクトル(x,y,z)にする時、z軸周りの回転角度は決まっていて、残りのx軸とy軸をそれぞれ何度回せばいいのか計算する方法を教えて下さい。

  • サイン、コサインを使わずに角度を求めるには

    自分は直交座標上で原点(0,0)から任意の点(X,Y) へ伸びる直線の角度を調べていて、 その直線と、直線のX成分の線、Y成分の線をそれぞれ一辺 とした直角三角形を考えて、サインやコサインなど を用いて求める方法が多くでてくるのですが、 サイン、コサインを使わずに、三角形の内角の和が180度で X成分の線とY成分の線に接する角は、90度で固定されるので 内角の和の、残りの90度の角度を残り2つの角に分配するようにして その分配の比率は、X成分の線とY成分の線の比率と同じにする という考えは間違いでしょうか。 実際の計算は、固定された90度以外の、 X成分の線に接する角を求めるのに、 (X成分の長さ/(X成分の長さ+Y成分の長さ))*90 という計算を考えたのですが間違いでしょうか X成分の線とY成分の線の比率が同じであれば 正方形の半分の三角形になり角度も45度同士で同じ比率となり 成分のどちらかが0になれば角度も0度か90度のどちらかに なることから、今回の様な事を考えたのですが、 自分では確かめられないので、間違いなら その理由を教えて頂ければありがたく思います。 ご存知の方がおりましたらよろしくお願い致します。

  • y軸と一次直線の交差角度を求める式

    (x1,y1)、(x2,y2)の座標を通過する一次直線がy軸と交差する角度を何とか一つの式で表せないでしょうか? y軸に対して左上(x1,y1)から右下(x2,y2)に交差する角度(時計でいうと9~12時)θを求めたいです。 ご存知の方いらっしゃいましたらご教授よろしくお願い致します。