• 検索結果がありません。

沼津工業高等専門学校

N/A
N/A
Protected

Academic year: 2021

シェア "沼津工業高等専門学校"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

- 1 -

VisualStudio2010 を用いた

OpenGL(Glut)コンソール

アプリケーションの作成方法

初版: 2007.01.06 藤尾 改訂: 2010.08.24 秋山

(2)

- 2 -

- 目次 -

Ⅰ.プログラミングの準備 3 Ⅰ.1 はじめに 3 Ⅰ.2 OpenGL の環境設定 3 Ⅱ.プログラミングの第1歩(簡単なプログラムの作成) 3 Ⅱ.1 プロジェクトの作成と保存(空きの Win32 アプリケーションの作成) 3 Ⅱ.2 プロジェクトのオープンとプログラムのコンパイル(ビルド)と実行 4 Ⅱ.3 OpenGL 環境の設定の追加 5 Ⅲ.OpenGL の必要最低限の関数を設定する 6 Ⅳ. OpenGL プログラムの解説 7 Ⅳ.1 OpenGL プログラムの解説 7

(3)

Ⅰ.プログラミングの準備 Ⅰ.1 はじめに 皆さんが使っているパソコンには Windows やペイント,ワード,エクセルなど数多くのソフトウェアが入っています.パソコンは これらのソフトウェアが無いとただの箱になってしまい,全く使うことができません.これらのソフトウェアはプログラム言語という パソコンなどコンピュータを動かすために作られた専用の言語で作られています.つまりソフトウェアというのはプログラムの寄 せ集めであるといえます.コンピュータに仕事をさせるには,このプログラムによって仕事を指示してやる必要があるのです.プ ログラムを作成する(プログラミングという)には,用いるプログラム言語の文法やデータ構造を理解しておく必要があります. ここでは,C 言語の基礎をある程度習得したプログラミング初心者を対象に,Windows 上で動作する OpenGL のコンソールア プルケーションソフトウェアのプロジェクトの作り方を解説します.ユーザはこのガイドで作成されたプロジェクトを基に,自らの プログラムを追加記述してください. なお,コンソールアプルケーションソフトウェアとは,一般的な Windows アプリケーションのようにメニューバーやダイアログに よって操作するプログラムではなく,キーボードとマウスからのみデータの入力が可能で,出力は画面内のみのアプリケーショ ンです. Ⅰ.2 OpenGL の環境設定 必要なファイルのコピーと設定

OpneGL の glut を使うためには glut32.dll,glut32.lib, glut.h

が必要です.これらは,本来は VisualStudio の決まったフォルダに入れるべきです.一般に glut32.dll は C:\WINDOWS\system32

glut32.lib は C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib glut.h は C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl

に格納します.実際には使うパソコンにより異なる可能性があります.しかし,演習のため今回は作成したプロジェクトを保存す るフォルダに保存します.また,これらのファイルはhttp://www.opengl.org/resources/libraries/glut.htmlから取得できます. Ⅱ.簡単な OpenGL プログラムの作成 では最初に,まずはプログラムを書いてみましょう.使用するソフトウェアはマイクロソフトの VisualStudio 2010 です.作成する プロジェクトは OpenGlut2DBase です. Ⅱ.1 プロジェクトの作成と保存(空きの Win32 アプリケーションの作成) (1)Visual Studio 2010 の起動

図Ⅰ-1のように「スタート」「すべてのプログラム」「Microsoft Visual Studio 2010」を選択して起動します.実際の画面はこの図 Ⅰ-1 とは違いますので注意してください. (2)プロジェクトを作成 図Ⅱ-2のように「ファイル」「新規作成」「プロジェクト」を選択し,プロジェクトのダイアログを表示します. 図Ⅱ-3に示すように,ダイアログで「Win32 コンソールアプリケーション」を選択し,プロジェクト名を”OpenGlut2DBase”とします. 保存場所は,各自で決めて設定してください.保存場所は忘れないように注意してください.設定が終了したら「OK」をクリック 図Ⅱ-1 VisualStudio 2010 の起動 図Ⅱ-2 プロジェクトの新規作成

(4)

