HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1220
うひょ正5角形について7解決


うひょ

リンク

2006/12/20(Wed) 18:50:12|NO.4250

http://www15.plala.or.jp/uhyo_/sss.bmp
上のURLの図の赤い線と青い線の長さを一辺の長さから求めたいのですが、
どうすればいいか分かりません。
数学的なことになりますが、どうすればいいのでしょうか?
よろしくお願いします。



この記事に返信する


ふほ

リンク

2006/12/20(Wed) 20:15:13|NO.4253

三角関数、解りますか?

ズバリな式を書いてしまう事もできますが・・・・

もし、「勉強」なさっているのなら、とりあえずヒントから。


○まず、五角形を、三角形の集まりに分解します。
 中心に点があるとして、各頂点まで線を引けば、5つの三角形が出来ます。
○正五角形なので、中心から頂点への間の角は、360度÷5で、72度づつになります。
○この三角形を、さらに2分割します。
 中心から、辺に垂直になるように線を入れると、二つの直角三角形が出来ます。
○この直角三角形の内側の角度は、直角部分が90度、中心の所が72度から半分になって
 36度、残りは、「三角形の内角の合計は180」というルールから、54度だと解ります。


三角関数が解れば、ここまで理解できれば解けると思います。



GENKI

リンク

2006/12/20(Wed) 23:09:16|NO.4264

 五角形の大きさが2倍になっても3倍になっても赤い線の部分の長さと青い線の長さ、1辺の長さの比率は変わりません。
これを利用してみましょう。

正確な五角形の図を探してきて、定規で赤い線の部分の長さと青い線の長さと1辺の長さを計ります。
説明のため、ここで計った長さを仮に
赤い線の長さ = A
青い線の長さ = B
1辺の長さ = C
ということにしましょう。

さて、仮に1辺の長さが100ドットの五角形を考えたときそれぞれの長さはこうなります。
赤い線の長さ = A * 100.0/C
青い線の長さ = B * 100.0/C
1辺の長さ = C * 100.0/C = 100
ちなみにHSPでこの計算をやる場合は実数を使ってください。


 計算ではなく実測値を使うので図形を描画するとあんまりきれいじゃないですが、
どんな図形にも応用ができます。



ますメディア

リンク

2006/12/21(Thu) 07:01:10|NO.4269

ここはいつから図形の解法を教えてもらう数学掲示板になったんだ?図形の問題をプログラムで解かせようというのはプログラミングの範囲だが図形の問題をどう解いたらいいのかというのはプログラミングではない。プログラミング以前の問題だということが分からないのか?
「花の成長シミュレーションプログラムを作ろうと思いますが、花の成長過程や種の構造、種から芽が出るメカニズムが分かりません。どうなっているのですか?」
って質問をここでしてるのと同じなんだよ。場違いな質問。こういう質問は普通に考えたら理科・生物の話を扱っているサイト・掲示板を探してそこで質問するべきだ。プログラミングに関係あるもの・ないものの違いを分かれ。理論が分かった上でどう実装すればいいのかという質問はプログラミングの範囲だ。
なぜ叩くかってこういうスレッドを野放しにしていたら勘違いスレッドが他にも出てくるからだ。



ふほ

リンク

2006/12/21(Thu) 07:26:47|NO.4270

ああ、思ったけど敢えて突っ込まなかった事をw

でも大丈夫。
「三角関数」ならゲームのアルゴリズムに使えると思って、
そっちに誘導したから!!w

それでも不満?^^;



うひょ

リンク

2006/12/21(Thu) 15:39:24|NO.4281

皆さん、すみませんでした。
どうやら場違いなようですね。
この質問は諦めます。
協力して下さったふほ様、GENKI様ありがとうございました。
とりあえず解決済みにしておきます。



ふほ

リンク

2006/12/21(Thu) 18:08:57|NO.4288

まあ、ポータルサイトに良くある質問箱の、数学のあたりで聞くのが本筋なのは事実ですね。

でもまあ、書いてあるアドレスの向うから垣間見える感じで、まあ、悪い人なんじゃないんだろうと
勝手に判断して(ヲ)ヒント形式にしてみましたがw

まあ、諦めてしまうのなら、用意はしておいておいたけど、不要になった答えを捨てておきますね^^;



正5角形の一辺の長さをLとすると、
中心から各頂点までの距離は、Lを2分の1にしたものに、sin36度を割るとでます。
(360を5で割り、中心を72度づつに分けた三角形を、さらに半分にした直角三角形を
 考えますので、36度を使います。)

HSP的に表現すれば

PI = 3.141592
L1 = (0.5 * L) / sin(36.0 * (PI / 180.0))

と言う感じです。
後ろでかけている「(PI / 180.0)」は、度の単位をパソコンで良く使われるラジアン単位に
変換するおまじないみたいなものです。

中心から、辺に垂直に落ちる距離は、

L2 = (0.5 * L) / tan(36.0 * (PI / 180.0))

になり、赤の線は、このL1とL2を足せば出ます。
「中心から頂点までの距離」+「中心から辺へ垂直に引いた線の距離」です。

緑の線は図でも描かないと解りにくいので、まず式を書きますが、

L3 = L * cos(18.0 * (PI / 180.0))

で出ます。

一応言葉で説明すると、
正五角形の一番下の辺をまっすぐ横に伸ばし、緑の線の上側の頂点から、垂直にこの辺に落とします。
するとそこに直角三角形が出来ます。
最初に5つの三角形を作りましたが、この三角形の外側の角度は54度でした。
丁度その隅が二つ並んでいるので、54度+54度で108度。すると、水平の線の向こう側は
180度-108度で、72度である事がわかります。
この数字で計算してもいいのですが、一応三角形のルールにのっとり、72度と直角部分が90度、
残った角は18度となります。
これで、緑の線は L*cos(18度)で出てきます。

L = 10.0 PI = 3.141592 RED = (0.5 * L) / sin(36.0 * (PI / 180.0)) + (0.5 * L) / tan(36.0 * (PI / 180.0)) GREEN = L * cos(18.0 * (PI / 180.0)) print "L=" + L + " 赤= " + RED + " 緑= " + GREEN stop



GENKI

リンク

2006/12/21(Thu) 23:17:10|NO.4307

> こういうスレッドを野放しにしていたら勘違いスレッドが他にも出てくるからだ。

そうか、この可能性は考えてませんでした。
ますメディアさんフォローありがとうございます。



ONION software Copyright 1997-2023(c) All rights reserved.