asaのブログ

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

物理 力学2

前回の続きです。

C++ 基礎2(オブジェクトポインタ、構造体、共用体)

C++基礎の2回目です。 オブジェクトポインタ gistee1322c0e80ee6aeabb6b6e9621dd5cb 構造体 gist5e9418ec5c6bfeaf700f1b091ee1bec4 共用体 コード中のコメントは帯×⇒体ですね。 gist41bbff400360d07e53fff9fa1c80e1ec 構造体(コンストラクタ+デストラクタ…

Qt チュートリアル7(画像表示)

前回作成したペイントソフトの機能を見ていきます。先に結論から入ると分かり良いと思いますので示しておきます。 実装の概要 Qtを使ってMVCモデルに沿って画像の読み込みを実装しています。Viewであるopenメソッドは単にユーザーからの入力を受け取るだけで…

経済 オークション理論1

プログラミングと全く関係ないように思われますが、じつはGoogleやyahoo!の広告にはオークションの理論が使われていたりします。アルゴリズム、ゲーム理論、メカニズムデザイン等の分野が多数絡みあって、非常におもしろい理論です。他の勉強と併せて解説し…

物理 力学1

せっかく勉強する機会を得たので、数学と物理を復習して基礎を固めておくことにしました。 講義資料はこちらの資料を使っています。 language-and-engineering.hatenablog.jp ノート 久々にやるとやっぱり忘れていますが楽しいです。経済だとあまり使わない…

Qtチュートリアル6(保存、ペンの太さ、色の実装)

Qtでざっくりと絵を描くアプリを作ります。基本的な機能として保存、開く、ペンの太さ、色の選択を実装しています。今回はQtのサンプルを参考にしています。これにしばらくアンドゥなどの機能やOpenGLを載せていきたいと思います。 少し長くなるので、詳細な…

C++ 基礎1

QtもOpenGLもC++で書いています。そこで、C++の基礎を少しづつ振返っておこうと思います。 参考書はこちらです。 独習C++ 第4版 作者: ハーバート・シルト 出版社/メーカー: 翔泳社 発売日: 2015/11/25 メディア: Kindle版 この商品を含むブログを見る 仮引…

OpenGL DDA(ディジタル微分解析機)の実装

DDAを使用してマウスでクリックされた2点を結ぶ直線を作成してみました。 DDAの詳細な解説は以下の2つのリンクが役に立ちます。 ・http://www5f.biglobe.ne.jp/~kenmo/program/dda/dda.html ・https://www.kushiro-ct.ac.jp/yanagawa/cg-2015/1014/index.htm…

Java GlassFishでBASIC認証

タイトルの通りです。Tomcatを使用した例がたくさん出ていますが、Netbeansを使用している方はGlasfishの方が何かと便利かもしれないと思いやってみました。 公式チュートリアルが充実していますのでこちらも併せてご覧下さい。 NetBeans IDEでのWebアプリケ…

OpenGL 3次元モデリング

OpenGLを使用して3次元の物体を描画してみます。今回はバネです。特に気になった点について下でまとめています。 glRotatef glRotatefについてですが、これは glRotatef(角度、x軸、y軸、z軸) となっていて、x軸~z軸には傾ける割合を指定します。例え…

OpenGL アニメーション

OpenGLでアニメーションを実装するデモを作成します。今回作成するのは四角形が画面上を移動するという簡単なものです。 glutTimerFuncを使って指定した時間待機状態を作ります。待機状態が解けると自前のTimerFunctionが動いて四角形の描画位置をずらして、…

Java MySQLに画像データを保存する

MySQLデータベースに画像などの比較的大きなファイルを保存する際の方法をまとめました。今回は比較的使い慣れているJSPとサーブレットを使って実装しました。 BLOB型 Binary Large Objectの略。その名前の通り大きなバイナリデータを扱うSQLの型になります…

Java JSFでCRUD処理

JSFでCRUD処理を試してみました。簡単なテストだけですが非常に勉強になります。 JSF StrutsやSpringといったJavaフレームワークの1つです。Java Server Facesの頭文字をとっています。定義としては<h:head>などのJSF独自のタグを使用したxhtmlページのことをJSFペー</h:head>…

WIN32APIチュートリアル1

Windowsプログラミングを学習します。 インクルードファイル Windowsプログラムを作成する際は必ずwindows.hをインクルードします。またmain関数がなく、代わりにWinMain関数が存在しています。Windows関数はWINAPIにほとんどがまとめられています。WinMain…

Qtチュートリアル5(PaintEvent)

今回は "Basic Drawing Example | Qt Widgets 5.9"を参考にQtによる描画を学習します。PaintEventの復習も兼ねて上のサンプルから要点だけ取り出しました。 コード gist958b6a9410d9842224d0d0e68d2d57dc 内容 サンプルでは描画機能を網羅的に解説するため、…

Qtチュートリアル4(QComboBox)

QComboBoxを使用して性別と血液型を問い合わせるWidgetを作成します。 Widget.h gista70ffbb023958120ef1845a2fc0dc147 Widgetの内容は コンストラクタ スロット×1 コンボボックス×2 ラベル×2 プッシュボタン×1 です。 Widget.cpp gist494e7cefe2b4d1a35…

Java ネットワークプログラミング

下階がなにやら騒がしく寝れなくなったのでコードを打っていました。そういえば毎日使ってるラインってどうやって作られてるんだろーと考えて、ネットワークプログラミングを少しやってみました。 JavaのSocketクラスを利用してTCP通信をやってみました。ク…

Qtチュートリアル3(PaintEvent)

QtのPaintEventを学習するために次のようなアナログ時計をQtで作ってみます。 Analog Clock Example | Qt Widgets 5.9 時計は時間の経過とともに針が動きます。時間の経過に従って画面を描画し直す必要があります。こうした画面描画を行う際に使われるのがPa…

Qtチュートリアル2(MainWindow、QMenu)

簡単なテキストボックスを作って、メインウィンドウの使い方とメニューバーの作り方を学習します。 textBox.h QMainWindowの派生クラスとしてtextBoxクラスを定義します。テキストボックスの作りは簡単でセントラルウィジェットにテキストを入力するウィジェ…

Qt5.9の環境構築(MinGW)

前にQtをVisualStudioで環境構築しましたが、MinGWでもできたので忘れないうちにメモしておきます。 必要なもの Qt5.9のオフラインインストーラー インストール Visual Studioの時と違ってすでにVisual Studioがインストールされている必要があるとか、Windo…

Qtチュートリアル1

Qtの簡単な使い方です。 シグナルとスロットについて イベントが発生したらシグナルを送ってそれを処理するというのが基本の流れのようです。ボタンが押されたというシグナルをQtアプリに送ります。するとスロットに登録されたメソッドが実行されます。 QPus…

Qt5.9の環境構築(Visual Studio2017)

C++でGUIを開発するためにQtを導入しました。やや面倒な点があったので覚えているうちにメモしておきます。 筆者の環境 ・Windows7 pro sp1 ・Visual Studio2017 必要なもの ・Windows SDK ・Qt5.9のインストラー Windows SDKのインストール こちらからWindo…

OpenGLのバージョンチェック方法

OpenGLのバージョンチャック方法をまとめました。 OpenGLは3以降では固定パイプラインを使用せず描画をGLSLで記述するようになっています。いわゆるmodern OpenGLです。それまでのものはLegacy OpenGLとして古い位置づけになっています。 OpenGLを扱った書籍…

C++ クラスの概要

C++のチュートリアルです。まずはクラスの学習からです。参考書はこちらのKindle版を使用しています。Kindle便利ですね 独習C++ 第4版 作者: ハーバート・シルト 出版社/メーカー: 翔泳社 発売日: 2015/11/25 メディア: Kindle版 この商品を含むブログを見る…

OpenGL 情報収集まとめ

OpenGL関連の情報収集先などをまとめました。2D寄り、フォトレタッチやペイント関連多めになります。随時拡張していきます。 環境構築 ・windowsでopenGL環境を構築するための手順 - Qiita ・床井研究室 - NuGet による freeglut / GLFW / GLEW の組み込み …

OpenGL マウスでお絵描き

はい。マウスでお絵描きシリーズは実はこれで三つ目です。Swing版、JOGL版は下のリンクを参考にしてください。 Swingでお絵描き ⇒ デザインパターンまとめ2(お絵かきソフト) - asaのブログ JOGLでお絵描き ⇒ JOGL‐マウスでお絵描き - asaのブログ こんな感…

OpenGLアーキテクチャまとめ1

OpenGLについて勉強したことをまとめました。こちらの参考文献をしようしています(https://www.opengl.org/archives/resources/code/samples/s2001/notes/opengl.pdf)。 ・OpenGLって何? Graphics rendering APIで、WindowシステムやOSに非依存なのが特徴…

Krita(オープンソースペイントソフト)開発に参加してみる

ある記事でペイントソフトを作ろうとした人が、一番手っ取り早い方法として既存のオープンソースプロジェクトに参加するのが良策だと答えていました。Kritaはオープンソースによって開発されているペイントソフトで一応誰でも参加できます。ハードル高めです…

OpenGLチュートリアル3

・テクスチャマッピング 下のような市松模様のイメージを作ります。 ・テクスチャ用のヘッダ gistaa83ee8f32cf309552dabf0d0802bb91 ・OpenGL等を使用するためのヘッダ gist2c4251f9805c698015d3bceeac69d8bf ・ユーティリティ定義用のヘッダ gist983b28be77…

OpenGLチュートリアル2

・ビューポートを使う インクルードや定義をまとめたヘッダファイル。 gist9cad5596759b674012ebcec83fe31174 ユーティリティ関係をまとめたヘッダファイル。 gist7ba039594cabd33022f04de8349386ca ユーティリティ関係をまとめたC++ファイル。 gist4335b8ac…