検索結果 1580 件

by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: キーボードを同時に押した場合の速度の変更について
返信数: 2
閲覧数: 648

Re: キーボードを同時に押した場合の速度の変更について

とりあえず同時押しの判定が矛盾していると思う.
(「e.KeyCharの値はaであるが,同時にdでもある」なんてことはない)
何が起こっているのかを把握するために
KeyPressedイベントハンドラで,e.KeyCharの値をどこかに表示してみてはどうでしょうか.

あるキーが押されている期間 を知るためには
「キーを押したとき」と「キーを離したとき」の両方のイベントを用いて判断する必要があるのではないでしょうか.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

元の折れ線データの各中間ノードにおいて4点(カーブ外側3点,内側1点)を算出することをやってみた.
Fig1.png
図1
Fig1.png (7.15 KiB) 閲覧数: 2216 回
計算内容は長々と文章で書くより図を見た方が早いかと.
* 赤青2本の矢印は元の折れ線のエッジの法線
* 緑の線はその2本の矢印が成す角を2等分する線
SidePoly.png
算出結果
SidePoly.png (6.25 KiB) 閲覧数: 2216 回
* カーブ内側の点(緑線の下端)は,図2のオレンジ色の直角三角形で二重線で示した角のcosに関する式を立てればおk.
 (このcos値は矢印と緑線の内積から算出可能)
Fig2.png
図2
Fig2.png (8.98 KiB) 閲覧数: 2216 回
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

