Java 関係:クリッピングまとめ
クリッピング プログラム覚書.
実装は WA アルゴリズムとは若干異なる方法で行いました.

上の図はクリッピングの例です.
緑のラインがクリッピング ウィンドウ.
青のラインがポリゴン.
赤のラインがクリッピングされたポリゴンです.
なお,赤のラインはずらして表示しています.
ここで,ポリゴンとクリッピング ウィンドウとの交点は次のように実装しています.
下の図の黒い点が交点です.
左右の凸部分がクリッピング ウィンドウの内と外とに対して非対称になっています.

WA アルゴリズムでは,右の凸部分も左の凸部分と同様に交点を取るのですが,その場合,クリッピングされたポリゴンでは2点を余計に数えます.
ここでは,簡単化のために上記のように非対称に交点を取るようにしました.
他に,7/19分 で触れていた「例外」の件ですが,正しくは私の勘違いでした.
私の場合はクリッピング ウィンドウ上にポリゴンの頂点がある場合全てを「例外」としていたので,自明な場合も「例外」として数えていました.
ただし,自明な場合の方が処理としては複雑だったのですが.
参考文献:David F. Rogers 著,セイコー電子工業(株)電子機器事業部訳,
実践コンピュータグラフィックス 基礎手続きと応用
結局,例外の実装に関する原著論文は参照せず.
メモ:攻殻機動隊 1.5,士郎正宗
雨雨雨雨…
Java 関係
クリッピング プログラムがようやく完成.
今日はとりあえず,おしまい.
料理関係
月曜に圧力鍋を試しに使ってみる.
鶏肉と野菜を煮込んでみました.
下宿の弱い電気ヒーターでも短時間で OK.
秋から本格的に.
いつの間にかマガジンで「まおちゃん」やってるし
OpenOffice 関係
1.1 rc が出たので入れてみる.
今回は独自ビルド(OOo_1.1RC_Win32Intel_install_ja_curvirgo)をインストール.
独自に日本語化されたOOo_1.1RC_Win32Intel_install_ja_curvirgoだと,ほとんど完成版という感触です.
ファイルのセーブやマクロの実行なども,ちょこちょこと速くなった気がします.
Java 関係
クリッピングのclass(一部)完成.
抽象classを初めてつかってみたり.
次はinterfaceだ.
ゴーメンガスト
DVD 見終わり.
ていうか,これは「タイタスグローン」「ゴーメンガスト」の映像化で,「タイタスアローン」は入っていないですね.
なかなかよかったですが,荒俣さんの「別世界通信」でじらさられた身としては,未消化感が残るので,小説も読んでみようと思います.
メモ:創元推理文庫「タイタス・グローン」,「ゴーメンガースト」,「タイタス・アローン」
メモ:「よつばと!」 1巻は8月27日発売
HAL の A はアルゴリズムの A
仕事関係
で進展していなかったアルゴリズムを何とか捻出.
でも,煩雑だったので,もうちょっと何とかならんかと探したら,見つかりました.
Weiler-Atherton アルゴリズム (Weiler, Kelvin, and Atherton, Peter, “Hidden Surface Removal Using Polygon Area Sorting”, Computer Graphics, Vol.11., pp.214-222, 1977).
SIGGRAPH 77 の proceeding らしいです.
今日はこのアルゴリズムを検証して力尽きました.
ってこれで見通しが付いただけで,これからプログラミングに入るわけです.
いまから一山も二山も越えないといけない.
梅雨真っ盛り
サーバ関係
PHPを使ってみる.
参考:
日本 PHP ユーザ会
携帯端末 – PHP Tips
ケータイWatch ケータイ用語: 第140回:クライアント認証 とは
PHP4徹底攻略改訂版のPDFファイル公開
auの端末からサブスクライバIDを使って,パスワード入力なしに認証する.
<?php
if( ereg( "UP.Browser", $_SERVER['HTTP_USER_AGENT'] ) )
{
$headers=getallheaders();
if( ereg( "xxxxxxxxxxxxx_xx.ezweb.ne.jp", $headers['x-up-subno'] ) )
{
// Ezweb用のページ
echo "<html>";
echo "<head><title>sample</title></head>";
echo "<body>";
echo "test";
echo "</body>";
echo "</html>";
// header("Location: index.html");
exit();
}
else
{
// その他端末用のページにジャンプ
header("Location: ../index.html");
exit();
}
}
else
{
// その他端末用のページにジャンプ
header("Location: ../index.html");
exit();
}
?>
梅雨真っ盛り
母校関係
今度は中学校なわけです.
プールの隣には七瀬川が流れてて,水泳部だった私たちは,よく魚捕まえたりしたですよ.
ちなみに「ぬか」中学校と読みます.
その名の通りの田舎のいい学校でした.
蛇足ですが,その隣には額小学校があって,祖母も行ってた創立130年くらいの歴史(は)ある学校です.
PC Watch より
いまや希少種となったシングルスピンドル機「Interlink XP」 .
C1VJ の後継機をどうしようかと悩んでいる今日この頃.
A5サイズってないんですねぇ.
件の InterLink XP ですが,液晶が1,024×600 なのが悩むところ.
C1MZX でも 1280×600 あるんだよな,と思うと新古で C1MZX 探そうかなとも思ったり.
WPC Arena より
ソースの「1980円」に揺れるソフト市場
見逃してましたが,ソースネクストが頑張っている様子.
この値段なら,驚速ADSL(R)2 を買ってもいいかなと思ったり.
週末の予定
この週末は実家へ帰って墓参り.
生きるのに必死
通勤途中
に,巣立ちしたばかりのスズメをよく見ます.
蛾とかを追っかけて,慣れないものだから人が居るのも気づかずに,私に近寄ってきてしまい,びっくりしてたり.
生きるのに必死なのですが,その姿を見てると,ほのぼのします.
でも後で考えたら,私も生きるのに精一杯なので,外から見たらそんなもん?
A5305K 関係
ZDnet で特集.
Java, +3D 関係

