検索結果 164 件

by GRAM
1年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談] 新しい当Webサイトについての雑談トピ
返信数: 24
閲覧数: 8113

Re: [雑談] 新しい当Webサイトについての雑談トピ

リニューアルお疲れ様です。
色合いもいい感じですね。
不具合というほどではないのですが、
一応報告しておきます。

ログインに失敗したときに、
再度ログインIDとパスワードを要求されるフォームで、
ID打ってからTABを押すと、パスワードにいってくれなくて変なところに飛びます。
by GRAM
3年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について
返信数: 5
閲覧数: 2530

Re: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について

>YuOさん
ありがとうございます.
Disposeの件はたしかにそうですね.
ありがとうございました.
上記のコード(using部は修正しました)では数秒で開くので目的は達成しました.
皆さんありがとうございました.
by GRAM
3年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について
返信数: 5
閲覧数: 2530

Re: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について

一応こうしました ありがとうございました private bool CheckSize(string[] files) { int widthBase; int heightBase; LoadPNGSize(files[0], out widthBase, out heightBase); foreach (string name in files) { int width; int height; LoadPNGSize(name, out width, out height); if (width != widthBase || height != heightBase) { retur...
by GRAM
3年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について
返信数: 5
閲覧数: 2530

Re: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について

>>みけCATさん
返信ありがとうございます

それとごちゃってる部分はBitConverterで行けそうですね.
解決したらコードを載せておきます

<追記>
・・・と思ったらBitConverterってエンディアン指定できないんですね…
by GRAM
3年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]PNGの幅,高さのみをファイルから高速に取得する方法について
返信数: 5
閲覧数: 2530

[C#]PNGの幅,高さのみをファイルから高速に取得する方法について

こんにちは.いつもお世話になっております. ご質問させていただきたいのですが,現在PNGで保存された4000枚ほどの画像を使って画像処理を行うアプリケーションを作っております. 処理の都合上4000枚の画像はすべて同じ幅,高さである必要があるのですが,以下の方法を用いると 与えられた4000枚の画像がすべて同じ幅,高さであることをチェックすることに非常に時間がかかります (おそらくいちいちすべての画像をImageに読み込んでいるからだと思います.) 言語はC# 開発環境はVisual Studio 2015です. private bool CheckSize(string[] files) {...
by GRAM
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でお金支払最適化プログラムを作りたい
返信数: 3
閲覧数: 1037

Re: C言語でお金支払最適化プログラムを作りたい

126円の構成が
100円x1
10円x2
5円x1
1円x1
という最適な構成とするなら
32円払うのに

100円と5円1枚ずつはあってるのでは...?
by GRAM
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス内でのString型オブジェクトの宣言
返信数: 7
閲覧数: 1634

Re: クラス内でのString型オブジェクトの宣言

回答ありがとうございます。 あまり良くわからなかったのですが、ヘッダーにクラスを宣言していたのが原因のようでした。 .cpp内に移動したら問題なく動作しました。 ちなみにエラーは、 "error C2039: 'string' : 'std' のメンバーではありません。" というものでした。 ありがとうございました。 おそらくヘッダーで#include <string>を最初にインクルードしてないからじゃないですかね? class a{ void f(){ printf(%f,k); } protected: double k; std::string s;//←ここより手前でstringの...
by GRAM
4年前
フォーラム: C言語何でも質問掲示板
トピック: 円形と四角の当たり判定
返信数: 12
閲覧数: 3516

Re: 円形と四角の当たり判定

>>usaoさん 長方形内部に円がある場合は単に距離が0になります。(P=x Q=y) 長方形領域内の最近傍点とはそういう意味を含んでいます(紛らわしかったらすみません) (最後の判定式は問題ないです) その場合をより高速に判定するならば フラグを立てといて衝突としてしまうのが考えられます(これは四隅が最近傍点にならない場合も同様) 最後の計算が重い(というほどでもないが)ととらえるのならば、四隅が最近傍点にならない場合2乗をしない 高速な計算方法はありますが(それが最後の計算を省ける場合があるといった最後のコメントです) この程度の計算は多くの場合気にするほどじゃないと思います。(質問者さん...
by GRAM
4年前
フォーラム: C言語何でも質問掲示板
トピック: 円形と四角の当たり判定
返信数: 12
閲覧数: 3516

Re: 円形と四角の当たり判定

おそらく最も簡単な方法(?)は、usaoさんの方法を若干改良したものでしょう。 長方形の対角線の交点座標(長方形の中心を)を(0,0) x方向の長さをA 、y方向の長さをB、 円の中心を(x,y)半径をrとします。 解き方としてはusaoさんの示すやり方とほぼ同じで要は 長方形と円のあたり判定の問題⇒長方形から円の中心点までの距離の問題とします。 要は長方形から点までの距離がr以下であれば終わりです。 usaoさんのと違うのは領域問題にしないのと、R付の長方形を考えないことです。 (ただしR付の長方形の考え方自体はこの場合以外でも必要になることがあるので大事だとは思います) 長方形の領域内にあ...
by GRAM
4年前
フォーラム: C言語何でも質問掲示板
トピック: ウェーブマシンのようなモノを描画したい。
返信数: 19
閲覧数: 2893

Re: ウェーブマシンのようなモノを描画したい。

↑の自分のコードですが 計算誤差の問題だと思ってましたが、たぶんそうではなくて 先ほどのコードのばね定数を1にした場合は非常にうまくいくことがわかりました。 理由は・・・なんでだろう?ちょっとよくわかりませんけど何か理由があると思います・・・ (たぶんこれだという理由がありそう。コードのミスかそれども原理的な問題かはすぐにはわかりませんが) (追記:もはや質問のレベルから外れるけれどたぶんCFDでいうクーラン数相当の条件だと思います。伝播速度が粒子サイズを上回ると計算が発散する 波の伝播速度を調整したいなら、1秒間に行う計算回数を増やす必要があるということ。確信は持てないですが…) まぁいずれ...
by GRAM
4年前
フォーラム: C言語何でも質問掲示板
トピック: ウェーブマシンのようなモノを描画したい。
返信数: 19
閲覧数: 2893

Re: ウェーブマシンのようなモノを描画したい。

最低限のコードで反射を含む実装を考えてみましたが、意外と難しいですね。これ。 自分のアプローチの仕方が悪い可能性が十分にありますが・・・。 ばねそのものをシミュレーションしてみた感じです。 右が自由端、左が固定端になります。 反射もそれっぽく表せてますが、なぞの振動が消せない・・・。 以下コピペで動くコード。 今後の参考になれば。 Z押してる間持ち上げます。 #include "DxLib.h" #include <vector> using namespace std; static char key[256]; static const int Width = 600; static co...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: マクローリン展開による三角関数の近似値計算プログラム
返信数: 8
閲覧数: 7520

Re: マクローリン展開による三角関数の近似値計算プログラム

オーバーフローに関してはほかの人が指摘しているとおりでしょう。 というかこの手の計算でint型を使う必要は皆無だと思います。 大体多くのdouble型は仮数部が50bit以上あります。すなわちdouble型はint型の扱う範囲であれば誤差なく表現できます。 多倍長整数が必要になるような大きな整数を扱うのでない限り、doubleを使えばいいと思います。 このことにつけ加えるなら誤差の原因は ①おそらく標準の実装はforループを使わないで、誤差が最小になるようにあらかじめ計算順序を最適化しているから この辺は計算機数学の話で、どういう計算をすれば誤差が小さくなるのかはsinを求めるアルゴリズムとは...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: シングルトンパターンを使用した場合のデストラクタ呼び出し
返信数: 7
閲覧数: 1119

Re: シングルトンパターンを使用した場合のデストラクタ呼び出し

コードを貼って頂きありがとうございました。ひとまず、このコードを使用して上手く動作するか確認してみます。 お二方ともご教授ありがとうございました。 あの表現で伝わりましたか自信がないので強調しておきますが、 このコードをそのまま使う場合プログラムの終了直前にFinalize関数を呼び出さないと、 Controlクラスのデストラクタが呼び出されません。 例えばControlクラスのデストラクタで何らかしら絶対動作に必要な処理が行われるのなら、 必ずFinalize関数を呼び出すように徹底しなくてはならないと思います。 (解決するためにはControlのポインタをスマートポインタにすればよいと思...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: シングルトンパターンを使用した場合のデストラクタ呼び出し
返信数: 7
閲覧数: 1119

Re: シングルトンパターンを使用した場合のデストラクタ呼び出し

その後は任意に呼ぶことはできないということでしょうか? だとすると、コンストラクタとデストラクタに変わって初期化、終了処理を 行うような関数をそれぞれ作ればよいのでしょうか? そういうことは別にないと思いますよ static CONTROL* control_; //(nullptrで初期化) static CONTROL& GetInstance(){ if( control_ == nullptr ) { control_ = new CONTROL(); } return *control_; } static void Finalize() { delete control_; co...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: 敵が一番近くの敵をロックオンするにはどうしたらよいのか
返信数: 5
閲覧数: 2022

Re: 敵が一番近くの敵をロックオンするにはどうしたらよいのか

平方根につっこむ意味がわからないのですが、必要あるのでしょうか? 2乗した形でも大小が比較できるような気がしますが・・・ ないでしょうね。その通りです ところでdistanceを20個保管しておく必要があるのでしょうか? (別のところで利用するのでしたらごめんなさい) 敵の番号が0~19で管理されているのであれば、 各個体が ①「その個体から現在までに調べた他の個体への最短の距離」 と ②「最短距離となる個体番号」 を記録するような処理を記述し、 新たに別の個体までの距離を調べたときに その個体までの距離が現在記録されている最短距離よりも短ければ ①と②を更新し、全部調べおわった時の②の個体...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: 余弦定理や正弦定理はゲーム制作でどのように使われるのか
返信数: 4
閲覧数: 1729

Re: 余弦定理や正弦定理はゲーム制作でどのように使われるのか

余弦定理も正弦定理も直接使用することはまれかもしれないですね。
(そもそも論で正弦定理の方はゲームに限らずあまり多用する公式ではないかと)
とはいえ、余弦定理はベクトルの内積という形で間接的には多用しているかと思います。
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

珈琲 さんが書きました:極稀にまったく曲がろうとしないで、加速度全快で正面を突き進んでいくミサイルが生まれるのですが、これは何が原因でしょうか?
ミサイルが当たらないというのと関係はありそうですが・・・
一瞬ならともかく彼方まで飛んで行くので、なんだろうなぁと
といわれましても、この内容では残念ながら私の力ではどうすることもできません。
お力になれずに申し訳ないのですが、自分に同じ問が投げかけられたと想定してください、としか。
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

ですが、なんか、やっぱり飛んでる目標にまったくあたりませんね・・・ 直進してるだけの敵にも当たらないので、・・・またコードを間違ってるのでしょうか 自然な動きに見えるかはともかくとして、 アルゴリズムを完全に理解したうえで、かつ通りに実装していれば3Dでも少なくとも目標には命中するはずです。 そこまでいけば初めて実装の間違いの有無を探す時が来たのではないですかね? (ただもしかしたら外積が0になっている例外の処理ができてないのかもしれないですね。 自分の最後のコードはあくまでもイメージなので、当然起こりうる例外は実際にはつぶしていただく必要があると思います。) 現実のミサイルは当たらないもの...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

なんとなーくですが、理解出来た・・・とおもいます 必要なベクトルの長さちょうどにするように角度をずらすというか・・・ その通りです。 Cosが2回定義されるのですが、両方共視覚というか・・・ VRotate2Dもよく理解できず・・・atan2みたいなものでしょうか? 2次元から3次元に起こすのがちょっと困難です・・・ 初めの  double Cos = (neededA*direction_)/nALength; はベクトルの内積の定義から明らかだと思います。 neededAとdirection_の二つのベクトルの角度のコサインを得ます 次に計算誤差によりcosの値が-1.0~1.0に収まら...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

えーと、赤い矢印に移動ベクトルを合わせるにはそれより手前の斜めの黄色矢印でいいんですか? 斜めの黄色い矢印が目標への方向で、赤矢印が現在の進行方向で、緑矢印が正規化された方向ベクトル、ということではないんですか? 残念ながらあまり意図が伝わっていないのではないかと思います。 自分はこう定義しました。 「緑のベクトルが方向ベクトル、赤が必要な加速度ベクトル、黄色の長さが加速度ベクトルの最大値」だと。 どこにも「目標への方向」なんて単語は出ていないと思います。 またこの話を一般化してもらっても困ります。 あくまでこの話は if( nALength < accel ) の場合だけです つまり自分の...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

>そういう意味だとしたら、「加速度ベクトルは正規化された方向ベクトルの定数倍」といったほうが正確かと思います。 なるほど、この文章のほうが正確と・・・ いえ、よく読むと文脈から明らかに違うということはわかるのですが、最初の言い方だと方向ベクトルと加速度ベクトルの内積か外積かどちらかかと 思ってしまいました。(ベクトルの掛け算は内積か外積、また方向ベクトルの大きさが1かどうかも分からなかったので) コードの解説ですが、まず前提となる物理法則を説明します。 ①静止している座標系に対し等速直線運動することなる座標系を慣性系という。 ②もとの座標系における加速度と、慣性系における加速度は「同じ」であ...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

疑問というか確認なんですが 移動ベクトルとは単純に速度ベクトルということでいいですかね ミサイルの方向ベクトルと加速度の積というのは「方向ベクトルと加速度の大きさ」の積ということでしょうか (この場合方向ベクトルは正規化つまり大きさが1である必要があるでしょうしそう解釈します。加速度もベクトルなので一応確認です) そういう意味だとしたら、「加速度ベクトルは正規化された方向ベクトルの定数倍」といったほうが正確かと思います。 文章を読んだ限り、自分の最後のプログラムを以下のように修正すればすべての条件が満たされると思います。 //double maxRotate = cos(20*PHI/180)...
by GRAM
5年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

自分としてはイメージを共有したいのですが…。~っぽいとか~みたいなという表現ではなく ①どういう条件下で誘導するのかという点を ②どの数字をいじってどの数字を固定するのか、どの数字とどの数字にはどういう関係性があるのか という点を明確に語ってほしいです。個人的にはそこさえ共有できればアルゴリズムやソースコードなどどうとでもできると思うのです どうやら慣性がキーワードっぽいので、ミサイルに向きの概念を導入し推力ベクトルをミサイルの方向ベクトルと180°逆の方向へ固定 スラスト力をヨーモーメントのことだと勝手に解釈して、違う追尾アルゴリズムを組んでみました。 これがなに航行かはよく知りません。未来...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

横やりですが、まぁエースコンバットについて言うのならば、ヘッドオンでミサイルは普通にあてられます。 難易度に関わらず、です。 とはいえある程度引き付けて打たないと敵が回避しちゃうので逃げられますが…誘導の問題はたぶんないと思います。 むしろ0のラストは特殊な例ですね。あれは最後だけ敵がほぼ回避行動とらないので… ところで自分も a_ = v_.Normalize()*accel; //一定の加速度を加える v_ += a_; s_ += v_; こういう処理を入れているのでミサイルは進行方向に加速していると思うのですがダメなのですかね? 追記:あぁなんとなくわかってきました。 ただ個人的な意見...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

コードです。 長くなるのでスポイラーにします。 (ベクトル演算用のコードが長いだけなので160行あたりまで読み飛ばしてもいいです) #include <DxLib.h> #include <random> #include <cmath> static const double VEPSILON = 0.000001; struct Vec{ public: double x; double y; double z; Vec():x(0),y(0),z(0){} Vec( double x_, double y_, double z_ ) :x(x_),y(y_),z(z_) { } Vec(...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

比例航法としてはこの実行ファイルであってると思います。 それに、usaoさんの >「ターゲット予測位置方向に常にミサイルの速度ベクトル(Mlne)が向いている状況をキープする」 という状況を加えたいです。 そういう条件を加えることは容易ですが、上にも述べたとおり「凶悪な」ミサイルになります。 その文章の意味するところは ①角速度に制限がないため予測衝突座標の方向へ一瞬で向く ②予測衝突座標は一意に決まる為回避不可能 (速度ベクトルが一瞬で予測座標を向くのならターゲットからみた相対座標系において静止している目標にまっすぐ飛んでいくことと同義) という①はおかしな挙動に見え(横を向いて発射された...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: ドリフトっぽい動きをするミサイル
返信数: 72
閲覧数: 10723

Re: ドリフトっぽい動きをするミサイル

よくわからないですが、とりあえず適当に書いてみました。こんな感じはどうなんでしょうか。 クリックするとある程度ランダムな初速度でミサイル(緑)が ターゲット(青)に向かって飛んでいきます。 (単純な計算の割には結構命中してるようにも見えます) ●●航法とかは全然詳しくないので、以下のように考えてプログラミングしました。 ①ミサイルの最適な航行経路を求めるのは可能かもしれないが、ぱっと考えた感じ困難 (というのもミサイルは2次元あるいは3次元的に回転しかつ加速し、またターゲットは回避行動をとるのが普通と思われるため) ②ミサイルとターゲットとの衝突時刻をある程度予測することは可能 ③衝突予測時刻...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: 3Dゲーム 球状の上をキャラに歩かせたい
返信数: 8
閲覧数: 1134

Re: 3Dゲーム 球状の上をキャラに歩かせたい

完全に素人の意見なのであまり当てにしないでください。 「仮定:キャラクターは常に足が球体の中心を向いている」というのならば、 他にもっと素晴らしいやり方がたぶんあるんだろうということを考えたうえで こんなのはどうだろう?というのを挙げます。 キャラクター毎に保持しているクォータニオンと半径で全キャラクターの位置と向きを決めるというやり方です。 このやりかたはキャラクターは浮動小数点数5つで、向きも含めて一意に場所が決まります。 (ただし必要に応じてx,y,z座標系も用います。こちらは上の5つから毎フレーム求めればいいと思います。) クォータニオンじゃなくて回転行列でも多分おんなじことができると...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォータニオンで指定した自機の回転から、追従するカメラの回転を指定したい
返信数: 30
閲覧数: 3411

Re: クォータニオンで指定した自機の回転から、追従するカメラの回転を指定したい

あまり流れを理解していなく、パッと見た感想なんですが、別にクオータニオンじゃない最初のコードでも別に ジンバルロックは起きないんじゃないんですかね? そもそも機体姿勢の決定には最低6変数(座標および回転角度)が必要なのに対し、 最初のコードは変数が12個ありますから。(座標及び各軸方向つまり回転行列そのもの) もちろんクオータニオンのほうが変数の総量が少ないというのはありますが。(こっちなら合計7個) ただしもとのコードを使うなら、ソフト屋さんの例示したコードをそのまま使えるような気がします。 // カメラを機体後方に移動 MATRIX matCam = MGetIdent();//単位行列 ...
by GRAM
6年前
フォーラム: C言語何でも質問掲示板
トピック: [C#] thisキーワードの使い方
返信数: 12
閲覧数: 11861

Re: [C#] thisキーワードの使い方

thisの使い方云々ではないもっと根本的な話なような気がするのですが… THISTEST.MainWindow.ListView1.Dock は 前半部分THISTEST.MainWindowについていえば THISTEST名前空間の中のMainWindowクラスを指していますが、(つまりこれは型ですが) 後半部分はMainWindowクラスのインスタンスのListView1プロパティー(もしくは単にメンバ)の中のDockプロパティーなので、 意味不明となりコンパイルエラーとなります。 自分自身をさしたいなら前半のthisでいいです。 そもそも何もつけないという選択肢もありです。 thisはど...

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