「アルゴリズム」という件名なので,一応,プランB(画像処理なアプローチ)でやった事柄も記しておく. (B1)初めに,与えられた折れ線をスプラインで曲線的な形に加工したが,  これはMustではない.元の折れ線のままでもいい. (B2)「道路の絵」を描くのに十分な広さの画像領域を準備し,テキトーな背景色で塗りつぶしておく.  (B1)の折れ線上の全ての位置(実際は適当な間隔でサンプリングした位置で良いが)に関して,  その位置を中心とし直径を(道の幅)とした塗りつぶし円を描画する.  (要は,めちゃくちゃ太いペンで折れ線を描いた) (B3)カーブ内側の外周形状を丸めるために,  (B2)の絵を(...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

スプラインは,数式が簡単で実装容易なCatmull-Romスプラインを使いました.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

カーブが極端にきつい個所の内側はどうなるのが正解なのだろう?
HairpinCurve.png
滑らかさを求めるとすごく幅広になるよね
HairpinCurve.png (6.42 KiB) 閲覧数: 4787 回
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

ヒャッハー! プランBだー!
画像処理していいなら,なんとなく丸められるよね.
ImgProc.png
OpenCVでおk
ImgProc.png (10.15 KiB) 閲覧数: 4789 回
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

サイト重すぎの影響か?
文章と添付ファイルが中途半端にしか投稿されてないやん.なんだこれ.

ダメなパターンはこうなる.
BadPtn.png
BadPtn.png (10.27 KiB) 閲覧数: 4792 回
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

元の折れ線データ(緑)からスプライン曲線(赤)作って,
それを適当に両側に移動(青と紫)…
添付ファイル GoodPtn.png がありません
…とか思ってたら,こういうことかー!
GoodPtn.png
一見,まぁ良さそうだが…
GoodPtn.png (10.28 KiB) 閲覧数: 4794 回
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: opencvのsobelフィルタについて
返信数: 13
閲覧数: 1944

Re: opencvのsobelフィルタについて

オフトピック
その昔,連続関数に関して導出された処理アルゴリズムを離散データに転用しようとした際に
「微分値」の解決にSobelフィルタを脳死的に用いちゃった奴がいたんですよ……
(わたしです^^)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

オフトピック
絵を描いてデータ化~ という話はあれですよ,
画像処理的手段で境界線の座標列を取得すればいいよね的な話.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: opencvのsobelフィルタについて
返信数: 13
閲覧数: 1944

Re: opencvのsobelフィルタについて

>以下のページで「微分画像」があります。 微分画像という単語は一般的ですが,今回,「微分値」を求むことが目的とのことであるため, Sobelフィルタで得られた(絶対値が不明瞭な)値が,欲しい「微分値」とイコールなのか否か,という点を微妙に危惧しただけです. (Sobelフィルタカーネルを畳み込んだ結果の値が,数学で言うところの ∂f(x,y)/∂x とイコールではないですよね. 細かいことを言えば「原画をガウシアンでぼかしたデータに対する,幅を持った中央差分」的な演算が,目的に見合うのか否か,という話も?) >例外,エラー atのテンプレート型引数が間違っているように見えます. その書き方だと...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: opencvのsobelフィルタについて
返信数: 13
閲覧数: 1944

Re: opencvのsobelフィルタについて

>RGB別のレイヤーで見るとBが一番目立たなくて、RかGが多い場合が多いです。

えっと……だから何?

画像データ中のどの信号がどれだけ重要なのかは
{入力画像次第,質問者の用途次第}ではないのでしょうか.

(というか,そもそも【OpenCVのsobelフィルタについて】の質問なんだけど)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: opencvのsobelフィルタについて
返信数: 13
閲覧数: 1944

Re: opencvのsobelフィルタについて

オフトピック
余計な心配かもしれませんけど…

> 各画素での一次微分値をsobelで求めるのが目的

欲しい「微分値」って何ですか? というのを
しっかり考えて(=定義して)おかないと意味不明なことになりそうな気もしますが……

・そもそも,画像データの「微分」って何ですか?
・Sobel()を使うとして,カーネルサイズ引数とかを変えれば当然出力値も変わるけど?

とか,そういうあたりの話は用途上大丈夫なのだろうか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: opencvのsobelフィルタについて
返信数: 13
閲覧数: 1944

Re: opencvのsobelフィルタについて

(Sobelフィルタって何ですか? 的な意味くらいはググって下さい) > 微分画像の各画素値の取得などは出来るのでしょうか? OpenCVを使っているなら,そもそもSobel()には計算結果受取用のバッファを渡すハズです. そのバッファの型から,アクセス手段は自明ではないでしょうか. > 何の微分値が出るのでしょうか?RGBでしょうか? それは,入力する画像次第でしょう. (そもそも計算を行っている箇所(Sobel()の内部)では,入力されたデータがRGBなのか何なのかはわからないですよね.単なる値の塊ですから.) 例えば,グレースケール画像を入力したなら,出力はそのグレー値に関する微分値です...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

データの作成方法がどんな手段でも良いなら,最も楽な方法の1つは
「幅Wの線」を絵として描画してそこからデータ化すれば良いかと.
(カーブ形状が定まれば,そのカーブ上の全点において,直径Wの塗りつぶし円を描画すればいい)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 太線の描画アルゴリズム
返信数: 34
閲覧数: 5855

Re: 太線の描画アルゴリズム

(1)
>幅W
を満たすような折れ線のペアを作る.
手っ取り早い方法としては,
元々与えられた折れ線の頂点群を「各頂点位置における折れ線の法線方向に」W/2だけ移動させたデータを作ればいい.

(2)
できた2つの折れ線データを適当にスプラインとかで曲線化する.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリの3D図形の回転
返信数: 4
閲覧数: 933

Re: Dxライブラリの3D図形の回転

オフトピック
DXライブラリというのを使ったことないので,
DrawCube3Dという関数の描画に効く回転手段があるのかどうか知りませんが……

三角形とか四角形とかいう単位でポリゴンを表示するための関数くらいはきっと存在するんじゃないかと思うので,
DrawCube3Dなる関数を使うのがmustでないならば,
ポリゴンN個で箱を構成してやるようにすれば,あとは自由に変形なりしてやれば良いのではないかと.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

>「PLAYERが下方向に進んでいる時の先の障害物調べる」処理

に限定した場合なら…

playerをある移動量だけ下方向に移動させた場合に
その移動先におけるplayerの当たり判定が図で白矩形で表される範囲であるとき,
図で赤くなっているマスのうちの最下段の4マスに関してのみ,それらが壁であるか否かの判定を行えばよい

…という話.
(この場合なら,Topの算出は不要で,{Bottom,Left,Right}だけ求めればいい)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

> ソースを見せるのに抵抗があるのでしたら、文章でも流れ図的なものでもいいんで > 具体的な説明お願いできませんか? 具体的… ざっくりこの程度の話をしているのですが,不足がある感じですか? (下記コード例は,下方向に移動したときの話に限定せずに,"player"の当たり判定矩形全域に関する形) //マップチップのサイズ[pixel] const int MAP_CHIP_PIXEL_SIZE = 16; //pixel座標から,マップindex座標への変換 // //ただし,素の計算結果のindex値が,マップ配列領域外になる場合には, //有効範囲ぎりぎりの値に修正した結果の値を返す. /...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

念のため補足しておくと, 私が書いているのは, >組み立て方 という側の話題に関する事柄のつもりで,質問者のコードが直面している問題への直接の答えではない. だから, 「別に質問者の方法はダメだからこうしろ」とか言っているわけじゃない.そこは誤解なきよう. 質問者のゴールは,質問者のコードのデバッグにあるハズ. > 最初からソースに対するそれくらいの議論、ないしは建設的な回答が頂ければな、 納得できない話かもしれないけれども, その議論自体が,解決のために不要かもしれない んですよね. 外界の人間がどこまで内容に突っ込まなきゃいけないのか,っていう程度が,外界の人間には最初からはわからない. ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

//調べるべき配列indexの両端を求む const int x_Left = PixelToArrayIndex( playerの当たり判定の左端pixel座標 ); const int x_Right = PixelToArrayIndex( playerの当たり判定の右端pixel座標 ); //調べるべき全配列要素について調査 for( int x=x_Left; x<=x_Right; ++x ) { //配列indexがxの箇所について判定 } この疑似コードにおけるxというのは, 質問者のコードにおいてfor文内で算出しているxに対応している. for内の //配列indexが...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

> 組み立て方 とかいう話に相当するかどうかわかりませんけども, 今回の当たり判定の処理というのは 「移動先の当たり判定矩形の底辺を形成する全ての画素について,その画素が所属するマス(配列要素)を調べる」 を行うことに相当すると思われ, だったらそれをその通りに書くのが最も手っ取り早い. 素直にfor文で書いたらpixel座標についてのループになる. 「全ての画素」についてループを回すのは明らかに無駄だと思うならば,forのstep量を適切に増やせばよく, その際に注意すべき事柄は,うっかり最後の座標がチェック対象から外れないようにすることくらいか. さて,(予想通りの無風状態だが) > 組...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C++で大文字小文字を区別しない置き換え+α
返信数: 6
閲覧数: 1301

Re: C++で大文字小文字を区別しない置き換え+α

わざわざ変数WordSizeがあるんだから

offset = FoundPos + WordUpper.size();
 ↓
offset = FoundPos + WordSize;

ですね.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C++で大文字小文字を区別しない置き換え+α
返信数: 6
閲覧数: 1301

Re: C++で大文字小文字を区別しない置き換え+α

置き換える場所を探す作業は,大文字(あるいは小文字)の世界で行い, 置き換えは作業は元の文字列をベースにして行えばよいのではないでしょうか. (雰囲気コード) //引数を全て大文字化した文字列を返す inline std::string ToUpper( const std::string &Src ) { std::string Ret = Src; std::transform( std::begin(Ret), std::end(Ret), std::begin(Ret), toupper ); return Ret; } //Srcの中で,BadWordの部分を '*'に置き換える. ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXでC++を用いた3Dゲームのジャンプ処理について
返信数: 2
閲覧数: 727

Re: DirectXでC++を用いた3Dゲームのジャンプ処理について

せめて関数の単位の形でコードを提示できませんか.
その抜粋の仕方だと,最初の3行と,以降の条件分岐の処理の関係性が不明です.

少なくとも

コード:

void SumFunction()
{
  //ここに提示コードまるごと
}
みたいな形ではないのですよね?

で,それはそれとして,
「playerPos.yを変化させる処理が走るには,条件( playerPos.y>0 )を満たす必要がある」という点が
「鶏or卵」みたいな状態になっていたりしませんか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語での三角形の面積の求め方
返信数: 7
閲覧数: 2670

Re: c言語での三角形の面積の求め方

> 絶対値をif文で処理する方法が分からなく

・絶対値を計算すること
・計算した絶対値を用いた条件文

の2つに分けたら,少しは見通しが良くなったりしますかね.

コード:

//例:
//aとbの差が10以下なら何かする
//

//「aとbの差(絶対値)」を求め,一旦,その値を変数に格納する
float TheAbs = fabs( a - b );  //※標準ライブラリを使う
//「aとbの差(絶対値)」が10以下なら…
if( TheAbs <= 10 )
{ 何かする }

> なぜかエラーが出るので;をうっています。。。。

なんつーかもう,そういう姿勢がダメ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

少ない情報からない頭で考えてみるに、複数の壁があるときにおかしくなるということを考えると、 そもそも当たり判定の判定先が一つなのが奇妙に感じます。 もはや無意味だとは思いまが,一応…… 質問者のコードでは, 判定先が一つ ということはないです. forの奇怪な繰り返し条件により,判定箇所(x)を算出するループが最低2回は回ることが保証されているので, あとは,この繰り返し内で,iの値毎に算出されるxの値が異なれば,複数の箇所が判定先になる.  ↓ つまり,このコードで真っ先に疑うところは, 【iによって変動するxの算出具合がおかしい】のだろうということ. (だから,結果として判定することにな...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

さて,もう見てないっぽいけども,もうちょっと回答っぽい雰囲気のことを書くならば…… この当たり判定コードで算出される xの値は連続した値を取ることが期待されるハズです. (そうじゃないと判定が「歯抜け」になってしまうから) 例えば, PLAYERposX = 1 PLAYER横幅 = 33 の場合を考えてみます.暗算で. forループは i={0,1,2} で3回まわるでしょう. i=0のとき,最初のifの条件に合致するので,xは0です. i=1のとき,elseブロックの処理により,xは0です. i=2のとき,真ん中のelse ifの条件を満たし,xは2です. この暗算が合っていれば,x=1に...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

全く役にも立たない無駄話だが, > 正面だけの要素を割り出し うまく動かない場合には まずこういう枝葉末節の高速化の工夫みたいな要素をやめて, 素直に"player"の当たり判定の形状全体に関して行ってみればどうか,とか思うわけ. というか,本当に碁盤のマスの個数がたかだか16x16しかないのであれば 調べるべき配列要素を全く絞り込むことなく, 「壁」である全N個( N <= 16x16 )に関して毎度総当たりで調べても,問題がないんじゃ?とか思われる. 以下は本件とも無関係なさらなる無駄話であるが, まずは「効率はともかくシンプルでわかりやすくて妥当な結果が得られる」方法 から初めて, そ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

オフトピック
> 処理の組み立て方

その塊コードじゃらちが明かない(から質問してるんでしょ?)なら
要素を細分化して,各処理の信頼性を確保した上で組み立てろ,というのは
「処理の組み立て方」のアドバイスには当たらないのか.

> 丸投げに感じました

これ,丸投げしている本人が言うのか.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

>ちなみに、当たり判定を描画して、なんて >やってますから。 >やってて、解決しないから相談してるわけで。 つまり,その描画結果を観測してみた結果として, 【問題が発生する状況下において 当たり判定と重なる配列要素全てが的確に列挙されていることと, それらのうちのいくつかが壁であるという妥当な判定結果が生成されていること までを確認できている】 という主張ですよね. (要するに,このとき,「"player"は壁に当たっている」という結果が得られている,と.) であれば 【問題の原因は「当たり判定」の処理ではない】 と結論づけられるのであって, あたなたの言っている > 私の記載したソース(考え...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

んー,だから,あなたの場合において調べるべき事柄を描画して見ましょうよ. playerが上に進む場合は云々~の結果として そのplayerの移動先に関して壁とぶつかるかどうかを判定するために「配列のどこどこの要素を調べることになったのか」という結果に不安があるなら,その結果を可視化してみればどうですか. おそらく,配列の1要素が表示上は16x16[pixel]の領域に相当するんだろうから, "player"の当たり判定領域と,調べることになった配列要素群に相当する領域とを描画すれば 「調べるべき配列要素を列挙する処理」がまともに動いているかどうかわかるでしょ. 何なら,「壁に当たる」と判定され...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

#む? 貼ったコード内の改行がいくつか失われた模様
オフトピック
プロジェクトの設定を「マルチバイト文字セットを使う」側にして
「文字列をcharの配列で表す」という世界でやるという選択肢だってありだと思うけど,いかんのかな.
OpenCV使ってるとファイル名とかにconst char*を求められるから,そうすることが多いんだけど.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

(1)VisualStudioでWin32プロジェクトを新規に作る → ビルドするとウィンドウが出るコードが生成される (2)てきとーに外部変数に wchar_t WStr[100]; とか追加 (3)_tWinMain()のど頭に以下を記述 { setlocale(LC_ALL, ""); FILE *fp = fopen( "Test.txt", "r" ); char Buff[100]; fgets( Buff, 100, fp ); mbstowcs(WStr, Buff, 100); fclose( fp ); } (4)ファイル Test.txt は メモ帳 でANSIで保存.内...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

オフトピック
これは完全に善意のアドバイス.

他の場でこの内容の質問を行う際には,
「答えが欲しいのであって,答えにたどり着くための方法を教えてもらいたいわけではない」旨を最初に断った方がよい.
(個人的な偏見(?)では,プログラム系の質問では,このような場合にはデバッグ方法に関する回答がなされる率が高いので,同じことになることが危惧される)

また,同一の内容を複数の個所で質問すると
「マルチポスト」とだけ指摘されて終わってしまうことになりがちなので,
ここのURLを提示して「別の箇所で質問したけども,らちがあかなかった」旨を述べた方がよい.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

そのような考えをお持ちなのであれば, 自身のコードを提示する時点で,コードの各所に関して「何でこのように書いているのか」の理由を明記した方がよろしいのでは? あなたのコードを見た人が > なんで mbstowcs が 3つもあるの? とかならないように. また,掲示板を見る他の初心者のことまで気に掛けるのであれば, 回答に不明瞭な点がある場合には,推測とか察するとかで終わらせずに, その時々でその回答をした相手に不明瞭な点を問うとよいのでは. (あなたの推測が正しくて話がそのまますんなり終わってしまったとしたら,まさにあなたが危惧する「初心者に理解できないログ」だけが残る事態になるのだから) ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

要するに,
【自分ではデバッグ作業とか一切やりたくないんだからお前ら勝手にバグ見つけて俺に教えやがれ.無料で.】
という主張ですよね.

理由を見つける方法の話とかいらねーから,最初から理由だけをよこせ と.
じゃあ,他者はあなたにその理由を教えるために,どうやってその理由を見つけるんだろうね?
バグの理由を見つけるのには一般に絞り込み作業が必要だと思う.
理由だけをよこせ という主張は,他人に絞り込み作業をやらせていることに他ならないと思うんだが.
でもそれは相手が勝手にやったことだ!と.

ぐだぐだ言っているけど,ただのクレクレ君ですやん.くだらねぇ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dの衝突判定がキッチリと出来ない、、
返信数: 24
閲覧数: 7541

Re: 2Dの衝突判定がキッチリと出来ない、、

オフトピック
どこをミスっているのかがわからないのは,処理を大きい塊で書いているからでは.
やるべき事柄をもっと小さい要素に分解して見てはどうでしょうか.
例えば,

・何もなく移動できた場合の,"PLAYER"の当たり判定(ここではPixel座標系(?)における矩形範囲か)を算出する処理
・Pixel座標系における矩形が与えられたとき,この矩形を包括するのに必要なマップのマスを列挙する処理

といった基本処理を書いて,それぞれをちゃんとテストする.
そうすれば,処理のどこの段階にミスがあるのかを絞り込みやすくなる.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

オフトピック
> CSVファイル読み取りなどの仕事でも使う機会の多いコードの解説サイトとか

個人的には,「C言語でCSV読む」機会とかまず存在しない感だが……

仮に,世間一般に於いてはそのような機会がすこぶる多いのだとしても,
「よーし,CSVファイル読んじゃうぞー」となった時点でやるべきことは明らかだし,何か特別難しいアルゴリズムとかが必要な話でもないので,解説に値する事柄が乏しい題材なんじゃないかな.
(Stateパターンの話で例としてCSV読込を取り上げているものは見かけたことはある)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32のCSV読み取りで文字化けする理由が分かりません
返信数: 31
閲覧数: 6016

Re: Win32のCSV読み取りで文字化けする理由が分かりません

#14の言い回しは,あれっすよ.TV番組ネタ. そもそもプログラマは教育者じゃないし,ましてボランティアで教育活動をすること求められる筋合いは無いんじゃないかなぁ. (何か,東京オリンピック的な考えですね.) まぁそれはそれとして…… 苦言的な(?)ことを言えば, ステップ実行という調査手段が得られたなら 「TextOutの出力結果を見て異常だったら,真っ先にTextOut時点でのデータの中身をチェックするっしょ」 というのは,なんというか,一般に期待される事柄だとは思うのですよね. (そして,当然ながら,中身がおかしいならばその原因追及を行うことも) 要するに, > 変数の値の変化を丁寧に見...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの書き方:『計算グラフ』的と非『計算グラフ』的
返信数: 10
閲覧数: 1655

Re: プログラムの書き方:『計算グラフ』的と非『計算グラフ』的

奇遇ですね.私もです.

この様子だと,素人解釈は邪魔でしょうし,
計算グラフなるものを使う分野の専門家が現れるのを待つしかないですね.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの書き方:『計算グラフ』的と非『計算グラフ』的
返信数: 10
閲覧数: 1655

Re: プログラムの書き方:『計算グラフ』的と非『計算グラフ』的

たしかに「計算グラフ」でググるとそれっぽい情報は見つかるが,
ここであなたが求めている
> 『計算グラフ』的なコーディングの仕方
っていうのは,一体どういうものを想定しているのか,何かもうちょっと具体性を持った事柄を言えないのですか?

例えば,各々の演算子を全てstd::unary_functionやstd::binary_functionのようなファンクタで実装したならば
> 『計算グラフ』的
なる事柄の要件を満たすのですか?

コード:

std::cout << cos(x)*y + log(y) * x
と素直に実装したならば,これは
> 非『計算グラフ』的
に該当するのですか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 関数に配列のアドレスを渡すという考え
返信数: 13
閲覧数: 1460

Re: 関数に配列のアドレスを渡すという考え

後半の方は何をおっしゃっておられるのかよくわかりませんが… void func(int arg[]){ ... } は void func( int *arg ){ ... } と同じ. 関数func内の arg[0] = 10; は *( arg + 0 ) = 10; と同じ. func( a ); なる呼び出しは, func( &( a[0] ) ); と同じ. 纏めると, void func( int *arg ) { *( arg + 0 ) = 10; } int main() { int a[] = { 0,1,2,3,4 }; func( &( a[0] ) ); } といった...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIのTextOutで変数を表示する方法が分かりません
返信数: 13
閲覧数: 2276

Re: Win32APIのTextOutで変数を表示する方法が分かりません

オフトピック
stringstreamとかじゃいかんのだろうか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム配布時、CSVが詰まったフォルダをなんとかしたい
返信数: 7
閲覧数: 1120

Re: ゲーム配布時、CSVが詰まったフォルダをなんとかしたい

オフトピック
暗号化してどうの…といっている時点で,少なくともユーザがデータを差し替えすることは考慮していないだろうし,
そのデータを(配布時点においても)外部ファイルからの読込にしておく意味がどれだけあるのか?

…とか考えると,
CSVのような簡単な構造のデータであれば,
ソースコード化してしまうという手もあるような気がする.
(exeと切り離しておきたいならDLLにでもしてしまえば)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体が意味をなしていない…
返信数: 7
閲覧数: 677

Re: 構造体が意味をなしていない…

あるファイルに(graph.hかな)に
ch_t って突然書いてみたら,
コンパイラに「ch_t ってのは何だよ? しらねーよ」と言われた,という感じですか.

> <struct.h>
というヘッダファイルを一体何のために書いたのか? どう使うつもりなのか?
というあたりを詳しく説明できませんか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数発生のアルゴリズム
返信数: 5
閲覧数: 868

Re: 乱数発生のアルゴリズム

任意の分布を指定できるものとなると難しそうですね.
(私が書いてるような方法論だと,確率密度関数そのものじゃなくて,累積分布を指定してもらわないとダメな形になりそうですね…)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数発生のアルゴリズム
返信数: 5
閲覧数: 868

Re: 乱数発生のアルゴリズム

実際の実装というのはわかりませんが, C++のdistribution系のソースを見るとかできれば何かわかるのかも?? 自分が思いつく方法としては, ある特定の分布を対象にした実装をするのであれば,積分区間を解くには 「例えばある程度の荒さのヒストグラム的なものを用意しておいて,そこから初期値を決定し,  後はNewton法みたいなのを使ってたかだか数回iteration計算すれば十分」とかなんかそんな感じのを試すかも? (この時点でもう既に遅いという話もありそうですが…) 分布が2次元でも,1次元の問題×2に分割するんじゃないでしょうか. (2次元の分布をスライスした断面図の面積を確率とする...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語で迷路の作成がわかりません
返信数: 2
閲覧数: 630

Re: c言語で迷路の作成がわかりません

> 動かす物体
が,動こうとする予定先の格子をチェックし,
移動不可能な格子なのであれば物体を動かさなければ良いのではないでしょうか.

 移動予定先 = 現在位置 + 移動量

という計算が自然かと思うのですが,この辺の事柄に関して
keyborad関数内の変数i,jの意味が不明なので,そこを見なすとよいかもしれません.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数発生のアルゴリズム
返信数: 5
閲覧数: 868

Re: 乱数発生のアルゴリズム

> 任意の(指定した)分布p(x,y)から乱数を発生する
…の意味がよくわりませんが,
何らかの偏りがある乱数をつくりたいという話でしょうか.

であれば,素人考えでは…
0~1の範囲の一様乱数Xを(標準のrandとかで)得られるとき,
確率密度関数の積分値がXになるような積分区間を解いて,その区間値を乱数の結果とすればどうかな,と.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 連立方程式を解くプログラムを多元線形連立方程式にするには
返信数: 20
閲覧数: 4833

Re: 連立方程式を解くプログラムを多元線形連立方程式にするには

(同一人物なのか,たまたまタイムリーに並列的に存在しただけなのか定かではないですが)
「for」に関してこちらのトピック等を参考にすべきでしょう.
viewtopic.php?f=3&t=20298
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ビンゴ【初心者です】
返信数: 9
閲覧数: 1125

Re: ビンゴ【初心者です】

・処理を必要な回数だけ行うようにしてみてはどうでしょう.  例えば,  穴をあける とか 斜め方向のビンゴ判定 とか  何度も繰り返す必要はないですよね.  ビンゴの判定自体,穴が開かなければやる必要ないですし. ・途中で止める方法が無いように見えます.ビンゴになるまで終われません.  例えば負の値を入力したら中止とか,そういうのがあってもよいのでは. ・あとは初期の表作成の方法の工夫とかですかね.  現在の方法だと,運が悪いと永久に終わらないかもしれない(!)ですよね.  所定の手順で必ず完了するような方法にしてみてはどうでしょう. ・動作面ではないですが,変数名が意味不明なのも改善したいと...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 2653

Re: Win32APIでの画像のダブルバッファが分からない

DeleteObjectを無闇に入れるのではなく,やるべきタイミングで必要なだけやりましょう.

DCに選択されているオブジェクトは削除できないはずなので,
DeleteObjectで削除するには,先に,DCに別のオブジェクトをSelectObjectして,削除したいオブジェクトの選択解除を行う必要があったと思います.
そのために,一般にはSelectObjectの戻り値を覚えておいて,最後にそれを選択し直す,ということを行います.
(この辺はGDIを使っているコード例を検索とかすれば見つかるはず)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 2653

Re: Win32APIでの画像のダブルバッファが分からない

2重ループ内だけ見ても70回LoadImageが走るわけですが,こういうことをするなら
その分(70回)のDeleteObjectが必要になりますよね.
そこらへんのところは大丈夫な感じですか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 2653

Re: Win32APIでの画像のダブルバッファが分からない

ものすごーく雑なイメージをコードっぽく書くとこんな. //デバイスコンテキストの雑なイメージ struct DC { HBITMAP m_hBmp; HPEN m_hPen; ... }; //DCへBitmapを指定する関数 HBITMAP SelectObject( DC *hDC, HBITMAP hBmp ) { HBITMAP hOldBMP = hDC->m_hBmp; hDC->m_hBmp = hBmp; return hOldBMP; //直前に指定されていたBitmapのハンドルを返す } //描画関数 void Ellipe( DC *hDC, ... ) { hDC->...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 2653

Re: Win32APIでの画像のダブルバッファが分からない

> SelectObjectでは、画像サイズを採取するので

「採取する」の意味合いがよくわかりませんが……

SelectObject(hCDC, hbmp);
は,
hCDCを介して(今後)操作する画像領域はhbmpですよ,っていう指定をしている.

以降,Ellipse( hCDC, ...) とかやれば,hbmp(が指すBitmap)に楕円が描かれるし,
BitBlt( hDstDC, ..., hCDC, ... ) とすれば,hbmpの内容を,hDstDC(を介して操作する対象Bitmap)に転送する.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 計算するプログラムを別の表現で表したい
返信数: 2
閲覧数: 1626

Re: 計算するプログラムを別の表現で表したい

この人,他所でも同様の話を延々とやってるけど,何か得るものがあったんでしょうかね? 「方程式」を,CやC++ではこの人のコードみたく(a *x1*x1 + b * x1 + c == 32 とかいう形で)書くことができないから 配列を使うことで表現する,そのことが何でそんなに気に入らないのか理解できないのですよね. (係数群を配列に格納したとして,そのコード内においてはそのデータが「方程式」として扱われるなら,何の不自由もないと思うのだが.) そして今度は繰り返しアルゴリズムも嫌だと. > Newton法など の数値計算アルゴリズムを実装する際には,一般に,iteration回数に制限をかけら...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 2653

Re: Win32APIでの画像のダブルバッファが分からない

「バックバッファ(裏画面)に描画して,その内容をフロントバッファに(1回のBitBltで)転送する」をしたいのですよね. であれば, バックバッファの画像領域サイズはフロントバッファ側のサイズと同じサイズで用意する必要があると思うのですが. バックバッファ用hCDCの作り立ての時点: > hCDC = CreateCompatibleDC(hdc); では,hCDCで操作できる画像領域というのは1x1のモノクロ画像になっているので,これでは用途に適さないから, (1)フロントバッファ側と同じサイズのBitmapを作成して (2)hCDCにSelectObjectでそのBitmapを指定する 必...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでの画像のダブルバッファが分からない
返信数: 19
閲覧数: 2653

Re: Win32APIでの画像のダブルバッファが分からない

hCDCにSelectObjectで指定されている画像は mapchip_grass.bmp 由来で,サイズがきっと32x32.
32x32しかないものをhdcに転送したならば,チップ1個(32x32サイズ)だけ表示されるのでは.

(本題ではないですが,ループ内で読み込んでいる画像が激しくリークしていそうな予感)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトに関する変数の初期化について
返信数: 4
閲覧数: 1090

Re: オブジェクトに関する変数の初期化について

「初期化」を行うのは,それをする理由があり,初期化を行うタイミングにも理由がある.

> 初期化してないオブジェクト
という物(状態)を{わざわざ,あえて,etc}作っているなら,そこにはそれなりの理由があるハズ.

> 初期化系の関数
なんてものを作って,そこで初期化処理をまとめているのにも,やはり理由がハズ.


> 私(使い手)次第
という言葉の中に,しっかりと理由が入っていれば良いのではないでしょうか.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトに関する変数の初期化について
返信数: 4
閲覧数: 1090

Re: オブジェクトに関する変数の初期化について

…なので,

>問題ないのでしょうか

に関しては,あなたが「初期化」する対象の性質や使われ方に依存する話.
問題が発生していないなら,問題ないのかもしれないし,問題が表面化してないだけで存在はするのかもしれない.

例えになるかどうかわかりませんが,
下記の単純なコード例で,bの未初期化が問題となるのか否かは,以降のコードでのbの使われ方次第でしょう.

コード:

int main()
{
  int a = 10;
  int b;  //←初期化(初期値の明示的な指定)してないけど,いいの??
  ...
  aやbを使った何らかの処理
  ...
}
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトに関する変数の初期化について
返信数: 4
閲覧数: 1090

Re: オブジェクトに関する変数の初期化について

何の話なのかいまいち掴みかねるのですが, 「最初に,ある1箇所において,全て(?)を初期化するべきかどうか」みたいな話…? 「初期化」が必要な対象というのは様々あるでしょうから,色々な要素(例えば下記)を鑑みて,適切なタイミングで「初期化」を行えば良い. ・何らかの明示的な「初期化」の後にしか正常にやれないことがあるなら,それよりも前に「初期化」する必要がある ・ある対象は複数回「初期化」されるようなものなのか,1回だけなのか(2回やったらまずいのか?) ・使いもしないかもしれない対象に関する「初期化」(あるいは生成)は,必要になるまで遅らせる ・「初期化」処理がやたら重いとか,一般に失敗し得...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 画素数の中央値、最頻値など…
返信数: 3
閲覧数: 1470

Re: 画素数の中央値、最頻値など…

usao さんが書きました:
2年前
・データの中に,4が何個あるか→4個ある
typo.4個じゃなくて1個.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 画素数の中央値、最頻値など…
返信数: 3
閲覧数: 1470

Re: 画素数の中央値、最頻値など…

「中央値」「最頻値」の言葉の意味をわざわざ説明するまでもない(ググれば一発)とは思うけども, 仮に, { 1, 2, 3, 2, 3, 1, 1, 4, 1 } という9個のデータがあった時… 最頻値ってのは,最もたくさんあるやつだから,ここでは1. このことは,データ値の全種類に関して ・データの中に,1が何個あるか→4個ある ・データの中に,2が何個あるか→2個ある ・データの中に,3が何個あるか→2個ある ・データの中に,4が何個あるか→4個ある っていう個数を数えて,一番個数が多いデータ値はどれだろう?ってことを調べたらわかる. で,「このデータ値毎に個数を数えた結果」って「ヒストグラ...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: フィルタ処理について
返信数: 2
閲覧数: 1008

Re: フィルタ処理について

他のトピックと同様に, >実現するプログラムを作成し がクリアできてるように見えるのに,その内容がわからんという主張が理解できない. 仮に自分で書いたコードではないのだとしても, プログラムを動作させる環境くらいはないのでしょうか. > 実行し,考察せよ. と言ってるくらいですから,動作環境は用意されているように想像しますが. プログラム(特に画像処理のような,絵的な結果を見れるもの)が何やってるかを知る手っ取り早い方法の一つに「とりあえず動作させてみる」があると思うので とりあえず動作結果を見てみたらどうでしょう? まぁ, > 鮮鋭化処理を実現するプログラム って言ってる時点で,「先鋭化処理...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: アルファ合成について
返信数: 1
閲覧数: 761

Re: アルファ合成について

山のように課題のトピック立ててるけど,何もわからんなら
実装が終わったように見えるこれらのコードは一体どこから出てきたんです?

仮に,課題としての作業として
> 考察せよ
だけが残っている状態なのだとしたら,指定どおりにアルファ値を何パターンか変えてみた結果からてきとーに考察すりゃよいのでは???
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 2値化について
返信数: 1
閲覧数: 909

Re: 2値化について

(手元にOpenCVを使える環境が無いので試してませんけども)

> 実装せよ.

って言ってるけど,ぱっと見,実装されてるように見える……
どこに問題があるのでしょうか?
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 画素ごとの濃淡変換
返信数: 1
閲覧数: 609

Re: 画素ごとの濃淡変換

> C++を全く授業でやったことがないのに画像処理の講義を取った

そんなの自業自得だし.


> このプログラムが何をしているか全くわかりません

もはや文章になる勢いでコメント書いてあるし……それ以前にあなたの文章自体が内容そのものだったりしないんですか?
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 画素数の中央値、最頻値など…
返信数: 3
閲覧数: 1470

Re: 画素数の中央値、最頻値など…

>ヒストグラムを作っているのはなぜでしょうか

少なくとも「最頻値」という言葉の意味がわかっているなら必要性は自明では?
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 別ファイルで宣言した変数が使えない
返信数: 5
閲覧数: 882

Re: 別ファイルで宣言した変数が使えない

オフトピック
> まだプログラムを始めて数か月しかたっておらず参考書やネットで自分なりに調べてはいるのですが理解力が足りずすみません。さらに質問に質問を重ねて申し訳ないのですがインスタンスが存在するには何があればいいのでしょうか?

これは 苦言 ではなく 助言 ですが,
{型,インスタンス,通用範囲,生存期間,etc…}といった事柄があやふやな状態では
この先,高頻度で同じように躓くことになるかもしれません.
一度基礎的な事柄に立ち返って固めるのが近道かと.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 別ファイルで宣言した変数が使えない
返信数: 5
閲覧数: 882

Re: 別ファイルで宣言した変数が使えない

extern t2k::vec3 loc;
というのは,
t2k::vec3型のlocというインスタンスがどこか(非ローカルな場所)に存在しているハズ
ということを宣言しているだけだから
その実態が存在しないなら当然エラーになるわけですが,存在するんですか?

#仮に,もし,このexternで,class Bulletのメンバのlocのことを指そうとしている,という話なのだとしたら,
何かをものすごく勘違いしていると思う.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: クリック間だけ画像を表示したい
返信数: 1
閲覧数: 615

Re: クリック間だけ画像を表示したい

こんな形にすればどうですか

コード:

//どこか最初らへんで画像をLoadしておく
haikei = LoadGraph("Graph/up.jpg");
haikei2 = LoadGraph("Graph/down.jpg");

...

{//描画処理を行う箇所
	if ((GetMouseInput() & MOUSE_INPUT_LEFT) != 0)
	{
		haikeiを描画に用いる
	}
	else
	{
		haikei2を描画に用いる
	}
}
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題に関して
返信数: 2
閲覧数: 1345

Re: 学校の課題に関して

> 生成した値を配列の各要素に代入する。

と指定されているので,代入作業を行う必要があるように思います.


> 1列1万行

になるのは,出力時に1万回改行しているからでしょう.
所望の形になるように,必要な箇所にのみ改行を入れるとよいのではないでしょうか.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

> (1)について 書いてる方も ふわっとした話 をしてるだけなので大丈夫です. Creatureにいくつか種類があった場合,それぞれの「移動希望」の決定処理を,例えば ・馬鹿な敵:乱数で4方向のどれかを返すだけ  (そっちに移動できないならそのターンは移動できなくてもいいです,という希望) ・ちょいまともな敵:地形は考慮する(壁の方に移動したいとは言わない)が,マップ上のオブジェクト(他のCreatureとか)があることまでは考えない  (結果として,そっちに移動できないなら…同上) ・賢い敵:他のオブジェクト等を考慮した経路探索処理をしっかり行った結果を返す という感じで「書きたいかも/書...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: ppm画像に描画するプログラムについて
返信数: 10
閲覧数: 1105

Re: ppm画像に描画するプログラムについて

期限が今日ですね. (ブレゼンハム的なアルゴリズムをどうこうせねばならない系の課題趣旨でないならば,ですが) とりあえず(非効率だが,わかりやすい方法として) 「320x240個の画素を全走査し,各画素位置(x,y)について,そこに着色するか否かを判定する」とかじゃダメなんですかね. 描画したいのが対角線だろうが円だろうが,その図形と座標(x,y)との間の「距離(のようなもの)」の計算さえできるならば,着色するか否かの判定は書けますよね. (例えば,図形の式を f(x,y)=0 としたとき,f(x,y)の絶対値とか二乗値だとかを評価関数にすりゃいい.線の太さもアンチエイリアスも思いのままですね.)
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

あくまでも >何となく楽な気がする という,気配的な(?)感じでしかない話ですが… (1) 移動に関する(現在の)ルールをどこに実装するのか? という点に関する 好み かなぁ. Creature::DecideMove()は,{いいかげんでも,賢くなくなくても,etc...}良い場所にしたいというか, キャラクタの移動アルゴリズムに,移動可否のルールをどこまで考慮するかに関する自由度を持たせたい,というか? (いろんな種類のキャラクタをあとからあとから実装するときに,その全ての種類の移動アルゴリズムに,「完全に(現在の)ルールに即した場所に移動せねばならない」という制約があるのは面倒な気がする...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: ppm画像に描画するプログラムについて
返信数: 10
閲覧数: 1105

Re: ppm画像に描画するプログラムについて

(1)ppmのフォーマットがわかっているのでしょうか  →わからないならググる (2)pixels[]とppmフォーマットとの間の関係を把握しているのでしょうか  →画像を書き出すコードとフォーマットとの対比を見れば,pixels[]の各要素が何の情報なのかがわかるハズ (3)上記まで把握すれば,画像データの画素位置(x,y)の色を(R,G,B)にしたいとき,pixels[]のどこをどう変更すれば良いのかが自明なハズ. すなわち,forブロック内でのpixels[XXX]のXXXの意味がわかるハズ. (例えば,(x,y)の緑成分を128にしたい場合,pixels[XXX] = 128; のXX...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

本題とはあまり関係ない,好みの話(?)ですが, class Creatrue { //動く. // 引数に与えられた情報を使って // 自身の座標を(ゲームのルール上,妥当である座標に)変更する void Move( 引数省略 ); }; という形よりも //CreatureがDecideMove()で返した内容は,上位の存在(?)によって吟味され, //その内容が許可された場合は,移動先がMoveTo()に渡されるので,Creatureは晴れて移動できる. //却下された場合はMoveTo()がコールされないので,Creatureはその場に留まる結果になる. class Creatrue {...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

Creature::Move()の引数の型を Map* とする何らかの理由があるのでしょうか.
(Map型に用が無いならば,const IMapInfo & とかでよくないですか?)
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

> そこで今はCreatureクラスのインスタンス化の際に、全Panelクラスを管理するstd::vector<std::vector<Panel*>>をポインタで渡しています。 > そうすることで毎回の移動処理を呼ぶときには引数が必要なく済んでいるのですが、この方法でいいのか意見を聞きたいです。 毎回渡してもコストがどうのということはそうそう無いと思うけど, 引数渡しが面倒だとかで,最初に渡しておくとしても > std::vector<std::vector<Panel*>>をポインタ という実際のデータ(なんですよね?)へのポインタそのものを渡してしまうような形だと, マップの情報が変化し...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

(クラス名やメソッド名が微妙だけど)前記した事柄をコードっぽく. //Creatureが移動方向の意思決定を行うのに必要な情報を提供する class IMapInfo { public: //座標(x,y)が通過可能であるか否かを調べる virtual bool IsWalkable( int x, int y ) const = 0; ... }; class Creature { ... public: //移動に関する意思決定を行う. //戻り値:何か移動に関する決定結果 MoveDecision DecideMove( const IMapInfo &Info ); };
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ画面での情報の渡し方について教えてください
返信数: 11
閲覧数: 1712

Re: マップ画面での情報の渡し方について教えてください

>「移動先のパネルが通行可能かどうか」の判定をする必要
が生じる処理を行う箇所に対しては,
std::vector<std::vector<Panel*>> なる「具体的なデータ」を渡す必要は無く,
「必要な判定を行うための手段」を渡せばよいのではないでしょうか.

例えば,「座標(x,y)が通行可能な場所であるか否かを判定する」ことだけが必要であれば,
その判定処理メソッドを有するインタフェースクラスとかの形で渡す.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: opencvの課題に関する質問。
返信数: 2
閲覧数: 1053

Re: opencvの課題に関する質問。

facesの最初の要素に関してのみぼかし処理を行っているのを
単にfacesの全ての要素に関して行うようにに変更するだけの話ではないでしょうか.
何が問題なのでしょう?

考える点があるとすれば,
複数の検出結果が「重なる」場合にどうするのか(重なった領域が他所よりも「過剰に」ぼかされてもよいのか否か)
くらい?
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: if文の条件を満たしているはずなのにif文を通らない
返信数: 5
閲覧数: 2018

Re: if文の条件を満たしているはずなのにif文を通らない

zcnt++;
を2回通ればもうそのifの条件を満たさなくなるわけですが
単に割り込みが連続発生しているとかいう事は無いのでしょうか.
(試しに zcnt++ ではなく zcnt=1 にしてみてもダメ?)
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: オセロのAIの作り方
返信数: 2
閲覧数: 1354

Re: オセロのAIの作り方

AI側に「ゲーム中通して覚えておかねばならないデータ」が存在しないならば,
単純に「現在の盤面情報を引数に受けて,どこに打つかを返すだけの関数」
として実装すればよいのではないでしょうか.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミング初学者の基礎的疑問
返信数: 11
閲覧数: 5623

Re: プログラミング初学者の基礎的疑問

オフトピック
> 機能すればそれでいいって感じでも最初のころはいいのでしょうか?

文面からは,これ↑が主たる質問内容に見えたのだけど,違ったようですね.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミング初学者の基礎的疑問
返信数: 11
閲覧数: 5623

Re: プログラミング初学者の基礎的疑問

オフトピック
どこまで許されるか……なる問いに関しては,「場の条件による」としか言えないのでは.
(「場」に自分しかいないならば
あからさまに無意味に効率の悪いコード書いたって,それを許すかどうかは自分次第だろうし.)

逆に(?) 効率を求める行為(に要するコスト)がどこまで許されるのか,というのもある.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ変数
返信数: 14
閲覧数: 9987

Re: ポインタ変数

何が言いたいのか(やりたいのか)いまいち不明ですが,コンパイルエラーなのであれば エラーの箇所と内容(原因)に関するエラーメッセージが出てるでしょう. 「int* から int には変換できない」的な内容が出てませんか? int型 と int*型 とは 異なる型 なのであるからして, 異なる型の物を代入しようとする記述がエラーになっている というだけの話ではないのですか? typedef struct SA{ 略 } SA; SA sa; float f; f = sa; //SA型をfloat型に代入したいです これ↑で「エラーが出る! 不思議!」とか言ってるのと一緒. で,何が何でも in...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: コンストラクターのインスタンスが引数リストと一致しない
返信数: 5
閲覧数: 1540

Re: コンストラクターのインスタンスが引数リストと一致しない

> 参考サイトを見てみてもコントロールクラスのコンストラクタの定義内での引数とENEMYクラスのコンストラクタの引数が違っていました。 そのサイトの記述が間違っているのか,あるいは必要なコード記述の一部を載せていないのか,その他の理由なのか, とにかくそのままではコンパイルが通らないので,そこの記述を盲信していても仕方ない. 「単に引数のいくつかが抜けている誤記」なのであれば,「渡す引数を適切に補う」ことで解決する可能性があるが, 「引数を適切に渡すこと」が既に難しいという状態なのであれば, 例えば,「とりあえずENEMYにデフォルトコンストラクタを追加する」等してみてはどうだろうか. デフ...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 背景の透過処理について
返信数: 15
閲覧数: 3337

Re: 背景の透過処理について

オフトピック
すごくどうでもいい事柄ですが,

> DXライブラリ自体のバグではないかと。

この文って,以下のどちらの意味にも読める感がありますね.

・DXライブラリ自体のバグ ではない であろう
・DXライブラリ自体のバグなのではなかろうか
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言した変数を使ったにもかかわらず構文内でエラーが出る。
返信数: 6
閲覧数: 1384

Re: 宣言した変数を使ったにもかかわらず構文内でエラーが出る。

defineの行の最後のセミコロンが原因ではないでしょうか.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: c#で別フォームを表示する
返信数: 5
閲覧数: 1693

Re: c#で別フォームを表示する

Form1_Load()を抜ける時点でform2への参照がなくなってしまうように見える.
(試しにform2をForm1のメンバにしたらどうなるのでしょう?)
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミングの学び方
返信数: 1
閲覧数: 1211

Re: プログラミングの学び方

(1)勉強の仕方について 講義のテキスト,C言語入門系の本やWebサイト,etc 等で復習する. (2)問題に対して こういうごちゃごちゃと条件が書かれている問題はとりあえず1つずつ条件をクリアしていけばどうか. まずは ・xy平面上の2つの点A,Bのx座標とy座標を入力 できるだけのプログラムを作る.(これは可能?) それができたら,次に, ・2点の中点の座標が表示される ようにする.(ここまではできる?) それができたら ・点のx座標とy座標は構造体pointに格納する ように変更し…… その過程で行き詰った箇所(の要素)が,現状でわからない箇所であろうから,そういった点を前記(1)で復習...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: ユーザーがステージを追加する仕組み
返信数: 1
閲覧数: 1198

Re: ユーザーがステージを追加する仕組み

DLLを動的ロードするとか?
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 細い物体の検出
返信数: 3
閲覧数: 1156

Re: 細い物体の検出

うーん,最初に必要なのは 検出対象の「糸や紐などの細く直線的でない物体」というのを 画像データ上で「こういうもの」という具体的な言葉に置き換えることでしょうか. 例えば検出方法として (1)検出対象たる"細い物"の像を構成する画素群を検出する (2)それらを繋ぐ みたいな方針を考えたとして,(1)はどうすればできそうか? とか. >色は基本的には黒または紺色のような色です. このことが他の物(背景や,検出したくない物体)と検出対象との差として利用できますか? 例えば,「検出対象は,輝度が背景よりも常に明らかに暗い」とか言えますか? もしこれが言えるのであれば,検出対象と背景との間のエッジを(比...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 細い物体の検出
返信数: 3
閲覧数: 1156

Re: 細い物体の検出

この手の問題では 処理対象や実施状況等に関しての条件みたいな情報を書くべきではないでしょうか. ・画像に関して  ・映像はカラーなの? グレースケールなの? あるいはその他?  ・解像度はどの程度? ・検出対象の像に関して  ・色とかが決まっている?  ・常に明瞭に写ると期待して良い?  ・細いって言うけど画像上では何画素くらいの幅になる?  ・像の形:ポケットから取り出したイヤホンのケーブルのごとく,ぐちゃぐちゃに絡み合うとかある? ・実施状況に関して  ・実施に際して,「都合が良い」背景を採用できる? (例えば,糸や紐と区別しやすい単色の背景を用意できる,とか)  ・検出対象以外の物体が写...
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 転置行列について
返信数: 3
閲覧数: 1537

Re: 転置行列について

> A や T について説明がないようですが。

Aはともかく,^Tはここでは転置でしょう.
よくある最小二乗法な話に見えますが,問題点が何なのかは謎ですね.
(関数をCでどう書いたら良いかわからん,とか言われても,机上で導出した数式をそのままインプリすりゃいいんじゃないの? としか…)
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の加工について
返信数: 1
閲覧数: 547

Re: 画像の加工について

・20よりも大きい値であれば20を引く
・20以下の値については0にする

でよいのではないでしょうか.
by usao
2年前
フォーラム: C言語何でも質問掲示板
トピック: Xのプリント出力関数の作成をしたいです。
返信数: 2
閲覧数: 1123

Re: Xのプリント出力関数の作成をしたいです。

アスタリスクを用いてアルファベットの形を表現するのが大流行なのでしょうか.
viewtopic.php?f=3&t=20109

で,
「アスタリスクを出力すべき箇所に法則性がある」と思われるのであれば
その法則性をコードで表現すればいかがでしょうか.

詳細検索ページへ移動する