地球をクリック

for VisualWorks 7.8 / 7.7 / 7.6 with Jun793

クリックウィジェットと3次元グラフィックスの連動

クリックウィジェットを使う練習をしましょう。以下のような平面的な地球の地図をクリックウィジェットに用いて、地図上でクリックすると、その位置の経度と緯度を表示し、3次元グラフィックスで描き出された地球において、クリックされた地点が正面に来るように地球を回転させます。クリックウィジェットと3次元グラフィックスの連動を行うアプリケーション「地球をクリック」を作成します。

ClickEarth1
ClickEarth2

どうぞ次のプログラムを実行してください。作成のための準備が整います。

| aCollection |
(aCollection := OrderedCollection new)
	add: #url: -> 'http://www.cc.kyoto-su.ac.jp/~atsushi/Programs/VisualWorks/ClickEarth/ClickEarth.st';
	add: #comment: -> 'Copyright 2008-2011 KSU (Kyoto Sangyo University). All Rights Reserved.';
	add: #bundle: -> #KSU;
	add: #package: -> 'KSU-Template';
	add: #nameSpace: -> #KSU;
	add: #category: -> 'KSU-Template';
	add: #class: -> #{KSU.ClickEarth};
	add: #protocol: -> #examples;
	add: #selector: -> #example1;
	add: #execute: -> [#{KSU.ClickEarth} value example1];
	yourself.
JunSystem
	perform: ((aCollection collect: [:each | each key]) inject: String new
			into: [:selector :key | selector , key]) asSymbol
	withArguments: (aCollection collect: [:each | each value]) asArray
ClickEarth3

約350行のプログラムを作ると…

インターフェースビルダ(GUI Canvas)やメニューエディタ(Menu Editor)などを用いて、すべてこしらえると…、日本の子午線(東経135度の線)が通る兵庫県明石市を正面にして地球を立体的に見ることができます。

ClickEarth4
ClickEarth5

約350行のプログラミング(このドックレット出力を見ながら)、おきばりやしとくれやす!

for VisualWorks 7.8 / 7.7 / 7.6 with Jun793


Updated: 2015/11/08 (Created: 2008/11/15) KSU AokiHanko