トップページ⇒tech
1001コメント336KB

プログラミングの為の数学と算数 vol.2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
プログラムに必要な数学、算数に関する話題について
語りましょう。TIPS/Q&Aスレです。
0478デフォルトの名無しさん2006/03/18(土) 12:37:08
>>476さん、ありがとうございます。
+は足し算で、掛け算は掛け算で計算していたので、直してみましたが、やはり0になってくれません。
コードはこのようになっています。

//求められたデータ語
int[]Data={
32, 65, 205, 69, 41, 220, 46, 128, 236, 42, 159, 74, 221,
244 ,169, 239, 150, 138, 70, 237, 85, 224, 96, 74, 219, 61 };

//a指数→整数
int[] a_int={1,2,4…(以下続いています)};
public void Syndrome(){
//求めるシンドロームの数を決定
int[]S=new int[8];
for(int i=0;i<S.length;i++){
for(int d=0;d<Data.length;d++){
S[i]=S[i]^(Data[d]+a_int[(d*i)%255]);
}
}
}

>>477さん、
このプログラムは知りませんでした。早速今から落として見て見たいと思います。
ありがとうございます。
0479デフォルトの名無しさん2006/03/18(土) 13:24:07
>>478 やっぱり計算式が違うよ >>474のcalculate.javaをよく見てみて
0480http://www.vector.co.jp/soft/win95/util/se072729.html2006/03/18(土) 19:44:49
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0481デフォルトの名無しさん2006/03/19(日) 23:37:58
ラジアンをぶつかった壁に対して面対称で
XだけYだけ90°ひっくり返すにはどうすればいいの?
0482デフォルトの名無しさん2006/03/19(日) 23:56:28
いや言ってる意味が良くわかりませんから
0483デフォルトの名無しさん2006/03/20(月) 00:24:24
ビリヤードか
0484デフォルトの名無しさん2006/03/20(月) 00:45:38
vy = -vy;
vx = vx + 90/180*PI
0485デフォルトの名無しさん2006/03/20(月) 11:03:21
>>483 ビリヤードなら90度というのがどこから来るのか・・・・
0486デフォルトの名無しさん2006/03/20(月) 16:05:35
必ず90度で跳ね返るPONGでも作ってみるか
0487デフォルトの名無しさん2006/03/20(月) 16:42:10
その場合、速度はどうなるのん?
0488デフォルトの名無しさん2006/03/20(月) 17:22:36
必ず180で反射するコーナーリフレクターは実在するけど
必ず90度ってどうやるんだ?
0489デフォルトの名無しさん2006/03/20(月) 17:24:03
三角関数?簡単なブロック崩しだったらそんなの使わんぞ
つーか、玉の軌道をX軸かY軸で反転すれば問題なし。
0490デフォルトの名無しさん2006/03/20(月) 18:44:58
さて、ここで唐突に「三角関数」とか出てきたわけだが
0491デフォルトの名無しさん2006/03/20(月) 18:52:43
「プログラマが今まで「これはすげえ」と思ったゲーム」
の149からの流れがここに?
http://pc8.2ch.net/test/read.cgi/prog/1134791216/149-
0492デフォルトの名無しさん2006/03/20(月) 19:24:06
ttp://www.dango-itimi.com/blog/archives/2005/11/1.html
斜面への衝突判定と反射1
0493デフォルトの名無しさん2006/03/23(木) 07:46:12
学校の宿題なのですが・・・。

HはHASH関数で、p は(p-1)/2も素数であるような素数。
aは、1<a<p-1も満たす整数。
g=a^2(mod p)
H(x,y,z,t)=g^(xy+zt) (mod p)
このとき、Hはone-way関数であるが、collision-free関数ではないことを示せ。

なのですが、どなたか分かる方、助けてください。
0494デフォルトの名無しさん2006/03/23(木) 12:28:39
定義は知らんがアバウトに考えて、
剰余が絡んでる段階で多対一関数だから1方向だろうし
collision-freeではなさそうだわな。

証明は2つの値が実際に1個の値になる例を計算すればいいんじゃね?
04954942006/03/24(金) 16:59:01
エエカゲンに書いたのに誰も突っ込まない…。



ほ、放置プレイ?
0496デフォルトの名無しさん2006/03/24(金) 18:30:11
定義がないのでなんともはや
0497デフォルトの名無しさん2006/03/28(火) 08:18:12
sin(x)/x