します.その後「完了」をクリックします. (3)ビルド 図Ⅱ-4(a)のように「ビルド」「OpenGlut2DBase のリビルド」を選択しビルドします.正常にビルドが終了すると出力ウインドウ(画 面下)に図Ⅱ-4(b)のようなメッセージが出ます. (4)実行 図Ⅱ-5のように「デバック」「デバッグ開始」でプログラムを実行します.ツールバーの でも実行可能です. 一瞬黒い画面が出て元の画面に戻れば正常終了です. (5)プロジェクトの終了 プログラミングが終わった際には,プロジェクトを閉じます.図Ⅱ-6 のように「ファイル」「ソリューションを閉じる」で,VisualStudio を 終了せず,プロジェクトのみ終了します.プログラムを終了したい場合は「ファイル」「終了」を選択します.ここでは一度,プロジェ クトを終了しましょう. Ⅱ.2 プロジェクトのオープンとプログラムのコンパイル(ビルド)と実行 (1)Visual Studio2010 の起動

「スタート」「すべてのプログラム」「Microsoft Visual Studio 2010」を選択して起動します. (2)プロジェクトを開く 図Ⅱ- 7 のように「 ファイ ル」「 開く」「 プロジェクト /ソ リ ューション」 を選択し ます.ファイ ルダ イ アログで以前に作成し た OpenGlut2DBase.sln を選択し「開く」をクリックします. 図Ⅱ-3 プロジェクトの設定 (a)ビルドメニュー (b)ビルド結果 図Ⅱ-4 プロジェクトのビルド 図Ⅱ-5 プロジェクトの実行 図Ⅱ-6 プロジェクトの終了

(5)

(3)ソリューションの破棄 他のフォルダからコピーした後にプロジェクトを開く際には,フォルダ情報等が更新されていませんので,ソリューション情報を 破棄し,再度ビルドする必要があります.以前使用したプロジェクトのフォルダと同じ場合にあるプロジェクトを開く際は,この手 続きは省略できます. 図Ⅱ-8のように「ビルド」「ソリューションのクリーン」を選択し,続けて「ビルド」「OpenGlut2DBase のクリーン」を選択します. (4)ソリューションのリビルド その後,図Ⅱ-9の様に「ビルド」「ソリューションのリビルド」を選択します.エラーが発生していないことを確認します. (5)実行 「デバッグ」「デバッグの開始」でプログラムを実行します.ツールバーの でも実行可能です. (6)プロジェクトの終了 「ファイル」「ソリューションを閉じる」を選択します. Ⅱ.3 OpenGL 環境の設定の追加 次に OpenGL がプログラムで使えるように設定を変更します. (1)プロジェクトを開く 「ファイル」「開く」「プロジェクト/ソリューション」を選択します.ファイルダイアログで以前に作成した OpenGlut2DBase.sln を選 択し「開く」をクリックします. (2)ライブラリの追加

OpenGL の glut を使えるようにするには glut に必要なファイルをプロジェクトに登録しなければなりません.

図Ⅱ-10 のように「プロジェクト」「OpenGlut2DBase のプロパティ」を選択します.図Ⅱ-11 に示すダイアログでリンカの入力を選 択し,opengl32.lib glu32.lib glut32.lib を入力します.その後「OK」をクリックします.この時,構成を「アクティブ(Debug)」から 「Release」にすると配布用のプログラムを作ることができます.

また,ここで glut を利用するに必要なファイルをプロジェクトのフォルダにコピーします.必要なファイルは glut32.dll glut32.lib glut.h の 3 ファイルです.

(a)ソリューションを開くメニュー (b)ファイルダイアログ 図Ⅱ-7 プロジェクト(ソリューション)の読み込み

図Ⅱ-8 プロジェクト(ソリューション)の削除 図Ⅱ-9 プロジェクト(ソリューション)のビルド

(6)

(3)OpenGL ライブラリ用のインクルードを追加 ソースコードに の 1 行を追加 (4)リビルド 図Ⅱ-12 のように「ビルド」「OpenGlut2DBase のリビルド」を選択し,再構築します. (5)実行 ビルドエラーもなくビルドできたら,実行してみてください.プログラムは相変わらず画面が一瞬出て終了するだけです. (6)プロジェクトの終了 「ファイル」「ソリューションを閉じる」を選択します. Ⅲ. OpenGL の必要最低限の関数を設定する (1)ソースコードの追加 (2)コンパイルと実行 「ビルド」「OpenGlut2DBase のビルド」を選択しビルドする 出力ウインドウに[ビルド:1正常終了,0 失敗,0 スキップ]がでれば完了 (3)実行 「デバッグ」「デバッグの開始」を選択し実行する. 図Ⅱ-12 プロジェクトのビルド

