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

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

■TOP■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- ツリー解除
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離れてないといけないのか・・当たらねぇ
大人しくミサイルでも撃つか、長々と申し訳なかった

517: 名前:枯れた名無しの水平思考 :2008/10/27(月) 16:27:07 ID:lVgCzz+o0(6)
連レスすまんが、>>505の問いにcosを使うかtanを使うかじゃなくて
ただ単に、今いる敵の高さが自分の仰角内にいるかどうかの判断、ってことで
仰角判断に使うのはcosでもtanでもチップ数変わるかどうかが聞きたかった
526: 名前:枯れた名無しの水平思考 :2008/10/27(月) 18:58:03 ID:lVgCzz+o0(6)
>>525
車両多脚飛行に勝てればって・・
二脚がいるだろうが

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