3/21分に載せた模型のその後.
Java3D の勉強がてらモデリングしてみました.
元は Java3D のサンプルを参考にしてアプレットで作り,回っています.
簡単に 3D が扱えるので,趣味でも遊んでみたいです.
サーバ 関係
NFS をサーバで動かし,kachuha(linux クライアント マシン)からもデータ共有できるように.
参考:Linux NFS-HOWTO
読書三昧
で,さすがに3冊続けて読むと脳がトコロテン状態に.
気分転換に夕方から風呂掃除して,ドライブ.
ハーゲンダッツ6個入りを買って帰る.
そんなわけで感想等はまた明日に?
メモいろいろ
Java
昨日 Java2 SDK_1.4.1_03 を落としたら,今日 1.4.2 が出ている罠.
VAIO PCG-SRX7F/P でJava3D (というよりも OpenGL) が使えないと思ったら,表示色数を 16ビット(True Color)にしたら OK でした.
「やさしくわかる Java3D」,太田 篤史著 を購入.
Atsushi’s Homepage ~ Java3D 関連リンク
Java3Dアプレットを実行するには
JavaによるCGの体験学習
Java トラブルシューティング
クォータニオン(四元数)
3D グラフィック関係で,Ichiroh Kanaya先生のVector Complex Quaternionが参考になりそう.
OpenOffice
OpenOffice.org 日本ユーザー会
OpenOffice.orgの使い方
OpenOffice.orgドキュメントプロジェクト
初夏嵐
シルマリルの物語 改訂版
出てました.
旧版の上下巻も持ってるのですが,何やら追補されてるようなので買いますた.
「指輪」サガではこれが一番好きです.
BS漫画夜話 再放送
今回見たのは「幽☆遊☆白書」「パトレイバー」「最終兵器彼女」.
高橋しんは最近苦手気味.
「いいひと」途中まで単行本買って読んでたのですが,この人の漫画はやたら感情に響くんですよ.
痛いくらいに.
で,「彼女」ですが,連載開始時に少し拾い読みしてました.
今回の放送を見ながら,一度読んでみようかなと思いました.
ただし,途中までは.
後半を見ていると,もう凄まじいですね.
レギュラー陣の話を聞いているだけで心臓が縮み上がりました.
ストーリーも逝くとこまで行ってるみたいですね.
「いいひと」のときから「絵」がコントロールが効いてるなぁ,と思ってましたが,
なるほどお話もコントロールが効いてるようですね.
オープンオフィス
マクロで現在のファイルネームを取得する方法.
Excel では CurrentFileName = thisWorkBook.Name
thisComponent.location でフルパスのファイルネームが次のような URL形式で取得できる.
file:///D:/Documents%20and%20Settings/user/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/RecruitIndex_20030627.sxc
ので,そこからファイルネームを切り出す.
下記の CurrentDir は windows版では CurDir がうまく動かないため.
Dim thisBook as object thisBook = thisComponent CurrentFileName = GetFileName(thisBook.location) CurrentDir = GetPath(thisBook.location)
Function GetFileName (ByVal fullPath As String) As String Dim i, j, tmpLength As Integer j = 0 tmpLength = Len(fullPath) for i = 1 to tmpLength if Mid(fullPath, i, 1) = "/" then j = i end if next i GetFileName = Mid (fullPath, j + 1, tmpLength - j) End Function
Function GetPath (ByVal fullPath As String) As String Dim i, j, tmpLength As Integer j = 0 tmpLength = Len(fullPath) for i = 1 to tmpLength if Mid(fullPath, i, 1) = "/" then j = i end if next i GetPath = Mid (fullPath, 1, j) End Function
夏がくれば
オープンオフィス
windows版で作ったマクロを linux 版で動かしてみる.
文字列の加算が windows (ver 1.1 b2)では “+”,”&” どちらでも OK でしたが,
linux (ver 1.0.2) では “+” でないとダメでした.
後,マクロで HTML を出力しているのですが,出力されるファイルの文字コードが windows では S-JIS,linux では EUC になります.
どこかで選択できるのかな?
linux では CurDir は正常に動いてました.
windows では挙動があやしいうえ,日本語も化けてます.