#include “glut.h” 旧スタイル #include <GL/gl.h> #include <GL/glaux.h>

(7)

画面が二つ現れ次のような画面がでると正常に作成できたことになる. (4)終了 <ESC>キーで終了 Ⅳ. OpenGL プログラムの解説 Ⅳ.1 OpenGL プログラムの解説 正常にビルドできた後,実行するとまだ処理内容は良くわかりませんが,画面には白い色をした四角形が描画されているはず です.では,次にどのようにして四角形を書いているのか見ていきましょう.ソースコードは List Ⅳ-1に示してあります.

(8)

(1)インクルードファイル 初 め て 見 る プ ロ グ ラ ム な の で 何 が ど う な っ て い る か わ か ら な い と 思 い ま す の で , 順 に 説 明 し て い き ま す . これはインクルードファイル(ヘッダーファイル)と呼ばれ,プログラムの中で使う必要な処理を使えるように設定する記述です. 単純にプログラムを書くためにはデフォルトでは”stdafx.h”だけで良いのですが,今回は描画に OpenGL を使っているため, OpenGL が使えるように<GL/glut.h>”を書き加えます. (2)関数とプログラムの流れ C 言 語 の プ ロ グ ラ ム は関 数( あ る 処 理 の 固 ま り ) の 集 ま り で 表 現 さ れ ま す . こ の プ ロ グ ラ ム で は “Initialize” と “draw” ,”_tmain”の 3 つが関数です.C言語のプログラムは関数の中でも main(この場合_tmain)から始まると決まっています. ですからプログラムは tmain から実行され始めます.実行が始まると_tmain 関数の 1 行目にある glutInit(&argc,argv); にプログ ラムは進みます.

この形も実は関数で,関数の形は 関数名(引数) という形式になります.関数名が glutInit となっていますが,このように関数 名の最初に gl,glut が付く関数は OpenGL を使う際に決められている関数名です.他にも glutDisplayFunc,glutMainLoop など も OpenGL を使う際に決められている関数で,決められた使い方の値を与える(これを引数という)ことで指定した動きをさせる ことができます.この関数は OpenGL の初期化を行う関数で,この様に書くと覚えてください.

glutInit が終了すれば次の行の Initialize()にプログラムは進みます.この関数はプログラムの上に書いてあるので,プログラム は Initialize()に移ります.Initialize では表示モードの設定や画面の設定を行います.Initialize の最後の行 glOrtho が終わると また _tmain に戻り Initialize の次の行の glutDisplayFunc(draw) に進み,さらに glutMainLoop に進みます.この glutMaiLoop では描画に必要が生じた際(プログラムが実行された場合や,画面が再度表示されるようになった場合)に引数として与えられ た draw にプログラムを進めます.draw は描画する関数です,絵を描いた後再度 glutMainLoop に戻り,再描画を待ちます.プ ログラムを終了させた時,glutMainLoop を終えて次の return に進みプログラムは終了します.

#include "stdafx.h"

#include <GL/gl.h>

#include <GL/glaux.h> // ユーザの初期化 void Initialize(void) {

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 表示モードの指定

glutInitWindowSize(500, 500); // 画面サイズの指定

glutInitWindowPosition(100, 100); // ウインドウ位置の指定

glutCreateWindow("OpenGL Win32 2D Base Program"); // ウインドウの作成とタイトル設定

glClearColor(0.0, 0.0, 0.0, 1.0); // ウインドウの背景色の設定

glOrtho(-500/2, 500/2, -500/2, 500/2, -1, 1); // 平行投影 }

// 描画関数 void draw(void) { // 原点から長さ200の四角形を描画する glClear(GL_COLOR_BUFFER_BIT); // 画面のクリア glBegin(GL_LINES); // 直線を書く glColor3d(1.0,1.0,1.0); // 線の色を白色にする glVertex2d( 0.0, 0.0); glVertex2d(200.0, 0.0); // 直線の描画 glVertex2d(200.0, 0.0); glVertex2d(200.0, 200.0); // 直線の描画 glVertex2d(200.0, 200.0); glVertex2d( 0.0, 200.0); // 直線の描画 glVertex2d( 0.0, 200.0); glVertex2d( 0.0, 0.0); // 直線の描画 glEnd(); // 直線データの終了 glFlush(); // 描画処理実行 }

