2008-01-01から1年間の記事一覧

Spline関数

JavaScript用のSpline関数を書いてみた。 ■実行結果 Spline関数はspline_0_1.jsに記述し、描画・パーサー関係はspline.htmlにコードを記述している。 サンプルはここ→Splineサンプル

JavaScriptとHTMLCanvasElementでGraphLayoutもどき

JavaScriptとHTML5のHTMLCanvasElementを使って、JavaSDKのGraphLayoutデモもどきを作ってみる。 しかし、作っている最中に、現状ではFireFoxでもstrokeText()等のテキスト描画は未実装であることに気がついた。 仕方が無いので、ノードのラベル名を描画しな…

Javaで画像処理(その7)

前回の特徴点抽出を発展させ、ラスターをベクトル化してみる。 ■ソースコード 特徴点を探査し、ベクトルに変換するR2VFilterクラスを実装する。 ベクトル化した画像情報は、createGeneralPathメソッド又はcreateLinesメソッドで取得する。 ・R2VFilter.java …

Javaで画像処理(その6)

今回は、線の起点・終点や交点等を探査する特徴点抽出をやってみる。 ■ソースコード 特徴点を保持するFeatureクラスと特徴点を探査するFeatureFinderクラスを書く。 ・Feature.java package test; public class Feature { private int x; private int y; pri…

Javaで画像処理(その5)

前回の続き。境界抽出フィルタと細線化フィルタを追加する。 ■ソースコード AbstractImageFilterを継承した、BorderTraceFilterクラスとThinningFilterクラスを実装する。 ・BorderTraceFilter.java package test; import java.awt.Color; public class Bord…

Javaで画像処理(その4)

前回の続き。2値化フィルタ、収縮・拡張フィルタを追加する。 ■ソースコード 前回作成したAbstractImageFilterクラスを継承した、BinaryFilterクラスとExpansionFilterクラスを実装する。 ・BinaryFilter.java package test; public class BinaryFilter exte…

Javaで画像処理(その3)

前回のサンプルに平滑化フィルタ(中央値、平均値)、特徴抽出フィルタ(Prewitt、Solbel等)、ラプラシアン、鮮鋭化フィルタ等を追加する。 ■ソースコード まず、ImageFilterインターフェイスを実装した抽象クラスAbstractImageFilterを定義し、それを継承…

Javaで画像処理(その2)

前回のサンプルにグレイフィルタ、色調反転フィルタ、ガンマフィルタを追加する。 ■ソースコード 前回のソースコードのcreateMenuBarメソッドを以下のように書き換える。 private JMenuBar createMenuBar(){ JMenuBar bar=new JMenuBar(); JMenu menu=new JM…

Javaで画像処理

Javaは、java.awt.imageパッケージのImageFilterインターフェイスを実装することで、結構簡単に画像処理ができる。 とりあえず、RGB補正の簡単なサンプルを書いてみる。 ■ソースコード ソースコードは以下のとおり。 RGBImageFilterを継承したRGBFilterクラ…

JavaScriptでコンター図描画(2)

前回のコンター図をせっかくなので、カラーコンターとコンター線を重ねて描画してみた。 また、今回は、Delaunay分割済みの節点・要素データを読み込む形式にした。 サンプルは、ここ。→サンプル (注)FireFox、Chrome推奨。IEはフリーズする可能性があります…

JavaScriptでコンター図描画

前回作った、Delaunay三角分割処理のスクリプトを利用して、コンター図を描画してみる。 なお、凹形状の場合、本当は、外部境界を指定する等して不要な三角要素を除去する必要があるが、今回は省略する。 サンプルは、ここ。→サンプル ■実行画面 実行画面は…

JavaScriptでDelaunay三角分割

JavaScriptでDelaunay三角分割処理(Delaunay triangulation)のコードを書いてみた。 実行サンプルはここ→サンプル 実行速度とか考えると、あまり実用性はないかも。■実行画面

Effective Java第2版

先週末に発売された。本日購入。Effective Java 第2版 (The Java Series)作者: Joshua Bloch,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2008/11/27メディア: 単行本(ソフトカバー)購入: 77人 クリック: 936回この商品を含むブログ (264件)…

ストリートビューをPrototype Windowに入れてみた

ありがちだけど、GoogleMapのストリートビューをPrototype Windowに入れてみた。 とりあえず、できればいいなと思ったのが 1.マウスクリックで、クリックした位置のストリートビューをウィンドウに表示。 2.視点の位置にマーカーを落とす。 3.ウィンドウサイ…

Java3Dで数値地図50mメッシュ(標高)を表示(その2)

前回の続きで、GUI部分を実装する。 実行時の画像は、以下のとおり。 ■ソースコード JCanvas3Dを継承したDemCanvas3Dと、実行部分のDemAppクラスを実装する。 せっかくなので、DemCanvas3Dには画面をスキャンするBehaviorを組み込む。・DemCanvas3D.java(キ…

Java3Dで数値地図50mメッシュ(標高)を表示(その1)

いつの間にか、Java3Dが1.5.2にマイナーながらバージョンアップしていた。 リリースノートをみると、JOGLのレンダリングパイプラインが実装されたみたい。 最近、存在の薄いJava3Dを取り上げ、国土地理院発行の数値地図50mメッシュ(標高)をJava3Dで表示して…

アニメアイコン

アニメーションするアイコンを作ってみる。 ■ソースコード こんな感じ。 package test; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimen…

グラデェーション

スプライン関数を利用して、グラデーションを生成するクラスを作ってみる。 ■ソースコード 次のようなコードを書いてみた。 インターフェイスGradientを定義し、オブジェクトはGradientFactoryで生成する。 ・Gradient.java package test; import java.awt.C…

JFreeChart

JFreeChartは、Javaでグラフを生成・表示するためのライブラリ。 簡単なサンプルを書いてみる。 ■準備 jfreechartとjcommonのjarファイルをダウンロードし、クラスパスを設定する。 せっかくなので、freehepとbatikのライブラリも利用する。 ■ソースコード …

BatikでSVG

Batik SVG Toolkitは、JavaでSVGを表示・処理するためのライブラリ。 とりあえず、SVGビュアーを書いてみる。 ■準備 Batik SVG Toolkitからライブラリをダウンロードし、クラスパスを設定する。 ■ソースコード とりあえず、こんな感じで書いてみた。 package…

GeoToolsのwidgets-swing-pending

GeoToolsのサイトを調べていると、Unsupportedだけどwidgets-swing-pendingというライブラリがあるのに気がつく。 Demoを参考にプログラムを書いてみるが、SwingXの仕様変更の関係か、そのままではどうにもうまく動かない。とりあえず、ソースコードの一部を…

GeoToolsでシェープファイル表示

GeoToolsは、JavaのGISToolkit。 こいつを使って、シェープファイルを表示してみる。 ■準備 GeoToolsからライブラリのダウンロードしてクラスパスを設定。 ■ソースコード とりあえず、次のようなコードを書いてみた。 なお、サンプルデータは、ESRI Japanの…

CSVファイルを読み込む。

表データの読み込みに、何かと便利なCSVファイル。 こいつを二次元の文字列配列に読み込む。 ■ソースコード まあ、こんな感じ。 package test; import java.io.BufferedReader; import java.io.IOException; import java.util.ArrayList; import java.util.L…

CellRendererとCellEditor

ここまでに作ったレンダラーとエディタを統合し、少し汎用的なレンダラーとエディタを実装してみる。 ■ソースコード DefaultTableCellRendererとDefaultCellEditorを継承し、セルのオブジェクトに応じて、レンダラーとエディタを切り替えている。 なお、Date…

DateCellRenderer

Dateオブジェクトを表示するレンダラーを実装する。 ■ソースコード DateFormatでDateを文字列に変換し、JLabelを貼り付けるだけ。 package test; import java.awt.Color; import java.awt.Component; import java.text.DateFormat; import java.util.Date; i…

TableFontRendererとTableFontEditor

前回の続きで、Fontのレンダラーとエディタを実装する。 なお、TableFontEditorには、以前に作ったFontDialogを使用する。 ■ソースコード ソースコードは以下のとおり。 ほぼ、前回と同じ。・TableFontRenderer.java package jp.t.matsuoka.swing.table; imp…

{Swing]TableColorRendererとTableColorEditor

JTableで色を表示・選択するレンダラーとエディタを実装する。 JTableは結構で使用頻度が高いので、色々なレンダラーとエディタを実装しておくと便利。 ■ソースコード ソースコードは、以下のとおり。 TableColorRendererは、JLabelを継承して作成する。 Tab…

JProgressBarのCellRenderer

JTableのセルにJProgressBarを表示する。 ■ソースコード 以下のとおり。 私は、計算の進捗表示に使うことが多い。 ProgressMonitorでも良いのですが、複数の計算をスレッドで並列的に計算する場合は、それぞれの計算進捗をJTableで表示しています。 package …

reflectでクラスブラウザ

java.lang.reflectを使って、クラスブラウザを書いてみた。 ■ソースコード 次のようなコードを書いてみた。 クラスパスのJarファイルを検索し、クラスの木構造を構築する。 文字列で順序付けした木構造を得るため、DefaultTreeModelのTreeNodeにはインナーク…

Javaでグーグルマップ(その2)

GoogleMapAPIをもう少し触って見たいと思い、とりあえず、JavaScriptを手軽に試せるソフトをJavaで書いてみた。 ■準備 ①GoogleMapの登録をする。 ②SWTを準備する。 ■ソースコード 次のようなコードを書いてみた。 下のテキストエリアにJavaScriptを書き、"ex…