asaのブログ

数学・プログラミング・経済と本などで学んだことをまとめています

【WebGL】四角形を表示する(drawElements)

gist3923198b3bc2404316983293c514ecf7

【WebGL】 三角形を表示する

gist126f0728bb41746b4d644c0be1313286

【WebGL】vertexAttribPointer

github.com

【C++】目次

C++の記事を整理しています。 1.クラス 1.1 前方参照 2.演算子 2.1 Hello Qt 3.アルゴリズム 3.1 ページランクアルゴリズム 3.2 4.Qt 4.1 Hello Qt

【技術周り】目次

技術周りのTipsをまとめました。 1.シェルスクリプト 1.1 bash 2.キーバインド 3.Xcode 4.Android Studio 5.Netbeans 6. バグの原因を特定する 7. 実行速度を検証する 8. コーディングルール 9. Git

【Android】目次

こちらの目次は現在工事中です。

【サーバーサイド】目次

記事の内容を目次にまとめました。カテゴリー内の概要を確認したい方はこちらをご覧になって下さい。 1.Node.js 1.1 Hello World 2.React.js 2.1 Hello World

【WebGL】目次

記事の内容を目次にまとめました。カテゴリー内の概要を確認したい方はこちらをご覧になって下さい。 1.Hello World 1.1 三角形を表示する 1.2 四角形を表示する 1.3 多角形を表示する 1.4 円を表示する 1.5 立方体を表示する 1.6 球を表示する 1.7 三角錐…

OpenGL ウィンドウ表示までのテンプレ

毎回同じコードを書くのが億劫なので、一部をテンプレ化しました。ここは実際描画にはあまり関係ないのでさらっと流してしまっていい気がします。 ちなみにglmは計算用のライブラリです。必要に応じてインクルードします。 gist69c5f12f4e840125832752093c79…

OpenGL 初めてのGLFW&GLEW

これまでGLUTを使っていましたが、新しいバージョンに対応したOpenGLを使いたかったのでGLFWとGLEWを使って見ました。 こちらのテキストを参考にさせていただきました。ただ四角形を表示させるだけなんですがかなり骨が折れます。 http://marina.sys.wakayam…

OpenGL Bezier曲線

ベジエ曲線の自分のチートペーパーを作成しました。ついでにOpenGLでそれを実装してみました。 まずチートペーパーから ベジエ曲線は所与の線を t : ( 1 - t ) に内分し、それをさらに内分して内分して…を繰り返して最終的な点を求めていきます。結果としてt…

MacでOpenGL環境の導入 with Xcode

更新が途切れ途切れになっていましたが、引っ越し後のバタバタも去り大体のイベントを消化し、後のことも大体の目処がついたのでようやく落ち着いてコードが打てるようになりました。 というわけで今回はずっとやりたかったGLSLに取り組むためOpenGL環境を整…

入門Qt4プログラミングを読む1

『入門Qt4プログラミング』を終わらせて次の本なり文献なりに移りたいと思います。かといって流し読みしただけでは大事な点を取りこぼしてしまうこともあるのでざっくり役に立つようにまとめていこう思います。 序文ではQtがどのようなライブラリかを解説し…

C++ 多重継承〜仮想関数〜入出力

ようやく環境が整ったので随時やっていきます。とりあえずいつものように基礎練です。 gist2f38154bf249b478740a5710d6cc357d gistb541793e494c83e504fe3a9767ab853a gist838eff0d88a9ed95abb5ee4bb0769035 gist6a4f3701a167734aa16888efabf69a17

Macでの開発環境の構築(C++、Java)

パソコンをWindowsからMacへと切り替えました。周りにユーザーが多かったので買い替えました。愛用のLet's Noteはクリーンインストールして後輩にあげることにしました。ありがとうLet's Note ! そういうわけで今回Macで開発環境をいくつか整えてみましたの…

OpenGL 3次元に線を引く

そういえばパソコンを変えました。モダンOpenGLをやっと使える…んですが環境構築がまだ終わっていないので、未だにレガシーなOpenGLを使って勉強してます。 やや分かりづらいタイトルですが、端的に言うとOpenGLでは2次元の線を描いているように見えて3次元…

C++ 代入演算子のオーバーロード~継承とアクセス制御

