- 1 名前:デフォルトの名無しさん [04/09/05 16:22]
- プログラムに必要な数学、算数に関する話題について
語りましょう。TIPS/Q&Aスレです。
- 432 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 15:50:22 ]
- サンプルを少数表記じゃなくて整数比で示してくれないか?
その方が解析しやすい。
- 433 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 15:55:04 ]
- 知ってるかどうか知らないが、
小数点以下の数を10進表記するとそれだけで誤差が含まれる。 だからこの場合、実数に換算しないで考えたほうがよい。 つまり計算させてる事例に関わる整数の比がないと 何が行われているか正確なことはわからない。 LPtoDP()ってことは窓の大きさとディスプレイの解像度が絡むんだろ?
- 434 名前:デフォルトの名無しさん [2006/03/10(金) 16:18:42 ]
- 固定少数点で負数の時だけ処理するのを条件判断を使わずにやりたいなら、
ret = (2 * a + b*sgn) / (2 * b); として sgn を 1か-1にすればいい あるいは ret = (2 * a + b*(sgn+1)-b) / (2 * b); とすれば sgn+1 は 0か2なので 0か-1の変数fを使い ret = (2 * a-b + 2*b&f) / (2 * b); xor結果の最上位で fを-1か0にすればいい ・右へのビット幅だけシフト ・インラインアセンブラを使って符号拡張命令 して、符号ビットを埋めて ゴチャゴチャやる方法があるけど、そんなの使いたい?
- 435 名前:デフォルトの名無しさん [2006/03/10(金) 16:27:53 ]
- 他に
ret = (2 * a + (b^t)) / (2 * b); として tを 0か-1とする方法もある でもたぶん ret = ( a + ((b^t)>>1) ) / b; あたりでやってんじゃないかな
- 436 名前:423 mailto:sage [2006/03/10(金) 18:01:03 ]
- みなさん、どうもありがとうございます。
>>432 >>433 座標変換のための設定は以下の通りです。 // マッピングモード設定 ::SetMapMode(hDc, MM_ANISOTROPIC); // ウィンドウ領域 (0, 0) - (1000, 1000) ::SetWindowExtEx(hDc, 1000, 1000, NULL); ::SetWindowOrgEx(hDc, 0, 0, NULL); // ビューポート設定 (0, 0) - (10, 10) ::SetViewportExtEx(hDc, 10, 10, NULL); ::SetViewportOrgEx(hDc, 0, 0, NULL); 単純にウィンドウからビューポートへ(1/100)倍する変換です。 ウィンドウ、ビューポートのx座標をそれぞれ wx, vx として -1000 <= wx <= 1000 の範囲で変換してます。 変換式は憶測ですが vx = wx * (10 / 1000) で求めていると思われます。 四捨五入の「入」、「捨」の境界は以下のとおり 0.46〜0.47 です。 (これ以外の146, 246, ...、-154, -254, ... でも同様の結果です) wx = -54 → vx = -1 (-54/100 → -0.54 → -1 + 0.46 → -1) wx = -53 → vx = 0 (-53/100 → -0.53 → -1 + 0.47 → 0) wx = 46 → vx = 0 (46/100 → 0.46 → 0 + 0.46 → 0) wx = 47 → vx = 1 (47/100 → 0.47 → 0 + 0.47 → 1) >>434 その方法だと>>423のバージョンAと同じになってしまうんです。 今は>>424のバージョンB方式の四捨五入の実装方法で迷ってるんです。
- 437 名前:423 mailto:sage [2006/03/10(金) 18:03:48 ]
- 追加情報で、ウィンドウ領域とビュー領域の数値は32bit(int型)で設定可能なのですが
MSDNで調べたところウィンドウ領域は32bitを保証してビューポートは27bitしか保証しないと 明記されてます。 残り5bitを小数部とした固定小数点で計算とかをしているんですかね?
- 438 名前:434 [2006/03/10(金) 18:21:37 ]
- >>436
折角書いてやったんだから、ちゃんと読め! いいか その>>424のバージョンB ってのは a/bの符号によって 符号負 ret = (2 * a - b) / (2 * b); 符号正 ret = (2 * a + b) / (2 * b) としたいわけだろ? 符号を sgn +1/-1 なら ret = (2 * a - b*sgn) / (2 * b); だろが!
- 439 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 18:57:40 ]
- >>438
論外 ポイントになるのは、0.1刻みとして(-2.5〜-1.6), (-1.5〜-0.6), (-0.5〜0.4), (0.5〜1.4) をどうやって同じグループにするかということ
- 440 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 19:21:54 ]
- 素直に floor(val + 0.5) いっとく?
- 441 名前:434 [2006/03/10(金) 19:27:10 ]
- ああ、そりゃ悪かったな。 しかし多少修正すりゃいいことじゃないか
単に >>435の符号を入替えて int div(int x,int y){ int sgn=x^y; sgn=sgn>>31; return (x-((-y^sgn)>>1))/y; } x/y = div(x,y) -20/10= -2 -19/10= -2 -18/10= -2 -17/10= -2 -16/10= -2 -15/10= -1 -5/10= 0 5/10= 1 15/10= 2 -14/10= -1 -4/10= 0 6/10= 1 16/10= 2 -13/10= -1 -3/10= 0 7/10= 1 17/10= 2 -12/10= -1 -2/10= 0 8/10= 1 18/10= 2 -11/10= -1 -1/10= 0 9/10= 1 19/10= 2 -10/10= -1 0/10= 0 10/10= 1 20/10= 2 -9/10= -1 1/10= 0 11/10= 1 -8/10= -1 2/10= 0 12/10= 1 -7/10= -1 3/10= 0 13/10= 1 -6/10= -1 4/10= 0 14/10= 1 これでいいんだろ?
- 442 名前:434 [2006/03/10(金) 19:32:15 ]
- たぶん、
ホントは四捨五入でret = (2 * a + (b^t)) / (2 * b) を使いたかったけど2つある2倍が嫌なんで ret = ( a + ((b^t)>>1) ) / b; としたら、プラス側が6で変化したんで ret = ( a - ((-b^t)>>1) ) / b; として、まあマイナス側に-6で変化したっていいやで 計算量優先にしたんだろ
- 443 名前:434 [2006/03/10(金) 19:59:13 ]
- いや、もしかして
abs(x) の代わりに (x>>31)^x のようなのを使ってて出た誤差かな
- 444 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 20:05:54 ]
- (2*a + 2*a*a*b - b) / (2*b) + 1 - a*a
- 445 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 20:28:42 ]
- >>423
またおまえか。
- 446 名前:423 mailto:sage [2006/03/10(金) 21:07:51 ]
- みなさん、ありがとうございます。
とても参考になりました。 特に>>434さんの方法には脱帽しました。 異符号の場合に -1 と XOR して1の補数を用いるなんて思いもつきませんでした。 と言っても、まだ完全には理解できてはいないのですが 先にお礼を言っておきたかったので。 本当にありがとうございました。
- 447 名前:434 [2006/03/10(金) 21:28:04 ]
- ごめん。 変な方法使うより
#include <stdlib.h> に div という関数がある 除算とあまりを出す関数だ div_t d=div(x+y/2,y); if(d.rem<0) d.quot--; で d.quot を使えばいい 条件判断を無くしたいなら d.quot+d.rem>>31 でいい たぶんコレが正解だろう
- 448 名前:434 [2006/03/10(金) 21:30:52 ]
- ようするに、結果見ると、変な四捨五入じゃなくて
普通の四捨五入をやりたいって事にやっと気付いた。 すまんな。
- 449 名前:434 [2006/03/10(金) 21:40:25 ]
- ちなみに試したコード
#include <stdlib.h> int divd(int x,int y){ div_t d=div(x+y/2,y); return d.quot+(d.rem>>31); } int divd(int x,int y){ div_t d=div(x*2+y,y*2); return d.quot+(d.rem>>31); } 結果はどっちも >>441 と y=10では同じになる
- 450 名前:434 [2006/03/10(金) 22:11:31 ]
- 言い訳すると >>427 で
>単純に0.5を足して切り捨てると除算結果が負数の場合に問題があるのです に騙されてしまった。 単純に0.5を足して切り捨てるのをやりたかったのだろう。 ただ、X86では除算の結果が負数になる場合は余りも負数になる。 a/b= n余りsなら a = n*b + s = s+b+(n-1)*b となる修正をすればいい アセンブラで書けば、 cdq idiv sqr edx,#31 add eax,edx と4命令
- 451 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:13:38 ]
- >>441は xが正でyが負のときおかしい。
かけ算はいってるけど int func(int a, int b){ int absa = (a >> 31) ^ a; return (a + absa*b + (b>>1)) / b - absa; }
- 452 名前:434 [2006/03/10(金) 22:18:43 ]
- >>451
そうだね。他に y=1の時も >>441は変になるだろう >>449なら大丈夫な筈だ
- 453 名前:434 [2006/03/10(金) 22:21:39 ]
- アセンブラの sqr は sarのタイプミスだ >>950
アセンブラだと4行なのに 使わないと除算とmodを別に計算するか div 関数を使う必要があるのが面倒な所 div関数だと結果も構造体渡しだからメモリアクセスが入って遅くなる
- 454 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:27:09 ]
- 今一状況がわかんないんだけど、divの定義見た?
あんなの使う気にならないんだけど。
- 455 名前:434 [2006/03/10(金) 22:34:07 ]
- >>454
だったらインラインアセンブラでやるといいよ。 cだけで書くなら x+=y/2; int r=x/y; if( (x % y)<0) r--; return r;
- 456 名前:434 [2006/03/10(金) 22:54:48 ]
- >>451
原理としては、 余りが負数にならないように巧くオフセットを加えてるわけだよね 巧い方法だけど、 a b が大きい時にオーバフローの問題が起きるね。 abs*a ではなくて aよりも少しだけ大きい bの倍数 を計算させた方がいいのでは? この場合 >>436 のように座標計算に使うのだから、 マッピングモード設定 時に予め計算させておけばいい
- 457 名前:434 [2006/03/10(金) 22:56:56 ]
- ああボケてるな マッピングモード設定 時にはaが判らないのだから予め計算出来る筈がない
- 458 名前:デフォルトの名無しさん [2006/03/10(金) 23:12:33 ]
- 学校の宿題なのですが、
廊下にたっていて、向かい側の壁にはたくさんの開くドア又は開かないドアA,B,C。。。。が無限にあって、 それを開くかどうか確認したい。 スタートはAとーAの間にいる。 。。。|D|C|B|A|−A|−B|ーC|−D|。。。っとドアが続く 最初に地点から一番近い、開くドアを見つけたいが、動く距離をxとして、 距離の総和がO(x)ペースになるように探したい。 例えば、A,−A,B,−B,C,ーCの順番で探していくと、 動く距離が、1、2、3、4、5,...nとなり、距離の総和は1/2*(n)*(n-1)となり、 O(X^2)のペースになるから駄目である。 っていう問題なのですが、何か良い探し法、アルゴリズムありますかね?
- 459 名前:434 [2006/03/10(金) 23:13:40 ]
- aよりも少しだけ大きい bの倍数 だけど
( abs(a/b)+1)*b でどうだろ? 除算が遅いなら | b|をシフトしていって |a| を超えた所でもいいか
- 460 名前:434 [2006/03/10(金) 23:21:43 ]
- >>458
で、開いてるか開いていないかの確率はどの程度なの? というか確率を仮定して 右方に N1内で調べてみてなければ右側にN2個調べて 見つかる確率を求めてみたら? 右側で M番目に開けば左側でM番目まで調べ調べればいいでしょ
- 461 名前:デフォルトの名無しさん [2006/03/10(金) 23:29:11 ]
- 確率は問題には確定されてないです。
それも考えたのですが、例えば、3つずつの固まりで調べていくとして、 C,B,A,-C,-B,-A, F,E,D,−F,−E,−D 距離を考えていくと、 (3+1+1)+(3+1+1)+ (6+1+1)+(9+1+1)+、、、 となって、総和はどうなるのでしょう。。。
- 462 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:40:17 ]
- 初期位置より右側を線形探索形に (-A,-B,-C,...) するようにして
初期位置より左側を A , C , E と2個おきに移動 して末端 n で(奇数個偶数個で微調整か?) .... F D B と戻ってくれば O(x) っぽくならない?
- 463 名前:434 [2006/03/10(金) 23:47:52 ]
- だいたいこういうのは2倍づつ調べるのを増やすんだろうけどなあ
- 464 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:51:11 ]
- >>458
左の方を一つ探す「A」 右の方を二つ探す「-A, -B」 左の方を四つ探す「B, C, D, E」 右の方を八つ探す「-C, -D, -E, -F, -G, -H, -I, -J」 この要領でいけないかな。
- 465 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:55:52 ]
- >>458
>A,−A,B,−B,C,ーCの順番で探していくと、 >動く距離が、1、2、3、4、5,...nとなり、距離の総和は1/2*(n)*(n-1)となり、 >O(X^2)のペースになるから駄目である。 「調べないけど移動してる」に オーダーのコストかかってる?
- 466 名前:デフォルトの名無しさん [2006/03/11(土) 00:06:37 ]
- >>464
そうすると、kブロックに区切って、 (1)+(1+1)+(3+1+1+1)+(7+1+1+1+1+1+1+1)+(15+1+1+1+1+1+...)+ = 1+1*2+3*2+7*2+15*2+....+?
- 467 名前:デフォルトの名無しさん [2006/03/11(土) 00:08:01 ]
- 立ち止まる=調べる、
動く距離=そこで調べるの意味だと思います。
- 468 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 00:31:55 ]
- >>464で、x番目に調べるまでの距離の総和をf(x)とすると、
f(2^n-1) = 2*Σ{i=1..(n-1)}(2^i-1) = 2*((2^n-2)-(n-1)) <= 2*2^n 2^(n-1) <= x <= 2^n-1のとき、 f(x) <= f(2^n-1) <= 2*2^n = 4*2^(n-1) <= 4*x よってO(x)
- 469 名前:デフォルトの名無しさん [2006/03/11(土) 01:10:36 ]
- >>468
なるほど。 助かりました。 ありがとうございました。
- 470 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 22:27:00 ]
- (0,1)における実数の集合が、可算無限集合ではないことを背理法と対角線論法を使って証明するやつだけど、
いまいち何やってるか分からないんだよね。 分かった気にはなるけど、どうもしっくりこないっつうかなんつうか。 他に証明方法とかあるのかね?
- 471 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 22:38:27 ]
- >>470
有理数列と実数の部分集合に1対1の対応が作れる 有理数列は自然数→有理数の写像とみなせる 自然数→有理数の写像の濃度は アレフ0^アレフ0 = 2^アレフ0 アレフ0 < 2^アレフ0 (ある集合の濃度が N のとき、その冪集合の濃度は 2^N、 ある集合とその冪集合の間にはどうやっても全単写が作れない) なので、可算濃度<実数の濃度
- 472 名前:デフォルトの名無しさん [2006/03/16(木) 13:32:51 ]
- 冪集合がわからんヒトがいると見た。
- 473 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 08:50:19 ]
- 数学板から誘導されて来ました。
QRを解析するプログラムを作ろうと思っているのですが、 誤り訂正複合のリード・ソロモン符号の複合の仕方が分かりません。 R=(r0,r1,r2,r3...,r25) R(x)=(r0+r1x+r2x^2+...+r25x^25) ここにri(i=0〜25)は、GF(2^8)の元とする。 とあり、r0-r25に間違っていないデータ(0-255)を代入しているのですが、次のシンドロームを求める式でシンドロームが0になってくれません。 シンドロームSiを求める式 S0=R(1)=r0+r1+r2....+r25 S1=R(a)=r0+r1a+r2a^2....+r25a^25 データをr0-r25に代入して、それらをGF(2^8)の法100011101(a^8+a^4+a^3+a^2+1)で割っているのですが0になりません。 もう数日煮詰まっています。お願いします。何方かご教授して下さい。
- 474 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 09:42:13 ]
- >>473
誰かのコードを参考にするといいよ 例: isw3.kankyo-u.ac.jp/project/2004/project/1013063.pdf
- 475 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 11:04:44 ]
- >>474さん、ありがとうございます。
ありがたく拝見させてもらいましたが、残念ながら書き込みの処理しか載っていませんでした。 (書き忘れて申し訳ございませんが、473で書いた部分はQRを読み取る部分の処理です) 他にもあるかもと思って「誤り訂正 QR」などで検索を掛けてみましたが、書き込みに関する部分ばかりで、 読み取り解析に関するサイトは見つかりませんでした。 JISの企画書もシンドロームを求めるとしか書いてありませんし、もう、完全に行き詰っています。 どんな些細な事でも結構ですので、アドバイスを頂けないでしょうか。 お願いします。
- 476 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 11:27:53 ]
- >>475
その部分のコード晒してみて、 + は XORの事とか 掛算は足算の事とか、そこらへんは判ってるんだよね?
- 477 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 11:37:40 ]
- >>475
じゃあココのは見たの? オレは中身はみてないけど sourceforge.jp/projects/qrcode/
- 478 名前:デフォルトの名無しさん mailto:sage [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さん、 このプログラムは知りませんでした。早速今から落として見て見たいと思います。 ありがとうございます。
- 479 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 13:24:07 ]
- >>478 やっぱり計算式が違うよ >>474のcalculate.javaをよく見てみて
- 480 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://www.microsoft.com/japan/windowsxp/64bit/default.mspx [2006/03/18(土) 19:44:49 ]
- TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
- 481 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 23:37:58 ]
- ラジアンをぶつかった壁に対して面対称で
XだけYだけ90°ひっくり返すにはどうすればいいの?
- 482 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 23:56:28 ]
- いや言ってる意味が良くわかりませんから
- 483 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 00:24:24 ]
- ビリヤードか
- 484 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 00:45:38 ]
- vy = -vy;
vx = vx + 90/180*PI
- 485 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 11:03:21 ]
- >>483 ビリヤードなら90度というのがどこから来るのか・・・・
- 486 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 16:05:35 ]
- 必ず90度で跳ね返るPONGでも作ってみるか
- 487 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 16:42:10 ]
- その場合、速度はどうなるのん?
- 488 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 17:22:36 ]
- 必ず180で反射するコーナーリフレクターは実在するけど
必ず90度ってどうやるんだ?
- 489 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 17:24:03 ]
- 三角関数?簡単なブロック崩しだったらそんなの使わんぞ
つーか、玉の軌道をX軸かY軸で反転すれば問題なし。
- 490 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 18:44:58 ]
- さて、ここで唐突に「三角関数」とか出てきたわけだが
- 491 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 18:52:43 ]
- 「プログラマが今まで「これはすげえ」と思ったゲーム」
の149からの流れがここに? pc8.2ch.net/test/read.cgi/prog/1134791216/149-
- 492 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 19:24:06 ]
- ttp://www.dango-itimi.com/blog/archives/2005/11/1.html
斜面への衝突判定と反射1
- 493 名前:デフォルトの名無しさん [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関数ではないことを示せ。 なのですが、どなたか分かる方、助けてください。
- 494 名前:デフォルトの名無しさん mailto:sage [2006/03/23(木) 12:28:39 ]
- 定義は知らんがアバウトに考えて、
剰余が絡んでる段階で多対一関数だから1方向だろうし collision-freeではなさそうだわな。 証明は2つの値が実際に1個の値になる例を計算すればいいんじゃね?
- 495 名前:494 mailto:sage [2006/03/24(金) 16:59:01 ]
- エエカゲンに書いたのに誰も突っ込まない…。
ほ、放置プレイ?
- 496 名前:デフォルトの名無しさん mailto:sage [2006/03/24(金) 18:30:11 ]
- 定義がないのでなんともはや
- 497 名前:デフォルトの名無しさん [2006/03/28(火) 08:18:12 ]
- sin(x)/x
Q1 って関数に名前を付けたいけど適切な名前は? Q2 浮動小数点なので計算方法は単純に abs(x)<0.0001 の時は1-x*x/6 でなければ そのまま計算でいいよね?
- 498 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 08:53:02 ]
- キャラの座標は
左上と真ん中 どちらのポイントを保持して使うべきですか
- 499 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 08:55:22 ]
- >>497
sine_x_per_x()
- 500 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 09:01:48 ]
- >>498
いまどきどこでもいい。 処理によって必要な座標は違う。例えばサイドビューのジャンプアクションなら足元座標も使う。 必要な座標を計算するメソッドがあればそれでよい。 数学関係ない。
- 501 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 12:19:04 ]
- >>497
それは一般的にsinc関数と呼ばれている。
- 502 名前:497 mailto:sage [2006/03/28(火) 12:41:21 ]
- >>501 ありがとう
- 503 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 17:19:04 ]
- >>498
RPGの座標には、マップ上の座標と表示する座標があるが、 マップ上の座標で保存する。 表示する時には、表示する座標に変換して表示する。
- 504 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 17:58:28 ]
- >>503
キャラといえばRPGしか連想できないゲーマーですか?
- 505 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 23:55:29 ]
- すまん。
でも数ピクセル単位で動かす事になるとおもうから、 その動かせる単位の位置を保存して、 表示する位置に変換するって感じで使えるかも。
- 506 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 10:10:24 ]
- 座標は数学でしょ
- 507 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 17:34:46 ]
- 2Dゲームを作っているのですが、
640×480の画面に32×32の画像をしきつめようとすると、 右端と下端がきれいにそろわず、ちょっとはみだしたりしまいます。 これって例えば何が原因で起こるのでしょうか。
- 508 名前:デフォルトの名無しさん [2006/03/29(水) 17:45:27 ]
- ■■■■■■■■■■■■■■■■■■■■ どういう状況なの?
■■■■■■■■■■■■■■■■■■■■ 20x15 で普通に敷き詰められるよね? ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■
- 509 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 18:10:03 ]
- >507
まさか浮動小数点演算が介在してたりせんだろうな?
- 510 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 18:33:53 ]
- >>507
>例えば何が原因で ・計算間違い ・勘違い ・お門違い
- 511 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 18:39:10 ]
- 基地(ry
- 512 名前:デフォルトの名無しさん mailto:507は小学生? [2006/03/29(水) 20:09:24 ]
- >>507
右端は揃うんじゃマイカ? マジレスすると、敷き詰める画像のサイズが640と480の公約数である必要がある。
- 513 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 20:17:27 ]
- どうしても正方形が好きならね。
- 514 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 22:22:06 ]
- 480って32で……あれぇ?うぅー?
- 515 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 23:42:36 ]
- 勘でいうとAdjustWindowRectしてないから
- 516 名前:デフォルトの名無しさん mailto:sage [2006/03/30(木) 09:24:33 ]
- テクスチャで貼っててピクセルがずれている悪寒。
- 517 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 01:31:23 ]
- >>498
>>507 お前さ いい加減あちこちにマルチポストするの止めろよ もしくは解決したなら解決したと全てのスレに書いて回れ
- 518 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 23:45:54 ]
- 地球の下側は反対に回っているってどういう意味ですか?
上も下も繋がっているんだから回る方向は同じじゃないの?
- 519 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 02:22:08 ]
- >>518
オーストラリアの世界地図 でググってみるといいかも 方向という単語の意味の問題だから、ここはスレ違いかも
- 520 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 03:18:09 ]
- 北半球の人間はオーストラリアが下だろと認識している
南半球の人間はロシアが下だろと認識している
- 521 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 04:01:57 ]
- 南半球では西から日が昇るんだよね?
- 522 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 11:13:29 ]
- 右からだよ
- 523 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 08:07:38 ]
- ラグナロクみたいなオンラインゲームでステータスを表示したり、
所持アイテムを表示したりする、ウィンドウについて。 これって、どうやって実装してるんでしょうか? ただ単に固定されてるウィンドウをつくるなら、ウィンドウのテクスチャ描いて、 それを張って、座標が決まっているのでそこに文字やらなんやら表示すれば良いと 思うんですけど、 オンラインゲームに存在するウィンドウって、windowsのウィンドウみたいに マウスでクリックすると自由に動かすことができますよね? これって、APIで一つ一つ子ウィンドウを作って、そこに表示させてるんでしょうか? もしくは、他に方法とかあるんでしょうか、助言をよろしくお願いします。
- 524 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 08:27:33 ]
- pc8.2ch.net/test/read.cgi/gamedev/1137730564/543
- 525 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 08:28:25 ]
- >>523
つ[DirectX] 後スレ違い。
- 526 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 14:00:59 ]
- DirectXは直接的にはかんけいないだろ
- 527 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 04:30:12 ]
- >>523
>>517
- 528 名前:デフォルトの名無しさん mailto:sage [2006/04/07(金) 13:54:31 ]
- >526
「数学と算数」よりは関係あるけどな。
- 529 名前:デフォルトの名無しさん [2006/04/24(月) 11:15:56 ]
- >528
そうか?
- 530 名前:デフォルトの名無しさん [2006/04/24(月) 13:10:28 ]
- >>528
クリッピングや論理演算は数学の範疇だと思うんだけどな
- 531 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 12:28:25 ]
- ハァ?
DirectXはスレ違いだし、クリッピングの話なんてどこにも出てないが?
- 532 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 14:21:17 ]
- DirectX 描画者たち
窓の中の昴〜♪
|

|