2ちゃんねるログビューア

カルネージハートポータブル 43機目   を含む(ツリー表示)

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除
509: 名前:枯れた名無しの水平思考 :2008/10/27(月) 14:40:19 ID:SJqVI+4v0(3)
>>507
いきなり三角関数を勉強するのはヘビーかもしれないから、「三角比」からやるといいよ。
三角比を拡張したものが三角関数。
直角が右下にくる三角形の左の角をθとして、斜辺a、底辺b、高さcのとき、三角比は、
 sinθ = c / a
 cosθ = b / a
 tanθ = c / b
cがわかっていてbを出すのだから、cとbの比率であるtanθを選択し、
 b = b * (c / c) = (b / c) * c = c * (1 / tanθ)
となる。
510: 名前:枯れた名無しの水平思考 :2008/10/27(月) 14:44:36 ID:lVgCzz+o0(6)
>>509
cosでもいいよね?
底辺=斜辺*定数
tan使ったのがチップ少ないのかな?
511: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:02:09 ID:SJqVI+4v0(3)
>>510
その場合、斜辺を求めるためにsinを併用しないといけない。
なぜならわかっているのはcだけだから。
すなわち、
 b = b * (a / a) = a * (b / a) = a * cosθ = (c * a / c) * cosθ
  = (c / sinθ) * cosθ = c * (cosθ / sinθ)
となる。よって、sinとcosの2つが必要。
ちなみに、
 tanθ = sinθ / cosθ
なので(定義から明らか)、上式は>>509と(当然だが)一致する。
512: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:13:00 ID:lVgCzz+o0(6)
>>511
カウンタで取得できる「ターゲットの距離」ってのは斜辺のことなんじゃないの?
あとは底辺を「ターゲットのXY距離」で取得すれば、Z座標を求めなくても
Chip Codexにあるやつ
514: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:32:42 ID:SJqVI+4v0(3)
>>512
そういうことなら、使うべきはsinかな。
問題を「高度100mの位置にある敵を最大仰角25度の砲で狙うことが可能な最小距離を求める」と思ってたんだが、
最小距離ってのが3次元での空間距離ってことね。申し訳ない。
それなら、高さcが既知で斜辺aを求めるのだから、aとcが含まれるsinを選択する。
以下の手順は同じ。
516: 名前:枯れた名無しの水平思考 :2008/10/27(月) 16:05:52 ID:lVgCzz+o0(6)
>>514
あ、その問題の話だったのかすまん
俺が聞きたかったのは別の話で、敵の高度(c)を使わず
ターゲット距離(a)とターゲットXY距離(b)を取得してcosで判断する方法のことなんだ
この方法とさっき話してたtan使う方法どっちが省チップなのかなって
520: 名前:枯れた名無しの水平思考 :2008/10/27(月) 16:56:34 ID:7/xIPQnt0(3)
>>516
オレもその方法のほうが省チップだと思う。
ただし仰角が極端に高い、例で仰角85°の場合
tan = 11.43, cos = 0.08
カウンタは0.1きざみだからcosでの判別は誤差が大きくなる。
どちらにしろ桁補正かければcosに軍配が上がる気はするが。
522: 名前:枯れた名無しの水平思考 :2008/10/27(月) 18:07:07 ID:lVgCzz+o0(6)
>>520
よかったありがとう、よく考えたらアラクネやローケンなんかは判断する価値あるけど
バジはおおよそ214m離れてないといけないのか・・当たらねぇ
大人しくミサイルでも撃つか、長々と申し訳なかった

511: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:02:09 ID:SJqVI+4v0(3)
>>510
その場合、斜辺を求めるためにsinを併用しないといけない。
なぜならわかっているのはcだけだから。
すなわち、
 b = b * (a / a) = a * (b / a) = a * cosθ = (c * a / c) * cosθ
  = (c / sinθ) * cosθ = c * (cosθ / sinθ)
となる。よって、sinとcosの2つが必要。
ちなみに、
 tanθ = sinθ / cosθ
なので(定義から明らか)、上式は>>509と(当然だが)一致する。
512: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:13:00 ID:lVgCzz+o0(6)
>>511
カウンタで取得できる「ターゲットの距離」ってのは斜辺のことなんじゃないの?
あとは底辺を「ターゲットのXY距離」で取得すれば、Z座標を求めなくても
Chip Codexにあるやつ
514: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:32:42 ID:SJqVI+4v0(3)
>>512
そういうことなら、使うべきはsinかな。
問題を「高度100mの位置にある敵を最大仰角25度の砲で狙うことが可能な最小距離を求める」と思ってたんだが、
最小距離ってのが3次元での空間距離ってことね。申し訳ない。
それなら、高さcが既知で斜辺aを求めるのだから、aとcが含まれるsinを選択する。
以下の手順は同じ。
516: 名前:枯れた名無しの水平思考 :2008/10/27(月) 16:05:52 ID:lVgCzz+o0(6)
>>514
あ、その問題の話だったのかすまん
俺が聞きたかったのは別の話で、敵の高度(c)を使わず
ターゲット距離(a)とターゲットXY距離(b)を取得してcosで判断する方法のことなんだ
この方法とさっき話してたtan使う方法どっちが省チップなのかなって
520: 名前:枯れた名無しの水平思考 :2008/10/27(月) 16:56:34 ID:7/xIPQnt0(3)
>>516
オレもその方法のほうが省チップだと思う。
ただし仰角が極端に高い、例で仰角85°の場合
tan = 11.43, cos = 0.08
カウンタは0.1きざみだからcosでの判別は誤差が大きくなる。
どちらにしろ桁補正かければcosに軍配が上がる気はするが。
522: 名前:枯れた名無しの水平思考 :2008/10/27(月) 18:07:07 ID:lVgCzz+o0(6)
>>520
よかったありがとう、よく考えたらアラクネやローケンなんかは判断する価値あるけど
バジはおおよそ214m離れてないといけないのか・・当たらねぇ
大人しくミサイルでも撃つか、長々と申し訳なかった

513: 名前:枯れた名無しの水平思考 :2008/10/27(月) 15:16:37 ID:ofU9+4Av0
>>509
ああやったやったw
三角形上でs,c,tを筆記体で書いて覚えるといいよ
って習ったなw

どれでもいけるけど、高さを使う場合、
敵機の高さ−自機の高さを考慮に入れないと。
あとは使用する機体の最大仰角に応じて、
定数の使いやすいのを使い分けるかんじ。

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除 dat