int _tmain(int argc, _TCHAR* argv[]) { glutInit(&argc,argv); // GLUTの初期化 Initialize(); // ユーザの初期化関数 glutDisplayFunc(draw); // 描画関数の指定 glutMainLoop(); // GLUTのメインループ return 0; } #include "stdafx.h"

#include <GL/glut.h> List Ⅳ-2

(9)

プログラムの流れ

int

return

_tmain(int argc, _TCHAR* argv[]) { glutInit(&argc,argv); Initialize(); glutDisplayFunc(draw); glutMainLoop(); 0; } // ユ ー ザ の 初 期 化

void Initialize(void)

{

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(500, 500);

glutInitWindowPosition(100, 100);

glutCreateWindow("OpenGL Win32 2D Base Program"); glClearColor(0.0, 0.0, 0.0, 1.0); glViewport(0,0,500,500); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-500/2, 500/2, -500/2, 500/2, -1, 1); } // 描 画 関 数 // 原 点 か ら 長 さ200の 四 角 形 を 描 画 す る

void draw(void)

{ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINES); glColor3d(1.0,1.0,1.0) ; glVertex2d( 0.0, 0.0); glVertex2d(200.0, 0.0); glVertex2d(200.0, 0.0); glVertex2d(200.0, 200.0); glVertex2d(200.0, 200.0); glVertex2d( 0.0, 200.0); glVertex2d( 0.0, 200.0); glVertex2d( 0.0, 0.0); glEnd(); glFlush(); } START END (3)メイン関数 メイン関数はプログラム全体を統括するプログラムです.処理はメインプログラムに始まりメインプログラムで終わります. 手順は上の行から下の行へ実行していきます.各関数の処理内容は次のようになっています. ・glutInit(&argc, argv) この関数は,今回グラフを書くために利用する OpenGL が利用できるようにするための処理(関数)です.これを呼ぶ(実行 する)ことにより,以降で線や点を書くことが可能になります. ・Initialize(); この関数はプログラムの上の方に記述されている関数でプログラマ(プログラムを書く人,つまりあなた)が記述する関数です. この中では,画面サイズの設定やウインドウ(処理を行うための画面)の作成と表示を行います. ・glutDisplayFunc(draw) この関数は,他のウインドウの裏に隠れていた画面が表に現れる時や,描画するデータに変更があって描画する際(再描画 といいます)に,描画を行う関数を定義します.この例では,再描画時に draw という関数を使うということを指示しています. ・glutMainLoop(); この関数は,OpenGL のウインドウが閉じられるまで繰り返す関数です.処理の内容はキーボードやマウスなどユーザ(プロ グラムを使っている人)が何か操作を行っていないか監視しています.そして,押されたキーボードやマウス操作(イベント) に応じた処理,つまり関数(ハンドラ)を呼び出します. ・return 0; ウインドウが閉じられて glutMainLoop を終えた後実行される処理で,処理を終了して Windows に 0 を返し,処理を完全に終 了します. (4)Initialize 関数 この関数はユーザが描画を行うために必要な処理を実行します.内部では6個の関数を呼び出しています.全ての関数に gl または glut が付いていますので,全て OpenGL に対する設定をしていることがわかります.では各処理内容を見ていきましょう. 表示される画面の位置や名前は図Ⅳ-2に示すようになっています. ・glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) // ユーザの初期化 void Initialize(void) {

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 表示モードの指定

glutInitWindowSize(500, 500); // 画面サイズの指定

glutInitWindowPosition(100, 100); // ウインドウ位置の指定

glutCreateWindow("OpenGL Win32 2D Base Program"); // ウインドウの作成とタイトル設定

glClearColor(0.0, 0.0, 0.0, 1.0); // ウインドウの背景色の設定 glOrtho(-500/2, 500/2, -500/2, 500/2, -1, 1); // 平行投影 } glutInit(&argc,argv); // GLUTの初期化 Initialize(); // ユーザの初期化関数 glutDisplayFunc(draw); // 描画関数の指定 glutMainLoop(); // GLUTのメインループ return 0; 画面が隠れたりする毎にこの関数だけ繰 り返し実行される 図Ⅳ-1 プログラムの流れ List Ⅳ-3 List Ⅳ-4