山口から東京に引越しました。しばらくコードが打てなかったので今最高に楽しいですね。とりあえずC++の基礎練からです。 gistdc307d27006a2105a4ad1b152a468fa8 gist95f4706f5674a5b4005d457d16fa2474 gistfc87fbc7695273d4866be6632c9a720d gist98c6e40…

Qtの組み込みウィジェット・ダイアログ

Qtで利用できる組み込みウィジェットとダイアログを一覧でまとめておきます。 Qtによる開発はこれらを利用して、主にQMainWindowに実装する形で行われます。また必要に応じてこれらのクラスを継承してカスタムダイアログ・ウィジェットを作るわけです。 Qt全…

コンピュータ・グラフィックスの動向 SIGGRAPH2017から

コンピュータ・グラフィックスの世界的な祭典・会議SIGGRAPHがそういえば今日閉幕しました。今年SIGGRAPH Awardを受賞した人達を紹介しつつ、最近のコンピュータ・グラフィックスの動向を見たみたいと思います。 www.siggraph.org 1.Jessica Hodgines カー…

WebGL チュートリアル1

GLSLを勉強したかったのですが、生憎パソコンがOpenGL3以降に対応していなかったのでずっとレガシーなOpenGLを使用していました。 モダンなOpenGLではこの固定パイプラインを使用しない点で決定的にレガシーなOpenGLと異なっています。 そこで、OpenGLを直接…

C++ コンストラクタのオーバーロード~

いつもどおりの基礎練です。 gist853181548f4ce7d2e82b42c48d7cbbaa gist8d2a206e082cedadb11c3f2d7f48b474 gistd5333f021c9f1eaad921f6019e4f6ba1 gist3ec1bd42e3ccb7a9a4d35619fff3fb84 gist5c872d02192e35696f003fe5ab7413be

物理 力学2

C++ フレンド関数~

練習でしばらくコードを打っていました。備忘録代わりに載せておきます。 フレンド関数 gistd8794f1b06807e24be8fea85305f0c7f オブジェクトの配列~参照仮引数 gist0800f76139924a0584a4ba26fad1891f 参照とポインタの比較 gist960dbb758227dc0fdc1ee0f5a9b…

Qtチュートリアル14(レイヤー機能の追加)

作成中のお絵描きソフトにレイヤー機能(テスト)を追加しました。 レイヤーを適当に作成して、レイヤー変更メニューを押すと任意のレイヤーを編集可能になります。 スロット レイヤー用のメニューを作成したらスロットを実装します。スロットは描画領域の関…

Qtチュートリアル13(QColorクラス)

ペイントソフトにアルファ値を追加しました。1~255の範囲でペンの濃度を変化させることができます。 実際に変化させてみると下のようになります。 スロットと関数を見ていきます。ただしスロットと関数の実装をする前に画像のフォーマットをARGBに設定して…

Qtチュートリアル12(画像の反転)

QImageのmirroedを使って画像の左右・上下反転を実装しました。便利なことに違いはなく簡単に実装できるのが良点ですが・・・少し使い勝手が悪いです。 座標を取得してそれぞれx成分、y成分を入れ替えるて実装するのもありな気がしてきました。 スロット それぞ…

Qtチュートリアル11(回転)

この前作ったQtのお絵描きソフトに回転機能を追加しました。 アンドゥの実装も現在進行中で、最近QUndoStackがあることを知ったのでそれを今後使用する予定です。 メニューバーに”Effect”を追加しました。Rotateボタンを押すと回転します。 QActionとスロッ…

Qtチュートリアル10(描画機能)

描画関係のコードを下にまとめました。コメントで大体に書きましたが、1つとてもおもしろい機能があったので紹介します。 updateというメソッドをこれまで何度か使用してきました。これはQWidgetクラスのメソッドで、画面を再描画する必要があるときに呼び出…

Qtチュートリアル9(QPenのカラーと太さの変更)

描画時の線の太さと色を変える機能を見ていきます。これまでなんとなく流れがつかめてきましたが、QtでGUIを構築する際の流れはMVCモデルに沿うと、UIの作成⇒スロットの接続⇒スロットの実装⇒モデルの実装です。 画面的には次のように選択画面があり、 カラー…

Qtチュートリアル8(画像保存)

前回の画像表示と同じく、画像保存もMVCモデルが基になってます。 関連するメソッドは save saveFile saveImage です。またクラスについては QObject QAction QImage QString が関わる点を念頭に置くと分かり良いです。 saveスロット gist8296b075eaaedb077c…