kmb01 の回答履歴

全173件中41~60件表示
  • OpenGLの「見える範囲」は何故「-1.0~+1.0」なのか?

    OpenGLにおいて、ユーザーが特に指定をしなければ、画面の右向きが+x方向、上向きが+y方向、奥向きが-z方向となり、それぞれ-1.0~1.0までの範囲が「見える」範囲になる、というのがデフォルトらしいですが、その「理由」を教えていただけませんでしょうか? 参考になるサイトのURL等があれば、あわせて教えていただけると助かります。

  • flaot型の表示

    現在C言語を勉強しているのですが、 float型にて最大範囲の3.4E+38をprintfで表示させる場合、 「printf("float(最大範囲) = %○f\n", buf);」 の○の部分をどうすればいいのでしょうか? もちろん「%f」だけで表示可能なのはわかるのですが、 あえて「%○f」にしたいのです。 ご存知の方、ご解答をお願い致します。

  • OpenGLを使ったプログラムについて

    BorlandC++Builder4を使っています。 OpenGLを使って3次元グラフィックを扱うソフトの開発を目標にしており、勉強を始めたばかりなのですが、現在は最終目標の前段階として、OpenGLを使って2次元のペイントソフトを作ろうとしています。 【プログラムの機能・概要】 ・マウスを使っての描画 ・消しゴムのような消去機能 ・指定範囲内の描線の切り取り&移動機能 他にも色の取得や選択など機能を追加していく予定ではありますが、とりあえず上の3つの基本機能を作ろうとしています。切り取り&移動は消去機能が完成した後かな、という感じです。 【プログラムの骨子】 ・OpenGLPanelとTimerをForm上に配置 ・OnMouseDownイベント時に、左クリックで描画開始、右クリックでクリックした座標の指定した範囲の周囲にある描線を消去開始 ・OnMouseMoveイベント時に、左クリックしている間は描線表示、右クリックでクリックしている間は周囲の描線を消去 ・OnMouseUpイベント時に、左クリックUpで描画終了、右クリックUpで消去終了 ・Timerで、描画中のマウス座標を指定時間ごとに記録 考えたのはこんな感じなんですが、これでペイントソフトとして機能させることは可能でしょうか?足りない部分があれば指摘をお願いします。 【わからないこと】 ・座標の記録方法(どのような関数を用いてどんな風に記述すればよいか) ・OnMouseDown、OnMouseMoveの各イベントで、保存した座標を呼び出す方法 glVertex*()を使うことになると思うんですが、具体的にどのように記述すればいいのかわかりません。 ちょっと混乱していて質問自体におかしいところが多いかもしれませんが、どんなことでも構わないのでアドバイス宜しくお願いします。

  • 透視投影図形の回転

    C言語で透視投影の図形(3次元)を作成しました。 プログラムは下のような感じになりました。 static struct {int f; double x,y,z;}a[] ...(略) for(j=0; a[j].f!=-999; j++){//-999が来るまで描画  h=-a[j].x*sin(ay)/vp+a[j].z*cos(ay)/vp+n/vp+1;  px=(a[j].x*cos(ay)+a[j].z*sin(ay)+1)/h;  py=(a[j].y+m)/h;   if(a[j].f==-1) //-1が先頭にあるなら    pDC->MoveTo(px+200,-py+200);//描画の始点   else //そうでないなら    pDC->LineTo(px+200,-py+200);//線の終点 } これに、わかっているx軸まわり・y軸まわりの回転変換マトリックスを掛け合わせた、統合変換マトリックスの式 x=x*cosθ-z*sinθ y=x*sin^2θ+y*cosθ+z*sinθcosθ z=x*sinθcosθ-y*sinθ+z*cos^2θ を使用して図形を回転させたいのですが、プログラム中にはpDC->MoveTo(px+200,-py+200);のようにxとyしか出力がなく、z=をどう出力しようかと悩んでいます。また、回転を表示させるのに、 描画→回転させたx,y座標の算出→一度画面を白く塗りつぶす→描画 ということをfor文でやっていこうと思うのですが、画面がとてもちらついてしまいます。ちらつかない方法があれば教えてください。

  • EnableWindow()後のGetLastError()

    VC++でダイアログのアプリケーションを作っているんですが、ウィンドをを有効/無効にするEnableWindow()で0がリターンした直後にGetLastError()をコールしてもエラー番号が取得できません。 GetLastError()のコール条件に誤りがあるのでしょうか?

    • 締切済み
    • noname#11718
    • C・C++・C#
    • 回答数2
  • 極限の基本問題の質問(高3理系)

    基本問題なのですが、お願いします。 グラフを書く時漸近線が必要ですが、x→∞(または-∞)についての計算で、次の問題で、次のように迷いました。 同種の問題でも今まで迷ってきましたので、どこかが躓いていると思います。 ・パソコンで式が分かりにくいのですが、{ }は極限をとる式本体です。 ・通常limの下に書くべきものを( )で表しました。 ・*は「かける」です。 ・ ~2 と ~x は、2乗とx乗を表す。 lim(x→-∞) {(x~2 - 1) * e~x} なのですが、x~2 - 1 の方は+∞、e~xの方は0になって、+∞*0となって、不定形になるのではないでしょうか? 答えは0なのですが。 何故0になるのか、また僕の考えのどこが間違っているのか、よろしくお願いします。

  • マップとアルゴリズム

    またまた質問です。 以下の処理をさせるとエラーが出ます。 どなたか見ていただけますか? 環境はWindows XP, Visual Studio.NETです。 -----処理部分------------------ map<char, int> m; for(i=0; i<10; i++){  m.insert(pair<char, int>('A'+i, i)); } reverse(m.begin(), m.end()); map<char, int>::iterator p; p = m.begin(); while( p != m.end() ){  cout << p->first << " " << p->second << endl;  p++; } ------以下エラーログ--------------- C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\utility(16) : error C2166: 左辺値は const オブジェクトに指定されています。 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\utility(46) : コンパイルされたクラスのテンプレートのインスタンス化 'void std::swap<const _Ty1>(const _Ty &,const _Ty &)' の参照を確認してください with [ _Ty1=int, _Ty=int ] C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\utility(45): クラス テンプレートのメンバ関数 'void std::pair<_Ty1,_Ty2>::swap(std::pair<_Ty1,_Ty2>::_Myt &)' のコンパイル中 with [ _Ty1=const int, _Ty2=int ] ClusteringMain.cpp(45) : コンパイルされたクラスのテンプレートのインスタンス化 'std::pair<_Ty1,_Ty2>' の参照を確認してください with [ _Ty1=const int, _Ty2=int ] C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\utility(16) : error C2166: 左辺値は const オブジェクトに指定されています。

  • Excelで矢印キーを使ってセルを移動

    見たところあたりまえのことなんですが、普通はエクセルシートの上で矢印キーを押したら、それぞれのセルを移動できるとおもいます。が、なぜか私の場合、画面をスクロールしてしまいます。なぜなんでしょうか?ご教示ください。

  • 文字列の中の検索で、3番目に出てくる文字の位置を調べたい

    関数を使いXX回目の文字の位置を調べ たいのですが =============================== たとえば 文字列”ABCDABCDABCDABCD”の中の 3回目のBの位置を調べたいのですが (答えは 10です) =============================== 関数SERCH または FINDは、最初に出てくる 位置を返してくれるのですが、 XX回目の位置となると、どういう工夫をすれば いいのでしょう? ご存知の方お願いいたします。

  • エクセル2000.マクロの実行中、こんなことは出来ますか?

    1.マウスを無効にする。(選択できない) 2.キーボードを無効にする。(入力できない) 3.カーソルを時計のような形にする。 よろしくお願いします。

  • エクセル「マクロの記録」を少し直したい

    マクロの記録で作った下記を Sub Macro1() Sheets("Sheet1").Select Rows("6:6").Select Selection.Copy Sheets("Sheet2").Select Rows("2:2").Select ActiveSheet.Paste End Sub 以下のように書き換えたら、2行目(Paste)がエラーになりました。 Sub ts1() Sheets("Sheet1").Rows("6:6").Copy Sheets("Sheet2").Rows("2:2").Paste End Sub セレクトしないで行ないたいのです。 どう直せばいいでしょうか?

  • 結果がおかしい

    ソフトはvisual C++を使ってます。 C言語を本で勉強してて次のようなソースファイルを作ってコンパイルして、実行しました。この場合、結果は 105と表示されると思うのですが、0と表示されます。なぜなのか教えてください。 #include<stdio.h> int main() { printf("%d\n",100*1.05); return(0); } 結果 0

  • 新しいフォルダ作成のショートカットキー

    こんにちは。 Macだと「オプション+N」だったかで、新規フォルダの作成ができたと思うのですが、XPでも同様のことが可能でしょうか? ご存知の方よろしくお願いいたします。

  • VBスクリプトの危険性について

    VBスクリプトで、ORACLE設定ファイルの接続先ホスト名を置換するバッチをつくりました。 しかし、実行時(FileSystemObjectをCreateObjectし、ファイルを開くところ)Nortonアンチウィルスに悪質なスクリプトを検出したと怒られてしまいます。 アンチウィルスの設定でスクリプト遮断を無効にすればいいのですが、このバッチは他の人にも使用してもらう目的のため、ASPかVB、もしくは他の言語でつくるしかないかなとも考えています。 そもそもCreateObjectしただけでウイルスとみなされてしまうなら、使い道がないなと嫌いになりそうです。 でもせっかくVBスクリプトをはじめたばかりなので、出来るなら使いたいです。 何かいい方法があったら教えて下さい。

    • ベストアンサー
    • noname#139383
    • Visual Basic
    • 回答数2
  • CSVファイルをExcelで開くとき

    CSVファイルをExcelで開くと、 12桁以上の数字が値として入っていた場合、 自動で対数表示されてしまいます。 現在、16桁の数字を扱っているのですが、 16桁を対数表示してしまうと、 1の位の数字が必ず0になってしまい、 元データの値を失ってしまいます。 CSVを開くときに、全セル文字列で開くことは出来ませんか?

  • VBで他アプリの「syslistview32」のテキストを取得したい

    VB6で他アプリの「syslistview32」のテキストを取得したいのです。 取得するためにはAPIを使用すると思うのですが、 使用するAPIが分かりません。 記述方法など分かる方、簡単でいいので教えて頂けるとありがたいです。 また、解説しているHP等がありましたら紹介頂けるとありがたいです。 よろしくお願いします。

  • エクセルVBAでセルが数値か数式かの判断方法

    エクセル2000です。 Sub Suuchi() If IsNumeric(Range("A1")) = True Then MsgBox "数値で~す♪" Else MsgBox "数値じゃないよ!" End If End Sub とやってみたんですが、数式も数値となってしまいます。 数値、数式、文字の判断はどうやればいいんでしょうか?

  • C++BuilderでImageの拡大

    C++BuilderでImage上でマウス付近(又は、マウスでクリックした付近)のImageを少し拡大したいのですがどのようにすればよいか解る方がいましたら教えてください。

  • どのオブジェクトなのかの判別。

    class State { ... } class A extends State { ... } class B extends State { ... } public static void main(String[] args){ State s = new A(); …//分岐条件などによりStateがAとかBに変化する …//ここでsはAかBかを知りたい。 } という場合、sがAのオブジェクトかBのオブジェクトなのかを判別する簡単な方法はありますか? 状態を表すようなフィールド変数を導入して、判別する方法くらいしか思いつきません。

    • ベストアンサー
    • arcsin
    • Java
    • 回答数2
  • ソフトのインストール後 起動できない

    車(SUBARU)の部品を検索するソフトがあって、 今までは何の問題もなく動いていました。 今回、ちょっと古いのですが、IBMのAptiva2190-20Jにインストールしたら 「実行時エラー'9' インデックスが有効範囲にありません」と出てしまい起動することができません。 MSOfficeを入れていないせいかと思って  Officeを入れてからもう一度インストールしましたが同じでした。 インストールする時は、デフォルトのままでフォルダの変更などはしていません。 OSはWin98です。 そのAptivaより古いNECのPC(Win98)に入れてみたら 何の問題もありませんでした。 こういうエラーが出たのは初めてで、Aptivaにインストールしたのも初めてです。 Aptivaは他のPCとは違うのでしょうか?