(10)

これは表示の状態を設定しています.ここで使われる引数の意味は,単一画面で RGB(赤緑青で光の三原色といわれます) を使うことを定義しています. ・glutInitWindowSize(500,500); この関数はユーザが使うための描画画面サイズを設定します.この例では横 500(ひとつめの引数),縦 500(二つめの引 数)を表しています. ・glutInitWindowPosition(100,100); この関数は描画ウインドウの位置を指定します.この例では画面の左上(ディスプレイ原点)から右横方向に 100(ひとつめの 引数),下方向に 100(二つめの引数)の位置に描画ウインドウの左上を配置します. ・glutCreateWindow(“OpenGL Win32 2DBase Program”);

この関数は実際に画面を作成し(描画ウインドウとコンソールウインドウ),描画画面のタイトルバーに引数である文字列

OpenGL Win32 2DBase Program (アプリケーションタイトル)を書き込みます. ・glClearColor(0.0, 0.0, 0.0, 1.0); この関数は画面を消去(描画されていた画像をクリア)した時の色を指定します.最初の3個の引数が色を表します.それぞ れ順に R,G,B を意味しています.全て ZERO の場合は黒,全て 1.0 の場合は白を意味します.また,R を 1.0 にして,それ 以外を ZERO にした場合は赤色となります. ・glOrtho( -500/2, 500/2, -500, 500/2 , -1, 1); ユーザが設定している座標(ワールド座標)からカメラを用いて描画したい部分を設定します.この例では原点(0,0)から長 さ 200 の正方形を書いていますので,ワールド座標では図Ⅳ-3(a)に示すような形と座標を持ちます.それら全体を描画でき るように図Ⅳ-3(b)に示すようにワールド座標上の(-250,-250)から(250,250)の四角を描画ウインドウに書き出します.画面の 長さは上で設定した描画画面サイズの 500 を用いたので,その半分の 250 を使っています.この結果,描画ウインドウはワ ールド座標原点を中心とした座標形を持ち四角形は図Ⅳ-3(c)に示すように描画されます. この関数を省略するとデフォルトでワールド座標上の(-1,-1)から(1,1)の四角を描画ウインドウ(正規デバイス座標系)に書 き出します.3次元で考える場合は,奥行き(Z座標)も考えなければならず,視点(カメラの位置と方向)を決めてスクリーン に投影します.この時,デフォルトでは視点はワールド座標の原点でZ軸の反対を向いています.視点の先がプラスで,視 点の後ろがマイナスとなります.この例では,2次元の立体は Z 軸が ZERO の位置にありますので,-1 と 1 を設定します.投 影には2種類あり,今回のように視点から平行に投影する手法を平行投影といいます.この投影法では遠近感を出す事が できませんので一般的にはCADなど2次元を表現する際に用いられます.このように設定されてできる四角柱の空間を視 体積(ビューボリューム)と呼び,この中にない図形は描画されません. 図Ⅳ-2 画面名称 タイトルバー アプリケーションタイトル (100,100)描画ウインドウ位置 (0, 0)ディスプレイ原点 描画ウインドウ コンソールウインドウ

(11)

( , )0 0 (200 0, ) (200 200, ) ( , 0 200) X Y ( , )0 0 (200 0, ) (200 200, ) ( , 0 200) X Y (-250, -250)

(250 250, ) OpenGL Win32 2D Base Program

( , )0 0 ( , )1 0 X Y (- , - )1 1 ( , )1 1 ( , )0 1 ( , 0 200)まで線はある (200 0, )まで線はある

Op enG L Win32 2D Ba s e Prog ra m

X Y カメラの向き far near

(left bottom near, , )

カメラ

Z

ワールド座標