Q1  って関数に名前を付けたいけど適切な名前は?

Q2  浮動小数点なので計算方法は単純に
     abs(x)<0.0001 の時は1-x*x/6 でなければ そのまま計算でいいよね?
0498デフォルトの名無しさん2006/03/28(火) 08:53:02
キャラの座標は
左上と真ん中
どちらのポイントを保持して使うべきですか
0499デフォルトの名無しさん2006/03/28(火) 08:55:22
>>497
sine_x_per_x()
0500デフォルトの名無しさん2006/03/28(火) 09:01:48
>>498
いまどきどこでもいい。
処理によって必要な座標は違う。例えばサイドビューのジャンプアクションなら足元座標も使う。
必要な座標を計算するメソッドがあればそれでよい。

数学関係ない。
0501デフォルトの名無しさん2006/03/28(火) 12:19:04
>>497
それは一般的にsinc関数と呼ばれている。
05024972006/03/28(火) 12:41:21
>>501 ありがとう
0503デフォルトの名無しさん2006/03/28(火) 17:19:04
>>498
RPGの座標には、マップ上の座標と表示する座標があるが、
マップ上の座標で保存する。
表示する時には、表示する座標に変換して表示する。
0504デフォルトの名無しさん2006/03/28(火) 17:58:28
>>503
キャラといえばRPGしか連想できないゲーマーですか?
0505デフォルトの名無しさん2006/03/28(火) 23:55:29
すまん。
でも数ピクセル単位で動かす事になるとおもうから、
その動かせる単位の位置を保存して、
表示する位置に変換するって感じで使えるかも。
0506デフォルトの名無しさん2006/03/29(水) 10:10:24
座標は数学でしょ
0507デフォルトの名無しさん2006/03/29(水) 17:34:46
2Dゲームを作っているのですが、
640×480の画面に32×32の画像をしきつめようとすると、
右端と下端がきれいにそろわず、ちょっとはみだしたりしまいます。
これって例えば何が原因で起こるのでしょうか。
0508デフォルトの名無しさん2006/03/29(水) 17:45:27
■■■■■■■■■■■■■■■■■■■■ どういう状況なの?
■■■■■■■■■■■■■■■■■■■■ 20x15 で普通に敷き詰められるよね?
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■
0509デフォルトの名無しさん2006/03/29(水) 18:10:03
>507
まさか浮動小数点演算が介在してたりせんだろうな?
0510デフォルトの名無しさん2006/03/29(水) 18:33:53
>>507
>例えば何が原因で
・計算間違い
・勘違い
・お門違い
0511デフォルトの名無しさん2006/03/29(水) 18:39:10
基地(ry
0512デフォルトの名無しさん2006/03/29(水) 20:09:24
>>507
右端は揃うんじゃマイカ?

マジレスすると、敷き詰める画像のサイズが640と480の公約数である必要がある。
0513デフォルトの名無しさん2006/03/29(水) 20:17:27
どうしても正方形が好きならね。
0514デフォルトの名無しさん2006/03/29(水) 22:22:06
480って32で……あれぇ?うぅー?
0515デフォルトの名無しさん2006/03/29(水) 23:42:36
勘でいうとAdjustWindowRectしてないから
0516デフォルトの名無しさん2006/03/30(木) 09:24:33
テクスチャで貼っててピクセルがずれている悪寒。
0517デフォルトの名無しさん2006/03/31(金) 01:31:23
>>498
>>507
お前さ
いい加減あちこちにマルチポストするの止めろよ
もしくは解決したなら解決したと全てのスレに書いて回れ
0518デフォルトの名無しさん2006/03/31(金) 23:45:54
地球の下側は反対に回っているってどういう意味ですか?
上も下も繋がっているんだから回る方向は同じじゃないの?
0519デフォルトの名無しさん2006/03/32(土) 02:22:08
>>518
オーストラリアの世界地図 でググってみるといいかも
方向という単語の意味の問題だから、ここはスレ違いかも
0520デフォルトの名無しさん2006/03/32(土) 03:18:09
北半球の人間はオーストラリアが下だろと認識している
南半球の人間はロシアが下だろと認識している
0521デフォルトの名無しさん2006/03/32(土) 04:01:57
南半球では西から日が昇るんだよね?
0522デフォルトの名無しさん2006/03/32(土) 11:13:29
右からだよ
0523デフォルトの名無しさん2006/04/02(日) 08:07:38
ラグナロクみたいなオンラインゲームでステータスを表示したり、
所持アイテムを表示したりする、ウィンドウについて。
これって、どうやって実装してるんでしょうか?
ただ単に固定されてるウィンドウをつくるなら、ウィンドウのテクスチャ描いて、
それを張って、座標が決まっているのでそこに文字やらなんやら表示すれば良いと
思うんですけど、
オンラインゲームに存在するウィンドウって、windowsのウィンドウみたいに
マウスでクリックすると自由に動かすことができますよね?
これって、APIで一つ一つ子ウィンドウを作って、そこに表示させてるんでしょうか?
もしくは、他に方法とかあるんでしょうか、助言をよろしくお願いします。
0524デフォルトの名無しさん2006/04/02(日) 08:27:33
http://pc8.2ch.net/test/read.cgi/gamedev/1137730564/543
0525デフォルトの名無しさん2006/04/02(日) 08:28:25
>>523
つ[DirectX]
後スレ違い。
0526デフォルトの名無しさん2006/04/02(日) 14:00:59
DirectXは直接的にはかんけいないだろ
0527デフォルトの名無しさん2006/04/03(月) 04:30:12
>>523
>>517
0528デフォルトの名無しさん2006/04/07(金) 13:54:31
>526
「数学と算数」よりは関係あるけどな。
0529デフォルトの名無しさん2006/04/24(月) 11:15:56
>528
そうか?
0530デフォルトの名無しさん2006/04/24(月) 13:10:28
>>528
クリッピングや論理演算は数学の範疇だと思うんだけどな
0531デフォルトの名無しさん2006/04/25(火) 12:28:25
ハァ?
DirectXはスレ違いだし、クリッピングの話なんてどこにも出てないが?
0532デフォルトの名無しさん2006/04/25(火) 14:21:17
DirectX 描画者たち

窓の中の昴〜♪
0533ルカ2006/04/26(水) 16:58:08
sgn←これなんて読むの?だれかがシグネーチャー?って読んでたんだけどそれでオッケイなんですか?
てかこれどういう意味?符号関数ってなんですか・・・
すいませんここはプログラムとかそういうサイトっぽいけどたぶんここしか頼れる所がないので・・・
大学の数学で出てきたんですけどもしよろしければ誰か教えてください(>_<)
0534デフォルトの名無しさん2006/04/26(水) 17:02:02
もうシグネチャーでいいと思うよ。

まあ、マジレスすると、符号関数でぐぐればいくらでも説明出てくる。
0535デフォルトの名無しさん2006/04/26(水) 18:13:04
現在、固有値および固有ベクトルを求めるプログラムを作成しているのですが
固有ベクトルの求め方で質問させていただきたいことがあります。
固有値はハウスホルダー変換と2分法で求めました。
その後、逆反復法を用いようと思っているのですが、
初期ベクトルの決め方と、繰り返し回数がわからず困っています。
どなたか教えていただけないでしょうか?
0536デフォルトの名無しさん2006/04/26(水) 20:23:48
sgnと関数でぐぐるだけでも出てきそうなもんだが試した訳ではない。
0537デフォルトの名無しさん2006/04/27(木) 01:34:48
sgnでググってみたら一番上がFortranの(だと思う)sgn関数の説明だった。
sgnの読み方はともかく、意味は分かるだろう。符号関数とも書いてるから
探しているものという確認も取れるし。

そしてシグネーチャーでオッケイかを知りたければシグネーチャから思いつく
綴りを全部辞書で調べろ。
0538デフォルトの名無しさん2006/04/27(木) 02:01:54
>>535
初期ベクトルは、求めたい固有ベクトルの成分がゼロ、
もしくは、よほどゼロに近くない限りなんでもいいんじゃない?
ランダムなベクトルにするとか。
例え、偶然にも求めたい固有ベクトルの成分がゼロの初期ベクトルを
選んでしまったとしても、なんだかんだで誤差が出てくるので、なんとかなるかも。
収束は遅くなるだろうけど。

繰り返し回数は、求めたい精度に達するまでやればいいと思う。
Aを行列、aを固有値、xを求めた固有ベクトル、として、
(x,Ax)/(x,x)を計算すれば、固有値aの近似値が求まるから、
その精度を、既に求まっている固有値aと比較するとか。
05395352006/04/27(木) 11:26:58
なるほど、ありがとうございました。
参考にさせていただきます。
0540デフォルトの名無しさん2006/05/03(水) 12:47:46
行列を使って非斉次の連立方程式を解くんだが、
行列の成分の

90%が0
8%が1
2%がその他

という行列を解くには
どんなアルゴリズムを使えば高速に解ける?

こういう行列に限り高速にできるとか
そんなアルゴリズムないかなと思ったんだが。
0541デフォルトの名無しさん2006/05/03(水) 14:35:25
どこが非ゼロなのか、という情報がないとなんともいえない。
非ゼロの位置に特徴が無い場合は、行列をリスト表現して計算するくらいしか。
0542デフォルトの名無しさん2006/05/03(水) 17:01:03
>>541
サンクス
非ゼロの位置に規則性はないわ。
あきらめとく。
0543デフォルトの名無しさん2006/05/03(水) 18:30:42
"sparse matrix"でググれば英語ばかりだが参考になりそうなサイトが出てくる
0544デフォルトの名無しさん2006/05/05(金) 01:27:02
1:30〜

たけしのコマネチ大学数学科
http://live22x.2ch.net/test/read.cgi/livecx/1146759594/
0545デフォルトの名無しさん2006/05/07(日) 17:26:16
>542
非零が疎な行列だと反復法系のアルゴリズムが案外早いぞ。
0546デフォルトの名無しさん2006/05/23(火) 08:07:13
朝倉から「コンピュータ代数ハンドブック」、定評のあるModern Computer Algebra 2nd ed.の
待望の翻訳!!、なる案内がきたが、定評と待望についてよろしく。

しかし\31,500とはずいぶんだな。
0547デフォルトの名無しさん2006/06/15(木) 10:42:40
保守
0548デフォルトの名無しさん2006/07/16(日) 09:13:35
保守
0549マイク ◆yrBrqfF1Ew 2006/07/19(水) 14:31:54
おい以下の問題がわからないので中卒の俺でもわかるようにPerlのコードをまじえて教えろ。

n個の区間Ii = [ai, bi](i=1,2,...,n)が与えられる時重なりを持つ区間の対を
全て列挙したい。なお[ai, bi]は実数の集合{x∈R | ai <= x <= bi}を表し、
二つの区間IiとIjが重なりを持つとは[ai, bi]∩[aj, bj]が空集合でないことを
意味する。全てのi = 1,2,..,nに対してaiとbiは整数でai<=biを満たし、
また任意のiとj(i != j)に対してai != ajを仮定する。区間のデータは
端の値aiとbiが配列で与えられており2つの数の大小比較や四則演算などの基本操作は
全てO(1)時間で可能とする。

(i) 区間対全てに対してそれぞれ重なりの有無を調べて
該当するものを列挙する方法が要する時間量を述べよ。

(ii) 重なりを持つ区間対の総数をkとする時、そのような区間対を列挙する
O(nlogn+k)時間のアルゴリズムを与えよ。

(iii) 重なりを持つ区間対を列挙するのではなく、その総数kのみを出力する
O(nlogn)時間のアルゴリズムを与えよ。
0550デフォルトの名無しさん2006/07/19(水) 15:07:18
Perl 以外でもいいですか?
0551デフォルトの名無しさん2006/07/19(水) 15:23:21
>550
>549に代わってお願いします。
ぜひC++で(ry
0552デフォルトの名無しさん2006/07/19(水) 15:23:34
>>糞コテ
そういう態度だから何処へ行っても嫌われる。
0553デフォルトの名無しさん2006/07/19(水) 21:59:50
>549
死に晒せヴォケ
0554デフォルトの名無しさん2006/07/20(木) 07:11:30
550 じゃないが

>>551
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2409.cpp

方針は以下:

(1) は自明.
(2) はソートして左から数える.ソートしたおかげで単調性が得られ,
  一度交わらなくなったらそれより先を調べる必要がなくなる.
(3) は (2) でどこまで調べないといけないかを二分探索を行う.
0555デフォルトの名無しさん2006/07/20(木) 08:09:59
拙いPerlですが。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28099

(i) 区間対の個数はO(nn)、重なりの有無の判定はO(1)だから、全体でO(nn)。

(ii) >>554に同じ。

(iii) 与えられた区間の始点と終点を列挙し、ソートし、各点に何個の始点・終点が重なっているか調べる。
区間のネストの数を把握しながらこの列を走査して重なりの総数を得る。
実際のコードでは始点・終点の個数の計算と最後の操作を一つのループで行っている。
0556マイク ◆yrBrqfF1Ew 2006/07/20(木) 19:23:08
>>554-555
・・・
2chネラにこんなことを言うのもあれだが
お前らすげーな。
どこの金子勇的風貌の京大院生だ?
0557デフォルトの名無しさん2006/07/20(木) 22:30:46
大学で情報やれば大体やるぞ。
今からでも勉強してみたらどうでい。
0558デフォルトの名無しさん2006/07/30(日) 08:15:10
二次元上の多角形の面積を求めるには外積で一発ですが、
三次元上の多面体の体積を求めるには何か方法はありませんか?
0559デフォルトの名無しさん2006/07/30(日) 10:47:51
O = (0,0,0), A = (ax,ay,az), B = (bx,by,bz), C = (cx,cy,cz)
4面体OABCの体積は
1/6( ax by cz + ay bz cx + az bx cy - az by cx - ax bz cy - ay bx cz )
0560デフォルトの名無しさん2006/07/30(日) 10:49:24
外積っていうより行列式に見える……。外積と行列式って関係あったっけ?
0561デフォルトの名無しさん2006/07/30(日) 11:00:04
そりゃあるさ
0562デフォルトの名無しさん2006/07/30(日) 12:06:07
>>558
外積
0563デフォルトの名無しさん2006/07/30(日) 16:12:50
n次元体積を求めるにはベクトル出して行列式で一発じゃないのか?
0564デフォルトの名無しさん2006/07/30(日) 16:14:36
3次元なら体積は (a×b)・c = det(a b c)だし
0565デフォルトの名無しさん2006/07/30(日) 18:27:31
精度や対応できる形状をどこまでの範囲にするか決めないとな
体積を求めたい多面体が凸でない場合は4面体の和に分割するところが面倒かもよ
凸多面体でも分け方によって誤差が変わってくるからそんなに簡単ではないかもよ
0566デフォルトの名無しさん2006/08/06(日) 16:49:43
おのおのの面に対して、原点とその面でつくられる錐体の符号付体積を足せばいいんでないの?
0567デフォルトの名無しさん2006/08/06(日) 18:06:17
向き付けはどうすんのよ?
0568デフォルトの名無しさん2006/08/06(日) 20:54:07
>566
対象が凸多面体で原点を多面体の内部か表面にとればそれは正しい
0569デフォルトの名無しさん2006/08/06(日) 21:45:34
>>568
符号付き、というのはたぶん
原点から見て裏面が見えてるときはマイナスの体積、ということだろうから
そうすると原点に関して星状であるという条件はいらなくなるよ

Aが星状というのは原点とAの任意の点とを結ぶ線分がAに含まれることね
0570デフォルトの名無しさん2006/08/06(日) 23:55:55
あ、ほんとだ
0571デフォルトの名無しさん2006/08/07(月) 12:48:29
NURBS曲面同士の衝突判定がしたいんだけど
便利なライブラリ or 公式とかある?

もしもなかったら、
衝突判定がしやすい曲面の表現方法教えてもらえませんか。
0572デフォルトの名無しさん2006/08/07(月) 21:29:19
どんなものを表現したいのかね
0573デフォルトの名無しさん2006/08/07(月) 21:41:17
NURBSやベジェのように、制御点を移動することで
形状を簡単に変えることができるものであればいいんですが、
球も表現したかったのでNURBSを考えていました。
0574デフォルトの名無しさん2006/08/08(火) 11:21:05
>>571
NURBS曲面かどうか調べてないが、Newtonとか言うGAME向けの物理演算ライブラリがある
0575デフォルトの名無しさん2006/10/01(日) 18:50:02
当選小計率 (数.数%) = 当選小計 ÷ 販売額 × 100倍%
当選口指数 {数.数} = 当選口数 ÷ 販売口数 × 100万倍
http://sea.advenbbs.net/bbs/yybbs.cgi?mode=res&no=1593&id=loto66
0576デフォルトの名無しさん2006/10/04(水) 20:30:01
中学あたりからの学習要綱を網羅した数学ドリルサイトみたいなのないですか?
0577デフォルトの名無しさん2006/10/12(木) 11:02:11
サンプルコードが理解出来ないレベルなら、素直に諦めて勉強し直した方がいい。
■ このスレッドは過去ログ倉庫に格納されています