(right top far, , ) top left bottom right スクリーン 視体積 (5)draw 関数 この関数は実際に図形を描く処理です.この関数内で呼ばれる関数も全て頭に gl が付いていますので,OpenGL の処理関 数であることがわかります.処理の流れは画面をクリアした後,線分を描き,描画命令を実行しています.では具体的に追って いきましょう. ・glClear(GL_COLOR_BUFFER_BIT); 画面を指定された色でクリアします.色の設定は glClearColor で設定された色を利用します. ・glBegin(GL_LINES); // 描画関数 void draw(void) { // 原点から長さ200の四角形を描画する glClear(GL_COLOR_BUFFER_BIT); // 画面のクリア glBegin(GL_LINES); // 直線を書く glColor3d(1.0,1.0,1.0); // 線の色を白色にする glVertex2d( 0.0, 0.0); glVertex2d(200.0, 0.0); // 直線の描画 glVertex2d(200.0, 0.0); glVertex2d(200.0, 200.0); // 直線の描画 glVertex2d(200.0, 200.0); glVertex2d( 0.0, 200.0); // 直線の描画 glVertex2d( 0.0, 200.0); glVertex2d( 0.0, 0.0); // 直線の描画 glEnd(); // 直線データの終了 glFlush(); // 描画処理実行 } (a)ワールド座標 (b)ビュー座標 (c)実際の画面 図Ⅳ-3 画面の座標系の設定 「glOrtho( -500/2, 500/2, -500, 500/2 , -1, 1)」 (a)ワールド座標 (b)実際の画面 図Ⅳ-4 デフォルトの座標系 図Ⅳ-5 平行投影 「glOrtho( -500/2, 500/2, -500, 500/2 , -1, 1)」 List Ⅳ-5

(12)

引数で指定された図形を描くことを宣言します.この宣言は glEnd が来るまで有効です.言い換えれば glBegin から glEnd でひとつの図形のかたまりを描画することを示しています. ・glColor3d(1.0, 1.0, 1.0); 描画する線の色を指定しています.引数は順に R,G,B を表しており,各値の最大値は 1.0 です.ここでは RGB 全てに 1.0 が設定されているので白色を使うと宣言していることになります. ・glVertex2d(0.0, 0.0); glVertex(200.0, 0.0); この二つの関数で(0.0, 0.0)から(200.0, 0.0)まで線を描くことを意味しています.つまり2点を指定するとそれがひとつの線分 となります.4本の線を描く場合はこの関数を 4 組8個使うことになります. ・glEnd(); glBegin で指定された描画対象形状の指定終了を意味します.描画できる対象形状は GL_LINES の他にも様々な物がありま す. GL POINTS_ V0 V1 V2 V3 V4 GL LINES_ V0 V1 V2 V3 GL LINE STRIP_ _ V0 V1 V2 V3 V4 GL LINE LOOP_ _ V0 V1 V2 V3 V4 GL POLYGON_ V0 V1 V2 V3 V4 GL TRIANGLE FAN_ _ V0 V1 V2 V3 V4 GL TRIANGLE STRIP_ _ V0 V1 V2 V3 V4 V5 GL QUADS_ V0 V1 V2 V3 V4 V5 V6 V7 GL TRIANGLES_ V0 V1 V2 V3 V4 V5 GL QUAD STRIP_ _ V0 V1 V2 V3 V 4 V5 V6 V7 (6)コメント プログラムの中で // を用いると,その後から行の最後までがコメントとなりプログラムとして認識されません.また任意の位置 で /* から */ の間もコメント見なされます.これを使うと複数行まとめてコメントとすることができます.ただし, /* から */ の 間に /* と */ は入れることができません.コンパイル(ビルド)時にエラーとなります. 図Ⅳ-6 OpenGL の基本図形

参照

関連したドキュメント

To formalize the problem, suppose that 0 and w are independent random variables which have (prior) normal distributions, say 0 N(/, l/r) 0 N(, l/s). To simplify the notation, nN and

If the interval [0, 1] can be mapped continuously onto the square [0, 1] 2 , then after partitioning [0, 1] into 2 n+m congruent subintervals and [0, 1] 2 into 2 n+m congruent

It is natural to conjecture that, as δ → 0, the scaling limit of the discrete λ 0 -exploration path converges in distribution to a continuous path, and further that this continuum λ

We also give some characterizations of 0-distributive semilattices and a characterization of minimal prime ideals containing an ideal of a 0-distributive

Taking care of all above mentioned dates we want to create a discrete model of the evolution in time of the forest.. We denote by x 0 1 , x 0 2 and x 0 3 the initial number of

○事 業 名 海と日本プロジェクト Sea級グルメスタジアム in 石川 ○実施日程・場所 令和元年 7月26日(金) 能登高校(石川県能登町) ○主 催

   遠くに住んでいる、家に入られることに抵抗感があるなどの 療養中の子どもへの直接支援の難しさを、 IT という手段を使えば

26‑1 ・ 2‑162 (香法 2 0 0