Document text
其 健 か ら ヨ 次 元 じ . ま で
田島 清 悟 著
山海 党
FIM * 引 グラ フィ ックス
ーーー ツ デーーーーーーーーーーー バ ーー
コン ピュ ー ク タク が 個人 で 所 有 で きる 時 代 と な っ て , わずか 数 年 の 月 日 を 経た に 過ぎ ませ ん が ,
マイ クロ プロ セッ サ 。 マイコン, パソ コン と 呼び 名 が 移り 変わ る と と も に , その 性能 は 目 を 見
は る ば か り に 向上 し て きま し た 。
か つて ン 億 円 ち し た コン ピュ ー タ と ほぼ 同じ 性 能 の も の が , 10 万 円 そこ そこ で 手 に 入る よう
に な っ て きた わけ で すか ら , これ は 称 異 と ょ りな ん だ か 人 愉快 な 気分 に ちな っ て きま す 。
パソ コン の 普及 に 伴い , 供 絡 され る ソフ ト も 豊富 に 出揃い , また 刊行 され る 専門 雑誌 $ 多 種
多様 と な っ て 書店 の 店 先 を 賑わし て いま す 。 誰 も が 気軽 に コン ピュ ー タ を 楽し め る よう に な っ
た 反面 , パッケ ー ジ ソフ ト や 雑誌 で 公開 され る プロ グラ ム の ほとん ど が ゲー ム で 占め られ て い
る 現状 に は , 少し ば か り 疑 問 が 残り ます 。 せ っ か く の 高 性 能 パ ソコ ン 。 も う 少 し 知 的 な 生産 の
た め の 稼 動 を 考え て も 良い 時 期 か もち し れ ま せん 。
本 書 は , 8 ビット 機 と し て 能力 的 に 過 不 足 の な い 富 士 通 製 FM-7。 NEW7, 77, AV を 用 い
て , グラ フィ ッ ク の 基礎 か ら 3 次 元 C.G まで を 解説 し , また 建築 や デザ イン な ど に 使用 で きる
実用 性 を 持た せ た プ ログ ラム も 掲載 し て み ま し た 。
第 1 章 の 写真 お よび 図 は , すべ て 本 書 に 掲載 し た プロ グラ ム て で 作成 し た も の で す 。 し ば し 手
を 休め て , パソ コン グラ フィ ックス の 可能 性 に つい て 考え て 戴け れ ば 幸い に 思い ます 。
な お 。 文中 FM-7 と ある と ころ は , みな さん の 機種 に 合わ せ て NEW-7, 77, AV と 置き か
えて お 読み くだ さい 。 ま た , 本 書 の プロ グラ ム は F・BASIC Ver. 3 の 環境 下 で 動作 し ます の で ,
AV 使用 時 は , Ver.3 の シス テム を 立ち 上 げ て か ら 使 用 し て 下さ い 。
補 災 災 ※ プロ グラ ム メ ディ ア の 頒布 サー ビス に つい て 放談 炎 を
本 書 に 収載 され て いる プロ グラ ム の うち , スケッチ ボ ー ド , 3DGND 2, 3DWLD 2, 3DW/HS の 4
本 と 参考 デー タ を フロ ッ ピ ー デ ィ ス ク に 収録 し て , 希望 者 に 頒布 いた し ます の で ご 利用 くだ さい 。
この 頒布 は 入力 する 時 間 の な い 読 者 の 便 を 図っ て 行なう も の で す 。 下 記事 項 を ご 了承 の うえ お 申し 込み
くだ さい 。
@ ディ スク 自体 の 構造 上 の トラ ブル 等 に よる 読み 込み 不可 能 な 場合 に は , 無償 で 交換 させ て いた だ きま
す の で , お 手数 で す が 当 社 着払 いで ご 返送 くだ さい 。
@ 読者 が 個人 で 使用 する 以外 は , 本 プロ グラ ム 内 容 の 一 部 も
法 で も 複写 ・ 複 製 し た り , Ei) 転用 する こと を 禁じ ま
@ 受付 け て か ら 発送 まで 約 1 週間 を 要 し ます の で 予め ご 半 の SN
⑯ お 申し 込み 方 法
@ 頒 価 は 1 部 に つき , 5 イン チ 8000 円 。3.5 イン チ 8.500 円 (送料 は 当社 で 負担 し ます )。
@ 下記 の 申し 込み 形式 に 従っ て 必要 事項 を 明記 の うえ 現金 封筒 で お 申し 込み くだ さい 。
の な る
@ 申し 込み 先 113 東京 都 文京 区 本 郷 5 一 5 一 18 山海 堂 営業 部 メデ ィ ア サー ビス 係
申し 込み 形式
"ーー 、
5 イン チ
950 に ンク
FM-7・FM-NEW 7・FM-77 FM 実践 グラ フィ ックス
SCREEN
SYMBOL
3 章 実践 プロ グラ ミン グ
圏 プロ グラ ミン グ の カン どこ ろ
賠 グラ フィ ッ ク ・ デ モン スト レー ショ ン
田 パソ コン で 絵 を 描こ う
軒 絵 を 描く プロ グラ ム
@ CONNECT 文 内 に 直 携 格 机 eee 42
倫 DATA 文 に 格納 し 。READ 命令 で 読み 出す oro 43
介 配列 に 44
借 メ モリ に 直接 格 細 ee 45
供 外部 記憶 装置 に 格納 ooo 45
較 デザ イン ・ シ ー ト を 使 お うう oo 45
較 スケ ッ チ ボー ド プ ログ ラム の 作成 GOGOGGOOGGOSGOOSOGGOSXXOODGKOCCGGCGOOGGGDEUOOGG 47
較 グラ フィ ッ ク ナ カー ソル で で ooo 48
イ グル ルー GODOCqGOGCOGOOOQGOCGGGGGOGOCGGCGGGGGOCGOCOHGCOGSGOOGGOGGOGOCCGGCCP OKOCOCOO 48
| 盾 00JLIINIO 法 GOOOOO0DCOOEEOOSOOOGOOSDCEOGOOGCCCOOOCOCOC2LOOYYCCOX2CEOOCCCODOCOOCOOUOC 52
ー | (人 め AN 0N 人 。GOOOGGOGGOOOQGGGGGOCGGOOOOOGOOCOOGOOOGGOOHCOCOOCOGGOCOOOGCGOCOCOCGOG CO こ OGPC も OOOOOO 52
| | (人)」RAUNS CdGOCOOGGO0QOGOOCOOGOGGGOdGOOGGGOGGOOGGOJOOOGG OCGGCCXOOCOO ご CGCOOGOOCOC 53
| (60)(CJU RAC)LJD.QOGODGGQGOOOGOGOOGGOOOGOGOGGOGGGGCGGOGXGCHGCKCCOOLCOCOCCOCCOCCCOOGGCS ス COCCOOOGOOGOO 54
時 (5) SAVE …… 54
| 財 ( 軸 070DDECOGCSCOOOOOGOUPCOOGEG22 つ つつ COO つつ つこ 2 は COOCOCOOC 54
得 デー タ の 構造 で 人 ie 54
入っ COHCEE2HDGGGCPGCLGDCSLTEPCG2YOO プ EL スウ Cr 56
| 中 間 色 の 表現 方 法 SOCOoGGOOGGOCGGOGKOGSG2GDGOGDOOOCCGOG つ も OGSOCGOOOO2GO0GOOCOSODCOOOOOOOOGDOC 58
男 2 色 の 組み 合わ せ で 作る 中 問 色 ニー 本
因 3 色 の 組み 合わ せ で 作る 中 問 色 oi 61
軸 画面 情報 の 直接 転送 法 と スケ ッ チ ボー ド 2 …… ド imimnnn 62
証 転送 の 実験 ……… ド oo 63
マジ ンコ の 1 が Co) 2 本 CCC つ 2 も 2 32003 つつ CC つ つう と プス フス 3 64
軒 変数 の 格納 法 を 知る oon 64
記 デー タ を すり 著 え る eee 65
攻 画面 転送 プロ グラ ム の 実際 … 必 eee 67
[ 4 章 3 次 元 グラ フ 3 電 っ
日 画面 座標 系 と 原 座標 系 DDCPPPOPCOCPOODCCDCCCCCUCUULCCOCCLOOCCOOOOCC に CCCCCCPCCCPCC 72
圏 座標 系 の 変換 (画面 座標 一 原 座標 ) DPOCDOCOOCCDOCCCCDCCPDCCPCCOCOOCCPPCC と CPP 73
賠 2 次 元 図形 の 平行 移動 DPDDOCCPCOCCOOCOCOCCOOOOOCCCLOOOOCXPOOXXOOPOCCCODCCPCCPL OPC 74
園 ク 次 元 図形 の 拡大 お よ び 縮 小 POCPOCCCOCPOOOODDCCOOOOOOODOCO プ LOPLLLCCKCKLCPCCLLLOD つ つの 76
中 図形 の 回 寺 immc 76
園 大 切な クリ ッッ ピ ンク 78
較 クリ ッ ピン グ の 条件 OCZXGDCoOrZY CPLDO の COCCooGOOCCOOOoCOCO と 79
日 図形 加工 の サ ンプ ルプ ログ ラム otftfztst 81
較 3 次 元 座標 COCCOOCCOCCPCCOPCOOPCPOC2PCOOOOCZCCO つ DOCCCPCODCCCPCCCCDOCPCOCCOC COCCO 84
剛 3 次 元 モ デル の 形状 作成 手法 の CZ の CCCODOUOCCCOCCCOCCOGCCOLLCCCCCCOOOO つ CC 85
周 座標 値 と 3 面 図 と と 対応 …… ド mm 86
財 3 次元 空間 の 座標 変換 ハバ バ tion' 88
較 各 軸 まわ り の 回 転 実 験 1 … 92
田 回 転 実験 プロ グラ ムー …… ポ ooo 96
較 サン プル デー ター……ー ド ドド に ーー 2 20 ジー コー 99
5 音 3 次 元 実 用 プロ グラ ム 3 題 隊 の > おら デン た し と っ CCCC PC だ 102
剛 3 次元 地形 図 プ ログ ラム (3D GROUND ん ) 証 ECOEECCCOEPECCCE 102
劉 プロ グラ ムン 実行 八 ポ iti… 103
蘭 デー の 新規 作成 還 22233eeo 02 くく 5 で の ご 2 こと 103
立体 図 の 指 画 ee 105
ステ レオ 立体 関 110
ンー クン 四 CCCCCCC と OOooGccCC6CGEP8CGCO5CECOCCCCoocCCOcCCOOCCOCOcOCOoC こ CCCCCGCCE つ CC デー 112
IT
パ
アル
ii
|
[
1
軒 3 次 元 モデ ル 形 状 作 成 プ ログ ラム (3D WORLD V2) ……… 121
軒 プログ ラム の 構造 と 機能 ooo 121
価 スイ シメ 121
全面 図 モー 123
代 省力 的 入力 法 WALL & CIRCLE で 126
較 アク ショ ン モ キー ドド 全 IT 131
人 ディ スク の 無い 場合 の 実行 ooo 135
園 3 次元 高速 描画 バー ジョ ン (3D WORLD V2.1 Hispeed version)
6065COG5BOGO85068oc 150
プロ グラ ム マ 実行 ri 150
アク ショ ン エ キー ドド 0 に ooo 151
届 オー ト ア ニメーション モエ モード 0 で の の 152
| いい こい た っ いむ ん ば くそ の YO た で よう. っ 153
時 ロー ラン ド DG 製 プロ ッ タ 使用 時 の 変更 点 …… へ …imeoe ereeremrrerr 154
マシ ン 語 プログ ラム の 和 A 力 法 orioiriririhihihii 155
価 マシ ン 語 モニ ター に oo 155
但 マシ ン 語 の 保存 の ee 157
ハイ スピ ー ド バー ジョ ン の 構成 ooo 157
園 立体 図 の 陰線 消去 法 と ペイ ント 法 oo 167
写真 と 図 で る
グラ フィ ックス
『 間 67 10 1 317-1
82080: 2
約 )-% り ET を
129 MX
149『(R 5( が s1 9 7
7,8(
円 PSET で 描い た サイ ンカ ー ブ (第 2 章 2IP) [ 引 SCREEN の 実験 (第 2 章 30P )
[3] 2 色 で 作る 中 間 色 . 左 は 縦 」 右 は 斜め 並び の ドッ ト (第 3 章 59P )
[4] 2 色 の 組み 合わ せ で 作っ た 中 間 色 チャ ー ト (第 3 章 60P )
@ 1 童 写真 と 図 で 級 る グラ フィ ックス
回 [乱数 で 描い た デモ 画面 (第 3 章 39P )
[8 規則 性 を 持た せ て 描い た デモ 画面 (第 3 章 39P )
還 決 め ら れ た 手順 に 従っ て デー タ を 読み , アル ファ ベッ
ト の FM を 描い た 実行 例 (第 3 章 43P )
gr203
図形 の 2 次 元 回 転
(第 4 章 8IP)
【 3 次 元 図形 の 表現 (第 4 章 96P )
山 l 較 3 衣 板 の 3 次 元 連続 回 転 (第 4 章 92P )
7 の 0 ] 章 写真 と 図 で 級 る グラ フィ ックス
[8 スケッチ ボー ド フ ログラム て 適当 に 描い た 絵
IrG ー こま 符 全 ヒ た - 回 旦 -
9 フラ ン シ 機 能 を 利用 し た 風
E 園 ? FP 196
jR SsSRVE 6=LOD VRMS 條 な END
20 LINE 機 能 で 線画 を 描き , 名 PAINT 機能 で 色 を 塗り 完成 し た 画面
スケ ッ チ ボー ド (第 3 章 47P) で
描い た 絵
南極 観測 船 「 し ら せ 」
23 舞
4 算 用 車
gg 皇居 周辺 の 地図
77
6:LOD 7=VRMMS 人 L ED
72 グ 1 章 号 真 と 図 で 級 る グラ フィ ックス
3 次 元 地形 図
(第 5 章 102P )
Eg ワ イヤ ー に よる 地形 表
現
陰影 表現 (カラ ー デ ィ
スプ レイ )
ga 陰影 表現 (グリ ー ン デ
ィ ス プレ イ )
9 ステ レオ 立体 図
BO 高 度 列 色分け 表現
BB2 箱 根 周辺 の ステ レオ
立体 図 と 陰 涼 を 付け た
立体 図
7 マ
3 次 元 形状 作成 (第 5 章 121P)
B3B4 副 都心 高層 ビル の 立体 図 生 成
9 対話 形式 に よる デー タ 入 力 と 副 都 心 の 3 面 図
B9 対 話 形 式 に よる デー タク 入力 と 間取り の 3 面 図
対話 形式 に よる デー タク 入力 と 飛行 機 の 3 面 図
ルレ
| で 航 る グラ
と 区
テ ュ 6r
!L
うさ
3
立体 図 の ペイ ント (第 5 章 167P )
層 ビ ル
高
B 心 の
品 | 居
国 J で
42 ベ イン ト を 実行 し た
4(
75
パー ジョ ン ブ プログラム)
固 3 次 元 モデ ル の ブロ ッ タ 出力 例 (3D WORLD ハイ スピ ー ド ノ
アニ メ 風 戦 開 機
副 都心 の 高層 ビル 群
家 の 間 取り
写真 と 図 で 角 る グラ フィ ックス ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー~ー
1 章
り
還
固
アコ ン の 作
@ 見 る 角度 を 変え て フロ ッ タ に 出力 し た エ
1
水平 位置 か ら 見 た 家 の 内 部
一 縦 め 上 か ら 見 た 家 の 間 取り
一 都心 の 高層 ビル 末
@ ブフ ロッタ て 作画 し た 立
体 図 の 不要 (陰線 ) な
と ころ を 省 い て トレ ー
ス し た 例 .
フ プレ ゼン テー ショ ン や ,
印刷 物 の 原稿 と し て 最
敵 .
写真 と 図 で 起 る グラ フィ ックス
1 章
78
へ
5 ペグ リリ コン (ドー
体 較
ーー
HIA
@ ト レー ス し }
この 章 は F-BASIC Ver3 の サポ ボー ト す る グラ フィ ッ ク 古 令 に つい て 解説 し て い
ベー ジック を 学ぶ と き ,。 PRINT や INPUT か ら 始め る こと も 意義 の ある こと で す が , グラ
命令 各個 に つい て は 。 本体 付属 の マニ ュ
で は それ ら に つい て 遂 一 述べ て いま せん
を 読み 進め て くだ さい 。
な お , 本 文中 の 形式 の 説明 で 使用 され る [ ] 内 は 省略 し て も よい こと を 示し て いま す 。
| PSET (point set / ポ イン ト セ モット)
画面 の 任意 の 位置 に ドッ ト を 表示 し ます 。
[ 形式] PSET (水平 位置 , 垂直 位置 「, カラ ー 番 :
水平 位置 は 0 て 639, 垂直 位置 は 0 て 199 の 範囲
で 設定 し ます 。 カ ラー 番号 は , その 位置 に 表示
きせ る ドッ ト の 色 を 指定 し ます 。
320, 100
PSET (320, 100, 2)
( 図 2-1)
78 1 章 写真 と 図 で 級 る グラ フィ ックス
20%&50%) を 貼っ た 完成 見 本
777】
@ ト レー ス し た 立体 図 に スク リー ント ー ン ( ア
グラ フィ ックス
この 章 は F-BASIC Ver 3 の サポ ー ト する グラ フィ ッ ク 命 令 に つい て 解説 し て いま す 。
ベー シッ ク を 学 忘 とき, PRINT や INPUT か ら 始 め る こと も 意義 の ある こと で す が , グラ
フィ ッ ク か ら 手 掛け る と , 楽し みな が ら 覚 えら れる 利点 ちあ る よう で す 。 グラフィック 以外 の
詩
命令 各個 に つい て は , 本 体 付属 の マニ ュ ア ル や 他 の 入門 書 に 詳し く 書 か れ て いま す の で , 本 書
人 生
で は それ ら に つい て 逐一 述べ て いま せん 。 マ ニュ アル 等 て 基本 的 な 命令 を 確認 し な が ら , 本 章
を 読み 進め て くだ さい 。
な お , 本 文中 の 形式 の 説明 で 使用 され る [ ] 内 は 省略 し て も よい こと を 示し て いま す 。
PSETT (point set / ポ イン ト セ ッ ト )
画面 の 任意 の 位置 に ドッ ト を 表示 し ま
[形式 ] PSET (水平 位置 , 垂直 位置 [。 カラ ー 番 号 ] [, 機能 ])
水平 位置 は 0 て 639, 垂直 位置 は 0 て 199 の 範
国
で 設定 し ます 。 カ ラー 番号 は , その 位置 に 表示
させ る ドッ ト の 色 を 指定 し ます 。
320, 100
PSET (320, 100, 2)
( 図 2-1)
20 2 章 基礎 の グラ フィ ックス
これ で 画面 中 央 に 赤い 点 が セッ ト さ れ ま す 。 形式 の 最後 の 機能 と は F-BASIC 独特 の も の で
背景 色 と 表 示 色 の 論理 演算 の 結果 の 色 を 表示 させ ます 。 機 能 は AND, OR, XOR の 三種 類 を
指定 で き , PSET 以外 に LINE や CONNECT 等 の 命令 で 使う こと も で きま す 。 少し 遇 し く な
り ま す が , 参考 に 論理 演算 の 結果 を 次 に 示し て お きま す 。
10 PSET (320, 100, 2)
20 PSET (320, 100, 4,。 て)
ペペ 部 を OR と する と
010 (BIN) ~ 2 (DEC)
100 (BIN) ~ 4 (DEC)
110
と な り OR (論理 和 ) は 6 に な り , 黄色 の ドッ ト が 表示 され ます 。 な お BIN は 2 進 法 , DEC
は 10 進 法 を 表し て いま す 。
AND (論理 積 ) を と る と
010 (BIN) < 2 (DEC)
100 (BIN) ~ 4 (DEC)
000
と な り , 表示 色 は 黒 で 背景 色 と 区 別 が つか な く な り ま す
同様 に XOR (排他 的 論理 和 ) に する と
010 (BIN) -2 (DEC)
100 (BIN) 4 (DEC)
110
で , 黄色 の 表示 と な り ま す 。 2 進 法 と か 論理 演算 と か 耳慣れ な い 言 葉 が で て きま し た が , 今 は
の か と 辿っ て く だ け で 構い ませ ん 。 ま た , 2 進 法 の 演算 式 を プチ ャ ゴチ ャ 入れ まし
た が , 式 の 結果 は ダイ レク トモ ー ド で 簡単 に 求め る こと も で きま す 。
PRINT 2 AND 4
PRINT 2 XOR 4
27
リス ト 2-1 は , XX と Y を 乱数 に よっ て 決め , 画面 に 点 を 500 個 描 か せま し た 。 字 宙 に 浮か ぶ
史 々 の よう で す 。 リ スト 2-2 は サイ ンカ ー デ を PSET で 描か せま し た 。
(リス ト 2-1)
1 の の FOR 1I= の TO 5 の gg
1 1 の X ニ RND*64 の = Y=RND 2 : ビ =RND* フ 1
129 PSET(X,Y。 ビ )
13 の NEXT 1
(リス ト 2-2)
1 の 9 CLS
11 の FOR 1=1 TU 7
12 の FOR J=g TO 639
1 の X= ニ IN( (ゴー2g ウ * (エー1 ) ) / ら の ) *6
14 の PSET (J 。 1 の gーX 。 1 )
| 15 の NEXT: NEXT
(写真 2-1 リス ト 2-1PSET の 実行 画面 ) (写真 2-2 リス ト 2-2 の 実行 例 , サ イン カー ブ グ )
LINE (ine プ ライ ン )
キャ ラク タ ま た は ドッ ト を 用 いて 線 や 四角 形 を 描き ます 。
LINE[@][(X1, Y1)]-(X2,Y2), 文字 列 [, カラ ー 番 号 ] [。 B ま た は BF]
LINE[@][(X1, Y1 )]-(X2, Y2), 機能 [, カラ ー 番 号 ] [,。 B ま た は BF]
形式 1 は , 文字 ど の キャ ラク タ を 使っ て 線 や 四角 形 を 表示 させ ます 。X1、 Y1 な どの 座標 は
22 2 章 基礎 の グラ フィ ックス
WIDTH 文 に よっ て 規制 され た 範囲 を と り ま す 。
(リス ト 2-3)
1gg MIDTH 49,25
11 の LUCATE 9。16
129 LINE(19。 の ) (25,15) 。"*" 。
(写真 2-3 リス ト 2-3 の 実行 画面)
ライ ン 文 最後 の オプ ショ ン を B と する と , 設定 し た 座標 の 対角線 を と る 四角 形 が 描画 され ま
120 LINE(10,.0) (25,15)、“*".5,B
120 LINE(10,0) (25,15),“*",5, BEF
H H
生 介
ロ [
1 し
人 還
リ 1』
し
し L』
L』 』
す 生
還 し 』
ま し
L」
リ 還
し
(写真 2.5 BF を 設定 し た 例 )
形式 2 は 640 メ 200 ドッ ト の 画面 に 任意 の 位置 か ら ド ッ ト で 線 を 描か せま す 。 最も 多く 使わ
れる 語 令 の ひと つ で ,。 グラ フィ ッ ク プ ログ ラム に は 欠か せな い 語 令 で す 。 形式 は 1 と 似 て いま
す が , 文字 列 の か わり に PSET や PRESET な どの 機能 を 指定 し ます 。 機能 は 他 に OR, AND,
XOR が 指定 で き , これ は 現在 その 場所 に 表示 され て いる 人 色 と 指 定 色 と の 論理 演算 の 結果 の 色
を 表示 し ます (PSET の 項 参 照 )。PSET を 指定 する と , 指定 し た 色 が その まま 表示 され ます 。
3 (BOX), BF (BOX FILL) の オプ ショ ン の 動作 は , 形式 1 と 同じ く , 指定 し た 座標 の 対
角 線 を と る 四角 形 お よび , 四角 形 内 の 塗り つぶ し を 行ない ます 。
(リス ト 2-4)
FUR 『=1 TOU 1 の の
X1= ニ RND*64 の = Y1= ニ RNDx2 の の
X2=RND* ら 4 = Y フ = ニ RND* つ の の
LINE(X1 。Y1) 一 (X2。Y2) 。PSET , 己
NEXT 1
に
リス ト 2-4 は , 又 お よび Y の 座標 を 乱数 で 作り , ラン ダム
UL 日
Wii 本 ii 丁目 朋
に に は 4 日 Il
(写真 206 リス ト 2-4 の 実行 画面 ) (写真 2-7 B(BOX) を 指定 し た 場合 の 画面)
(リス ト 2-5)
FUR TI=1 TOU 1 の
メ 1=RND# ら 649 ウ = Y1=RND テ 2 の
2= ニ KND テ 64 の = Y ジ = ニ RND テ 2 つの
C=RND* フ +1
し INE (X1 。Y1 ) 一 (X2。Y2) 。PSET 。C 。BF
NEXT I
24 2 意 基礎 の グラ フィ ックス ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 一
215 行 を 追加 し て , 指定 色 も 乱数 で 決め , BF (BOX FILL ) を 指定 し まし た 。
(写真 228 リス ト 2-5 で て
CONNECT (connect ノ コネ クト )
指定 する 座標 問 を 直線 で 結び ます 。
[形式 | CONNECT (X1,Y1) --(X2,Y2) [--(X3,Y3)] … [, [カラ ー 番 号 ] [, 機能 ]]
LINE 命令 た よく 似 て いま す が , この 命令 は いく つも の 座標 を 一 度 に 指定 する こと が 可能 で ,
如
禁 問 を 次 々 と 直線 で 結ぶ こと が で きま す 。 カラ ー 番 号 と 機能 の 位置 は LINE 文 と 反対
に な り ま す が , 動作 は 同じ で す 。 億 単 な 図表 を 描か せる 場合 な ど に 有効 な 命令 で す 。
100 CONNECT(0,150) - (100,50) - (200,150) - (300.50) 一 (400,150) (500,50) 一 (600,
150),5
Ui1
側 (9CCI(,.OD-( は 30)- 抽 139)-(200,8)-(409 13-3 凍 , 30)-(50/ 有 3
怠
記
(写真 2-9 CONNECT の 実行 )
人 タ CIRCLE (circle プ サー クル )
任意 の 大 き さ の 円 や 円 弧 を 描き ます 。
[形式 ] CIRCLE [@] (円 の 中 心 座標 X, Y), 半径 [, [カラ ー 番 号 ] [, [比率 ] [, [ 開
始 位置 ] [, [終了 位置 ] [。[F ま た は N] [, 機能 ]]]]]]
オプ ショ ン の パラ メー ク が と て も 多く て 混乱 し そう で す が , それ だ け に 細か い 円 の 指定 が 可能
で す 。 普通 の 円 を 描く と き は , 比率 以降 を 省略 し て 構い ませ ん 。
100 CIRCLE(320, 100), 150, 5
これ で , 画面 の 中 央 に 半径 150 で 水色 の 円 が 描画 で きま す 。
(写真 2-10) ( 図 2-2)
比率 を 省略 し た 時 は 0.4495 の 値 が 自動 的 に と られ ます 。 こ れ は 640 メ 200 ドット 画 面 の 水平 ,
垂直 比率 が この 数 値 と な っ て いる た めで , 省略 し た 時 に は 真 円 が 描画 で きま す 。 比 率 は 0 一 1
の 範囲 で 指定 で き , 本 円 の 描画 も 可能 で す 。
風 始 位置 , 終了 位置 で は , 円 の 描き 始め と 終わ り の 位置 を 指定 で きま す 。 範囲 は 0 一 1 の 間
開始 位置 。 終 了 位置 の 指定 を 行なう こと に より 円 弧 が 描画 で きま す
次 の F ま た は N は , 円 あるいは 円 弧 内 を 塗り つぶ すか どう か の 指定 を
りつ ぶし , N は 何 も ち し ませ ん 。
最後 の 機能 は , PSET, PRESET,。 AND, OR が 選べ , 省略 し た と き は PSET と 見 な され
ます 。
1
ー
9t
yt
い 」
2
ft
vt
①
(Y
暗
26 2 章 基礎 の グラ フィ ックス
① 100、CIRCLE(320,100)。15055.9 比率 を 0.3 に 指定
② 100 CIRCLE(320,100),150.5。。.1。.9。。 …… 開始 、 終 了 位 置 を 指定
③ 100 CIRCLE(320,100),150,5, ,.1, .9,F …… 塗 りつ ぶし の ド を 指定
③④ 100 CIRCLE(320,100),150,5,,.1,.9,F, XOR…… 機 能 の XOR を 指定
UW1
員 て OK(01 半 90.9i4.9
記
he
wa
員
前 1/( 講 1「61JD) 征
Ii)
(写真 2 一 11 戸 行 画面 1)
PAINT (paint プ ペイ ント )
囲ま れ た 領域 を , 指定 する 色 で 塗り つぶ し ます 。
| 形式 | PAINT (塗り 始め の 座標 X。Y) [, [カラ ー 番 号 ] [, 境界 色 1 [, 境界 色 2 ]…]]
(1) LINE や CONNECT, CIRCLE な ど に よっ て 描か れ た 図形 内 を 。 任意 の 色 で 塗り つぶ す
ネ ラチ っ
(2 境界 色 を 指定 する こと に より , 塗り つぶ し の 範囲 を 選択 する こと が 可能 で す 。
(3) カ ラー 番号 を 省略 する と , 直前 の COLOR 文 で 指定 され た 色 で 塗ら れ ま す 。
(4 境界 色 は 複数 個 の 指定 が で きま す 。 ま た 境界 色 の 指定 を 省略 する と, 指定 し た カラ ー 番 呈
が 境界 色 と し て 見 な な れ ま す 。
PAINT を 実行 する と き は , 図形 を 形 ど っ て いる 境界 線 が , 完全 に 閉じ られ て いる か どう か
を 注意 し な けれ ば な り ま せん 。 少し で ち も 開 いて いる と , そこ か ら 色 が も れ だ し , みる みる うち
に せっ か く の 図 形 が 塗り 消 る ぁ れ て し まう 場合 が あり ます 。
(リス ト 2-6)
1 の の CUNNECT ( 1 の , 1 の の ) 一 ( 呈 の の 5 の ) 一 (4 の の 。 1 の の ) (6 の 。 15) (2 の 。 1 の ) 一
(1 の , 1 の ) 。7
11 の PATNT (32 の 。 1 の の ) 。2。7
リス ト 2-6 は CONNECT 命令 て , 白 の 書 界 委 で 描か れ た 図形 内 を , PAINT 命令 で 赤 に
つぶ し て いま す 。
LIN7
指 AM 04
(写真 2-15 PAINT の 実行) (写真 2-16 色 が られ た 時 の 画面 )
飼 _ COLOR (color プ カラ ー)
画面 に 表示 きせ る 色 や 背景 色 を 指定 し ます 。 ま た , 表示 ほれ て いる 色 を 瞬時 に 変え て し まう
パレ ッ ト 機 能 の 動作 を 行ない ま
COLOR 語 全 2 [, 背景 色 の カラ ー 番 号 ]
[形式 2 | COLOR=( パ レッ トコ ー ド , カラ ー コ ー ド )
28 2 意 。 基 葉 の ダラ フィ ックス
形式 1 は 、 表 示 色 と 背景 色 の 設定 を 行ない ます 。
形式 2 は 重 村 で , 表示 され て いる 色 を 瞬時 に 任意 の 色 に 変え 0 る こと が で きま す 。 い わ ゆ る パ
レッ ト 機 能 と いう も の で , 動き を だ す ア ニメーション な ど は この 機能 の 応用 で 実行 で きま す 。
(パレ ッ ト コ ー ド , カラ ー コ ー ド ) の 関係 は
変更 させ る カラ ー 番 号 , 表示 さき せる カラ ー 番 号 )
が り ま の 5 だ と えば パレ ッ ト コ ー ド カ 沼 だ コ が
COLOR=(2, 4)
()
( 青 )
( 赤 )
( 芝 )
( 緑 )
(水色 )
( 黄 )
( 白 )
0
1
2
3
4
3
6
7
と する と , 画面 に 表示 され て いる 赤色 (カラー 番号 2 ) が 緑色 (カラ ー 番 号 4 ) に 変化 し ます 。
また , この 設定 以後 」 赤 を 表示 させ る 命令 を 実行 し て も , 緑 に 表示 きれ ます 。
パレ ッ ト の 設定 は ( 〇 色 を , へ 色 に ) と 考え れ ば わか りや すく な り ま す
電源 投入 直後 の パレ ッ ト コ ー ド , カラ ー コ ー ド の 初期 設定 は 次 の よう に
ご
こ 。 1 対 1 に 対応 し て
いま す 。
この 組み 合わ せ を どの よう に 変え て も 構い ませ ん が ,。 プロ グラ ム 時 に は 初期 値 に 戻す こと
を 忘れ な いよ うに し て くだ さい 。 そ うし な いと 。 次 に 実行 する プロ グラ ム や リス ト 表 示 が 思わ
ぬ 色 に な っ て し まい ,。 ま ご つい て し まい ます 。
FOR P=0 TO 7 : COLOR = 〔P,P] : NEXT P ー( バ パレット を 初期 化
の の メア ロメ グラム)
パレ ッ ト 機 能 の 応用 例 と し て , PSET の 項 で 示し た サイ ンカ ー ブ を 動か す プ ログ ラム を 作っ
て み ま し た (リスト 2-?7)。 各色 で 描か せ た サ イン カー プ ブ を, 一目 パレ ッ ト て 全 色 を 黒 に 変え た
後 , ひと つ ず つ 緑 色 で 表示 させ まし た 。 サ イン カー プ が 波打つ 様子 が わか る と 思い ます 。 プロ
グラ ム を 止め る 時 は , どれ か キー を 押し て くだ さい 。 340 行 の INKEYS の 判断 で , 押さ れ た 場
合 に は 350 行 に 実行 を 移動 し , パレ ッ ト の 初期 化 を 行なっ て 終了 し ます 。
に に 3
29
(リス ト 2-7)
CLS
FUR 1=1 TO 7
FUR J= の TU 639 STEP 2
X= ニ SIN( (ゴー26* (エー1 ) ) / さ の ) * さ の
PSET (J 。 1 9 ウーX , 1 )
NEXTJ ,。 1
FURK P=1 TO 7:CULOUR= (P 。 の ) : NEXT
FUR P=1 TO 7:CULURK ニ =(P 。4)
FOUR T「= の の TO 2 の : NEXT
COLOUR=(P の) : NEXT
IF INEEY も =" リ THEN う 1 の
FURK P=1 TO 7:CULOUR=(P 。P) s NEXT
SCREEN (screen プ スク リー ン )
R,。G, B の 各 VRAM の 書き 込み と 表示 を コン トロ ー ル し レ ま す 。
[形式 |] SCREEN [アク ティ ブ VRAM コー ド ] [, ディ スプ レイ VRAM コー ド ]
アク ティ ブ VRAM コー ド は 書き 込め る VRAM を 示し , ディ スプ レイ VRAM コー ド は , 表
示さ せる VRAM を さ し ま す 。
VRAM と は VIDEO RAM の 略 で , FM-7 は R (レッ ド ), G (グリ ー ン ), B (ブル ー)
画面 分 。 つ まり 640X200 ドッ トメ 3 画面 。 計 48 K バ イト の VRAM を 持っ て いま す 。
SCREEN 命令 は , 特定 の VRAM を 指定 し て 絵 を 描か せる な どの 書き 込み を し た り , 任意 の
VRAM だ け を 表示 させ る こと が で きま す 。
アク ティ ブ に ディ スプ レイ
VRAM コー ド が 1 VRAM コー ド
どの VRAM も 表示 し な
B の み 表 示
R の み 表 示
B と R を 合成 し て 表示
G の み 表 示
B と G を 合成 し て 表
R と G を 合成 し て 表
全 VRAM を 表示
全 VRAM が 書き 込み 不可
B の み 書 き 込み 可
R の み 書 き 込 み 可
B と G が 3
R と G が 書き 込み 可
全 VRAM が 書き 込み 可
0
1
2
3
+
5
6
7
^=J の の 上 (OO トビ どら
30 2 章 基礎 の グラ フィ ックス
アク ティ ブ お よび ディ スプ レイ VRAM コー ド は ,。 0 から 7 の 範囲 を と り , 内 容 は 以下 の 通
り で す 。
( 例 ) ① SCREEN 1,2 て ( 青 の VRAM が 書き 込み 可能 で , 赤 の VRAM だ け を 表示 )
②③ SCREEN 4:CLS ( 縁 の VRAM の 内 容 が 消去 され る )
パレ ッ ト と 似 て いる 感じ で 混同 し そう で す が , 動作 は 違い ます の で 注意 が 必要 で す 。
SCREEN 文 を 操作 し て いる と き , カ ー ソ ル も 含め て 何 も 表 示さ れ な く な っ た 場合 は [ PF9 | ある
い は 「SCREEN 7., 7」 を 打ち 込み 初期 化し て くだ さい 。
I 回
199 FDR C=7 TO 1 STEP-1 (リス ト 2-8)
11 X=:2+Cx5: Y=Bg+C*15
|
|
129 LINE(2 ロ 9 ,B9) -(X 。Y) 。PSET 。C 。BF
13@ NEXT ヒ
149 FDR SCR=1 TO 7
15g SCREEN 7,SCR
169 FUR T=g TU 1ggg:NEXT T
17g NEXT SCR
150 行 で ディ スプ レイ VRAM コー ド の
値 を 変え て ,。 各 色 の 表示 の 様子 を 示し まし た 。
160 行 は , 表示 時 間 の タイ ミ
ララ <
いる だ
7/
N
NG
ヽ
さ
(て
|
リエ ーー
やす
に
を 切り 替え る 芸当 が で きま す 。 こ の 動作 を 連 (写真 2-17 SCREEN の 実 叶 )
続 し て 繰り 返 え す と アニ メー ショ ン が 可能 で す 。 し か し , 本物 の アニ メー ショ ン の よう な , 滑
ら か な 動き を 出す こと は 作画 スピ ー ド の 点 で 難し く , コマ 送り 風 の 動画 に な っ て し まい ます 。
SYMIBOL (symbol ノ シン ボル )
アン 密 「 と 人 和志 の ンー ン て テ と ーー ら の に ーー ジン: > ヨー ーー に
文子 列 を 任 褒 の 大 き さ , 任意 の 位置 。 任意 の 方 向 で 表示 し ます 。
[形式 | SYMBOL (X,Y), 文字 列 , 横 倍率 , 縦 倍率 [,[ カ ラー 番号 ] [, [角度 コー ド ]
[, 機能 ]]]
37
の 病 令 は F-BASIC 独特 の も の で , 文字 列
を 好み の 大 き さ に 拡大 で き , 画面 の タイ トル
表示 に よく 使わ れ ま す 。 ま た 文字 列 は 90' 単
位 で 回 転 き せる こと も で きま す 。
(X。 Y) は 表示 位置 を 示し , 文字 列 の 枠 内
の 左上 の ドッ ト 座 標 を 指し ます 。
倍率 は , 拡大 の 倍数 を 表し , 横 方 向 , 縦 方
向 別 々 に 指定 する こと が 可能 で す 。 ( 図 2-3)
角度 コー ド は 文字 列 の 回 転 方 向 を 示し , 90' ず フ 左 回 転 き させ て 表示 で きま す 。
機能 は 。 PSET。PRESET。 AND, OR, XOR, NOT の 指定 が で きま す 。
(リス ト 2-9)
1 の の SYMBOL (32 。 1 99) 。
11 の SYMBOL (32g 。 1 の) 。 "FBASTC" 2。
12g SYMBOUL (329 。 199) 。 "FBASTC" 。4。2
1 さ 3 SYMBDL (32 。 1 の ) 。 "FBASTC" 。2。4
功
和
TV8 圭 pasrc
(写真 2-18 リス ト 2-9 の 実行 画面 (文字 列 の 回 転 ) )
SYMBOL 命令 を 使っ て , 影 付 き 文字 を 表現 し て み ま し た 。 表 示 位置 を わずか に ずら せ て 。,
文字 列 の 二 重 描 き を させ て いま す 。 小 イキ な タイ トル 表示 と し て 使え ます 。
(リス ト 2-10)
19 の 9 SYHBUL (79。79) 。"FM-BRAPHTC" 。6。 さ 。2
11 の SYMB ロ L (66。 6 日) 。 "FM-BRAPHTC" 。6。 さ 。5
Co
ト ho
ト つ っ
理
意 基礎 の グラ フィ ックス
記
FN-GRRPH 1 で
(写真 2-19 リス ト 2-10 の 実行 画面 ( 影 付き 文字 ))
GET@ (get@ プ ゲッ ト ア ッ ト )
指定 し た 範囲 の 画面 情報 を 配列 に 取り 込み ます 。
GET@(X1,Y1) -(X2, Y2), 配列 名
GET@A(X1, Y1) 一 (X2, Y2), 配列 名
GETe(X1,Y1) -(X2, Y2), 配列 名 。G[, カラ ー 番 号 [, カラ ー 番 号 ] …]
形式 』 | GET@A(X1, Y1) 一 (X2, Y2), 配列 名 , G
ひと つの キー ワー ドド 形式 が 4 つも ある と うん ざり し て きま す 。 し か し , それ だ け に , きめ 細
か い コ ント ロー ル が で きる と 思っ て し っ か り 理 解 し て く ヵ
GET@ は, 後述 の PUT@ と 対 で 使わ れる も の で , 指定 す 還 の 人 W 報 っ くり 配列
の 中 に 取り 込ん で し まう 機能 を 持ち ます 。 一 度 配列 に 入れ て し まう と , PUT@ で 呼び だ せ は ば 即
座 に その 情報 を 画面 の 任意 の 場所 に 表示 する こと が で きま す 。
形式 1 お よび 2 は 画面 情報 と し て キャ ラク タ を , 形式 3 お よび 4 は ドッ ト を 取り 込み ます 。
また 形式 2 お よび 4 は , カラ ー 情 報 も 含め て 配列 に 格納 し ます 。
GET@ て 配列 に 取り 込む 要 案
グラ フィ ックス を 行なう うえ で , 重要 な
形式 は 3 お よび 4 に 絞ら れ ま す の で , 本 書
で は , これ ら を 中 心 に 述べ て いき ます 。
(X1, Y1) 一 (X2, Y2) は , 配列 に 入れ る
画面 範 因 を し ます 。 た と えば,
(100, 100) 一 (150, 120) は 図 2-4 の 範
囲 を と り ま す 。
説明 が 前 後 し ます が , GET@ 文 を 実行 す
る と き は , あら か じみ め 取り 込む べき 画面 徹
囲 に 従っ た 大 き さ る の 配列 を 宣言 し て ち お みわ ね ば な り ま せん 。
1 ドッ ト が 1 ピット に 対応 し て いま す の で , 1 バイト の メモ リー で 8 ドッ ト 分 が 格納 で きま
( 図 2-4 (100,100) 一 (150, 120) の 箇 囲 )
す 。 画面 範 囲 が 1000 ドッ ト あ る 場合 は ,
1000 ド ッ ト エ 8 ピッ ト =125 バイ ト
と な り , 125 バイ ト 分 の メモ リー が 必要 で す 。 これ を 配列 変数 に 岬 き 換え る と , 整数 型 は 1 つの
変数 に 2 バイ ト 分 使う の で
125 バイ ト =2=62.5
と な り , 63 個 の 配列 を 宣言 し て お け ば 良い わけ で す 。
単 精度 型 で は 125 バイ ト エ 4=31.25
倍 精 度 型 で は 125 バイ ト =8=15.625
と な り , それ ぞ れ 32 個 , 16 個 の 配列 を 用 意 し ます 。
富士通 の マニ ュ ア ル で は 整数 型 の 配列 に 格納 する 例 を 挙げ て いま す が 。 要 は 必要 な メモ リー
の 数 が 確保 で きれ ば 良い わけ で , どの 型 の 配列 変数 を 使っ て も 構い ませ ん 。
形式 3 に 必要 な 配列 の 個数 =INT((INT(( 総 ドッ ト 数 +7) プ 8) エ aー1) グ a)
a の 値 は 整数 型 … a=2, 単 精 度 型 …a=4, 倍 精 度 型 …a=
形式 4 に 必要 な 配列 の 個数 =INT((INT(( 総 ドッ ト 数 7) プ 8) * 3 二 aー1) 3a)
形式 4 の カラ ー 情 報 $ ゎ 含め た と き の 配 列 の 大 きる は 形式 3 の 場合 の 約 3 倍 に な り ま す 。
形式 3 の カラ ー 番 号 は , 取り 込む べき ドッ ト の 色 を 指定 し ます 。 指定 され た 色 で 表示 され て
いる ドッ ト だ け を 読み 取り , 配列 に 格納 され ます 。 各 形式 に お ける 画面 情報 の 取り 込み 方 の 違
42NEST 拉 の グラ シ ガ サダ ツク ブフ ーーーーー 連 バーーー ーーーー ニ ーーー ーー デビ ト am
い を 見 て み ま し ょ う ,。
(リス ト 2-11)
DIM BZ(Bgg) : FDR 1=7 TO 1 STEP-1
11g CIRCLE(19g。15 の ) , 1*9』1。。。 FsNEXT
12g BET@(1g,121) (164 。179) 。BZ 5
149 PUT@(25g』121) 一 (14。179) 。GZ PSET
15g BETe(19g。121) 一 (164,179) 。B ん 。G。1 。 さ 。5。7
160 PUTe (35 の 。 121) 一 (414。179) BZ。PSET
17g GETGA(199。121)-(164。179) 。BZ。G
PUTeQ(45g』121 ) -(514。179) 。GZ。PSET
写真 左端 の 同心 円 状 の 図 が , 110 行 で 捕
か れ た 原図 で す 。 そ の 隣り の 半 円 状 の も の
は , GET @ の 書式 の 違い で , 配列 に 取り 込
まれ た 画面 情報 が どの よう に な っ て いる の
か を PUT@ 命 令 を 使っ て 表わし て いま す 。
左 か ら , 形式 3 で カラ ー 番 号 を 省略 し た
場合 (120 行 )、 カラ ー 番 号 を 指定 し た 場合
(150 行 )、 形式 4 の 場合 (170 行 ) の 順 で
並ん で いま す 。 (写真 2-20 リス ト 2-11 の 実行 画面 (画面 情報 の 取り 込み 方 ))
お ,GET@ で 取り 込む 画面 の 範囲 は , 原図 の 右 半 分 だ け を 指定 し まし た 。
PUT@ (put@ ノ プッ ト ア ッ ト )
GET@ で 配列 に 格納 し た 画面 情報 を 任意 の 位置 に 表示 し ます 。
[形式 1』| PUT@(X1,Y1) 一 (X2,Y2), 配列 名 [, カラ ー 番 号 ]
[形式 3 | PUT@A(X1,Y1) 一 (X2, Y2), 配列 名
「 形 素 3」 PUT@(X1, Y1) 一 (X2, Y2), 配列 名 , 機能 [, カラ ー 番 号 ]
| 形式 | PUT@A(X1,Y1) 一 (X2, Y2), 配列 名 , 機能
各 形式 は , GET@ の 形式 と 対応 し て いま す 。 形式 1、 2 は キャ ラク クタ 単位 、 3。 4 は ドッ ト
単位 で (X1, Y1) 一 (X2, Y2) の 画面 範囲 に 表示 し ます 。GET@ で 宮 言 し た 配列 の 大 きる を 超え
35
移 CCURSOR (gcursor プ グラ フィ ッ ク カ ー ソ ル )
画面 に 表示 し た グラ フィ ッ ク ・ カ ー ソ ル 位 置 の ドッ ト 座 標 を 読み 取り ます 。
[形式 | GCURSOR (X,Y), (変数 名 1 , 変数 名 2 ) [, (変数 名 3, 変数 名 4 ) …] [。 カラ
ー 番 号
GCURSOR は ,+ の 形 を し た カー ソル で , 画面 の 任意 の 位置 に ドッ ト 単 位 で 表示 する こと が
で きま す 。 表 示 後 カー ソル キー を 押す と GCURSOR は 移動 し , リタ ー ン キー を た た く と その
位置 の ドッ ト 座 標 を 変数 に 代入 し ます 。
GCURSOR (320, 100), (A, B)
これ を 打ち 込む と , 画面 中 央 に CCURSOR が 表示 され ます 。 次 に , カー ソル キー を 使っ て
GCURSOR を 任意 の 位置 へ 移動 る きせ , リ クー ン キ ー を 押す と , その 位置 の 水平 座標 が 変数 A に ,
垂直 座標 が B に 代入 され ます 。 念 の た め , グイ レク トモ ー ド で PRINT A, B と 打ち 込ん で く
だ きい 。 読み 込ま れ た 座標 値 が 確認 で きま す 。
変数 名 は 複数 個 の 指定 が 可能 で , カー ソル キー, リク ー ン キー の 操作 の 順 で 次 々 と 座標 を 読
み 取 ろ こ と が で きま す 。GCURSOR は シフ トキ ー を 併用 する と 移動 速度 が 速く な り ま す 。
カラ ー 番 号 は , GCURSOR の 表示 色 を 指定 し ます
GCURSOR は 他 の 機種 に は み ら れ な い F 一 BASIC 独特 の も の で ,。 ライ トペ ン が わり と し て
使え る 便利 な 命令 で す 。 ラ イト ペン は 精度 に 問題 が 色 0 り ます が , 操作 性 に すぐ れ て いま す 。
GCURSOR は 反対 に , 精度 は ドッ ト 単 位 で 正確 な の で す が , キー 操作 が わずらわし いと いえ ま
す 。 一枝 に どちら が 良い か と は いえ ませ ん が , 初期 投資 を し な く て 済む 分 だ け GCURSOR に
軍配 が 上 が り ま す 。 マ ウス は , この 両方 の 特長 を 兼ね 備え を た も の と いえ ます 。 富 士 通 か ら FM 用
の マウ ス も 発売 され て いま す 。
oO
乏 CONSOLE (console プ コン ソー ル ) 省略 形 CONS.
スク ロー ル 範 囲 や 。 ファ ンク ショ ン キ ー の 表示 スイ ッ チ の 設定 を 行ない ます 。
CONSOLE [スク ロー ル 開 始 行 ] [, [スク ロー ル 行 数 ] [, [ファ ンク ショ ン 表 示 ス
イッ チ ] [。 コン ソー ルカ ラー スイ ッ チ ]]]
36 2 章 基礎 の グラ フィ ックス
スク ロー ル 開 始 行 は 0 て 24, 行 数 は 0 て 25 の
範囲 で 指定 し ます 。 こ の 指定 は WIDTH で
CN CR
開始 行 お よび 行 数 の 指定 に より , 画面 を 分
EE
の と き , 「CONSOLE 10.5 」 は , スク ロー ル
範囲 が 10 行 目 か ら 15 行 目 ま で と な り , 9 行
目 ま で が ペー ジ モ ー ド 1, 16 行 ~ て 25 行 目 が
ペー ジ モ ー ド 2 に 設定 され ます 。
市 販 の アド ペン チャ ー ゲ ー ム な ど で は ,。
CONSOLE 22,3 と 初期 設定 され て いて , ペ
ー ジ モー ド 1 に 絵 を , 下 3 行 の スク ロー ル 範
囲 に 状況 説明 を 表示 させ て いる 例 が 多い よう
76。
ファ ンク ショ ン キ ー 表 示 ス イッ チ を 1
に す
る と, 画面 の 下 2 行 に ファ ンク ショ
ン キ ー の 内 容 が 0 れ ル ま 33 当 の 場合 3
ロー ル 開 始 行 お よび 行 数 の 範囲 は 2
行 分 少な く な り ま す
コン ソー ルカ ラー スイ ッ チ を 1 に する
と , 画面 は 緑色 だ け の 単色 表示 に な り ,
文字 の 出力 動作 が 速く な り ま す
く な り ま す 。
電源 投入 時 は ,「CONSOLE 0, 20,0,0」
に 初期 設定 きれ て いま す
に
スク ロー ル 範 団
( 図 2-5)
( 図 2-6)
LT
8 OSAE52.4.8
1
REX1
( 図 227 ファ ンク ショ ン 表 示 ス イッ チオ
3/
人 9 CLS (clear screenm プ クリ アス クリ ー ン )
画面 を 消去 し 。 カーソル を ホー ム ポ ジ シ ョ ン に 戻し ます 。
[形式 ] CLS (消去 爺 胃 フード)
な に を いま さら と 思わ れる か ち も 知れ ま せ ん が , CLS の 消去 節 囲 ゴウ ラメ 克 > も 提
付く 人 は , 以外 と 少な いも の で す 。
消 夫 分 囲 は ,。 CONSOLE 命令 の 設定 と 密接 な 関係 を 持っ て いま す 。
消去 範囲 コー ド 意 味
生 画 面 を クリ ア
スク ロー ル 画 面 を クリ ア
ペー ジン ェ ニ ーー 1 ンタ ジン) ラン
ペー ジ モ ー ド 2 を クリ ア
金 F-BASIC 活用 ソフ ト (山海 堂 発行 )
7 一 アム 品 と グ = プ プ (fw-7NEw7.77
潮 守 著 /B5 判 /2,100 円
FM-7・NEW7・77 で 使え る プロ グラ ム の リス ト と その 使い 方 ・ 操 作法 を 収載 .
@ 辞 革 付 簡易 日 本 語 ワ ー プ ブロ . 縦 印刷 も で きま す 。
@ ビジ ネス グラ フ と 統計 表 ・ 統 計 グ ラフ . 複合 クラ フ も 表示 で きま す .
@ ディスク ユー ティ リティ . アク セ モス の スピ ー ド を アッ プ す る フォ ー マ ッ ト な ど 8 種 .
@e FM 一 PC ファ イル 変換 FM と PC 間 で 相互 に プロ グラ ム を 読み 込め ます .
@ その ほか ,、 グラ フィ ッ ク バ パネ ル ・ 金 利 計算 ・ オ ル が ガン な ど 計 11 本 収載 .
宅 フロ ッ ピ ー デ ィ ス ク 頒 布 サ ービス
全 プ ログ ラム 17 本 を ディ スク で 頒布 し て お り ま す . 5 イン チ , 3.5 イ ンチ と も 7000 円 で す
(送料 当社 負担 )、 サイ ズ を 明記 の うえ 現金 書留 に て お 申し 込み 下さ い .
申し 込み 先 東京 都 文 京 区 本 郷 5-5-18 山海 堂 営業 部 MS 係
グラ フィ ッ ク の 命令 に つい て , その 機能 や 動作 な ど 一 通り 述べ て きま し た が , ある 目的 を 送
成す る た め の ま と まっ た プロ グラ ム を 組 も うと する と 。 あ る 程度 の 慣れ や カン が 必要 と な っ て
きま す 。
また , マイ コン 教室 に 通っ て ペー シッ ク を 習っ た けれ ど , いざ 自分 で 具体 的 な プロ グラ ム を
作ろ うと し て も , どう し て よい や ら 困 っ て し まう と いう 話 も よく 耳 に し ます 。
プロ グラ ミン グ は 、 キー ワー ド を いく ら 正 確 に 覚え よう と も 。 英 単語 だ け を 覚え て 英会話 を
し よう と する の と 同様 。 き ぎこちない も の と な る ば か り で な く , まっ た く 意 味 の 通ら な いり 場合 さ
え 起 こり ます 。 プ ログ ラム は “流れ ” で すか ら , 目的 を 達し つつ 流れ が 止ま ほら な いよ うに 道 を
作っ て いか ね ば な り ま せん 。 キーワー ド の 機能 や 動作 を 理解 すみ こと は も ちろ ん 重要 な こと で
す が , も っ と 大 切な こと は 。 各 キー ワー ド を どの よう に 組み 合わ せ 。 い か に し て プロ グラ ム と
し て まとめ る か と いう 点 で す 。 そ の た め に は 。 自分 の させ た い 仕事 を な る べく 小さ な 単位 に 分
け ,。 単位 ご ど と の プロ グラ ム を 作っ て 。 最 終 的 に それ ら を つなぎ 合わ せ て 一 本 の プロ グラ ム と し
て 仕上 げ る 方 法 を と る こと が 最良 で は な いか と 思い ます 。
フロ ー チ ャ ー ト を 書い て みる こと も 一 手段 で それ な り の 効果 は 絶大 で て す が , これ は 以外 と 大
変 な こと で ,。 ペー シッ ク を 覚え た て の 時 に は と か り て で 終わ っ て し まい が ち で す 。
ま ど う ば
ベー シッ ク は 。 制約 の 少な い 気 軽 に 書き 下 せる 言語 で す 。 さ せ た い 仕事 を 細か く 分 け て プロ
ン ン
ゲ 7 ルー チン と し て 。 メ イン プロ グラ ム か ら 呼 び だ す
39
よう に すれ ば , 自然 と 大 き な プ ログ ラム に 育っ て いき ます 。 まずは, 単 一 機能 の 小さ な プログ
ラム を 気軽 に 書き 下す こと か ら 始 め て くだ さい 。
よく IF 文 を 使い 過ぎ る な と か , GOTO 文 を と ころ 構わ ず 使用 する こと は 良く な いと か いろ
ゅ ろ い われ て いま す が , 最初 の うち は そん な こと に と ら わ れる 必要 は あり ませ ん 。 どん な 命令
の 使い 方 を し よう と , エラ ー を 起こ さ ず に 目的 を 達する こと が で きれ ば , それ て 立派 な プロ グ
ラム と いえ ます 。 プ ロ に な る の で ある な ら げ ば 話 は 別 で す が , 最初 か ら , プロ グラ ミン グ は , あ
る べき だ と 多 屈 に 考え 過ぎ て し まっ て は , 自由 な 発想 は 生ま れ ま せん 。
この 命 chibi ) 2 BA
どの 命令 を 使え ば 良 ら の か な ど と 。 ら ろ い らい ろ 考え , あれ これ 試し て みる こと が 上 達 へ の 第 一
で の 電
この 章 で は , 具体 的 な プロ グラ ミン グ 例 と し て , グラ フィ ッ ク を 中 心 に いく つか の サン プル
プロ グラ ム を 掲載 し まし た 。 各 命令 の 使い 方 や テク ニック な ど を 自分 な り に くみ 取り プロ グラ
ム 作り に 役立て て くだ さい 。
グラ フィ ッ ク ・ デ モン スト レー ショ ン |
手始め に , グラ フィ ッ ク 命 令 を 使っ た 簡単 な デモ プロ グラ ム を 作っ て み ま し ょ う 。 デ モ は パ
ソコ ン を 手 に する と, 誰 も が 一 度 は 作る プロ グラ ム の よう で す が , 各 命令 の 機能 や 動作 を 理解
し , 確か め る うえ で は うっ て つけ と いえ ます 。
リス ト 3-1 は , PSET, LINE, CIRCLE, PAINT の 命令 を 使用 し た プロ グラ ム で す 。 座標
の 値 は 乱数 で 決め て お り , また PAINT の ルー チン は サブ に し て いま す 。
リス ト 3-2 も 同様 の デモ プロ グラ ム で す が , 座標 の 値 は FOR 文 に よっ て 決め て いま す 。 乱
数 と 異な り , 規則 性 を も た せ た 図 が 描画 で きま
ao ンコ er の 本 の ーッ まこ 生ま
分 独自 の デモ プロ グラ ム 作 り に 挑戦 し て くだ さい 。
リス ト 3-3 は , 表示 色 を 瞬時 に 別 の 色 に 変え て し まう パレ ッ ト の サブ プ ル ー チ ン で す 。 デモ プ
ログ ラム の 中 で 「GOSUB 300」 と し て 呼び だ す な ど , いろ いろ 活用 し て くだ さい 。 330 行 は 。
パレ ッ ト コ ー ド を 初期 化す る た め の ル ー チ ン で す 。
あす べき が ,
き
40 3 章 実践 プロ ダグ ラミ ング
本: エエ テ ズ エエ テ エ テテ エ エエ: 還っ 2 こ 1 に = 拉 軒 放 エエ テテ マエ そそ そそ そそ 3
RANDUMIZE TIME/ さ : CLS
FUR 1=g TO 1 の
X=RND*64: Y=RND 199
PSET(X ,Y 。RND*7) : NEXT
本 エエ エエ エエ エエ エエ エエ 生還 8 いこ 紅 さそ さそ そそ そそ そそ そそ そそ コ
FUR 1=g TO 15
X1=RND*64g: X2=RND*64g
Y1=RND*2 の : Y2=RNDk2g
LINE (X1 ,) -(X2。199) 。PSET 。RND*6+1
LINE (の 。Y1 ) -(639 。Y2) 。PSET 。RND*6+1
NEXT: BHSUB 27g
" 共 間 天天 基 天 天天 天天 じじ ITRCLE 天天 共 共 共 基 天天 天天 共 其
CLS:FUR 1=g TO 5g
X=RND*649: Y=RND 199
CIRCLE(X ,Y) 。RND* 1 。RND*6+1
NEXT: GDSUB 27g: BUTU 1gg
* 基 基 基 天天 天天 天天 た PTNT/GUHB 区 天天 基 共 天天 共 基 基 基
FUR 1=g TO 1gg
X=RND*64: Y=RND*199
PAINT(X 。Y) 。RND*6+1 。1 。2。 さ 。4。 呈 。 ら 。7
NEXT: RETURN
(写真 3-2 乱数 を 使用 し た デモ 画面 ②)
47
(リス ト 3-2)
1 の の “区区 北 区 大 天天 天天 基 牙 牙 天 天 PO ロ ET 若 基 区 天正 天正 若 基 正基 基 基 基
11 の CLSsFUR X=g TU 64g STEP 1g
12g FOUR Y= ウ TO 199 STEP 19
13 の PSET(X。Y。X MOD フ ) :NEXT Y,X
14 人 の 区 区 贅 区 大 区 区 小区 区 区 乾 し LTNE 共 基 基 共 基 基 若 基 区 基 基 韻 若 共
15g の FUR 1I=64 の TU の STEP-4
16 の し LINE( の , の ) 一 (1 。1/ う ) 。PSET 。 1 MUD 7,BF
17 の NEXT
1 日 切 “区 交 区 区 北 牙 下 基 基 基 基 基 基 CIRCLE 区 大 天天 基 基 基 基 基 基 共
19 の CLS:FUR 1=15 の TU 494 STEP 4
2 の CIRCLE(T 。1 の の ) ,15 の 9。T MOD 7
21 の NEXT
EE エ テス テテ エエ テテ テテ テテ エゴ コーブ ^98H. 支 文 誤 区 二 元 区 元 到 丈 : 丈 コ
PATNT (1g。 1 の) 。 ら 。1 。2。 う 。4。 避 。 ら 。7
PAINT (1 の 。19 の ) 。2。1 2。 さ 。4。 避 。6。7
人 T W
NT ET
人 W 0 NN
NN の / が
(写真 3-3 規則 性 を 持た せ た デ モ 画 面 ①) (写真 3-4 規則 性 を 持た せ た デ モ 画 面 ②)
(リス ト 3-3)
る の "エエ キ エ キキ キキ キキ キキ エキ エ 二 PALET キキ キキ キキ エキ イキ ナオ
ミ さ 1 の FOUR =1 TO 7:CULUR=【( エ 。 ヨ ー1 )
ミュ 2 の FOUR T= の TH 5gg:NEXT T。 エ
ささ の FUR P=g@ TO 7:CULUR=(P 。P) :NEXT
パソ コン に 絵 を 描か せる 方 法 に は , 大 きく 分 け て 二 通り の 手段 が あり ます 。
42 3 章 実践 プリ ログ ラミ ング
ひと つ は , 決め られ た 手順 に 従っ て 座標 の デー タ を 読み 取り , LINE 文 な ど で 線 を つなぎ ,
絵 を 一 気 に 描き 上 げ て し まう 方 法 で す 。 パ ソコ ン ・ シ ョ ッ プ で アニ メキ ャ ラク タ を 描か せ て い
る デモ ンス トレ ーション は , この 方 法 が 多い よう で す 。
ち も う ひと つの 手段 は , 画面 を 見 な が な ら キ ー ボ ー ド を 絵筆 が わり に , 直接 ディ スプ レイ に 描い
て いく 方 法 で す 。
國 絵 を 描く プログ ラム
最初 に 前 者 の 方 法 に つい て 述べ て み ま し ょ う 。 ま ず , 下絵 を 準備 し , 座標 を 拾い ます 。 座標
ま 絵 を 形 どる 要 所 要 所 の 点 を 順 々 に プロ ッ ト し ま 点 は 640X200 ドット の 範囲 で な けれ ば
な り ま せん 。 座標 を 拾い 終わ れ ば 作業 は お し まい で , あと は この デー タ に 従っ て 座標 を 打ち 込
線 を 結ば せれ ば 絵 は 完成 し ます 。
拉 和 oo
りす る 作業 が 最も 大 変 な た こと な の で す 。 ま た 下絵 の 出来 不 出来 が その まま 表現 きれ て し まい ま
す の で , 下絵 に は 充分 な 注意 を 払わ な けれ ば な り ま せん 。 下絵 を 修正 し な が ら 座 標 の 入力 を し
よう な ど と いう 考え は 禁物 で す 。
絵 の 座標 デ ー タ を 格納 する 方 法 は いく つか あり ます の で , 次 に 実例 を まじ
方 法 に つい て 述べ て み ま す 。 プ ログ ラム 例 は , FM と いう 形 を 描 あ せ て いま す
⑯ CONNECT 文 内 に 直接 格納
スピ ー ド も 速い の で す が , 複 術 で 混み 入っ た 図柄 の 座標 値 を ズラ ズラ 入れ て
し まう と , プロ グラ ム が 見 づら く な る と と も に , 修正 が や り に くく な り ま す 。 比較 的 単純 な 図
の
効 な 手段 で す 。
19 の 9 CHNNECT (139 。5g) (27 の 。5g) 一 (27 。7g) 一 ( 17 の 。7) 一 (17 の 。 ヨ の ) 一 (25g
| ぅ B9) 一 (259 。 199) 一 (179 。199) 一 (179。13 の 9) 一 (13 の 。 13 の 9) 一 (13 の ウ 。5 ら の) 。 フ
11 の CUNNECT (329 ,5g) (369 。 5 の) (41 の,95) 一 (46 。5 ) 一 (5 の の 5 の ) 一 (5 の の
| ぅ 13 う 9) 一 (469 。 139) 一 (469 ,B5) 一 (419。13 の ) 一 (36 。 日 ら ) 一 〈 さ 6 の 。 1 さ ) 一 (32
|
一 番 簡単 で 描画
ク
を
づ
ーー ムル エキ テス 、 ュ レフ シリ ンー) シテ っ
表 や 絵 を 描か せる と き に は 有
9, 139) 一 (3 2 , 5 の ) 7
129 PAINT(159,69) ,2。7: PINT ( さ 49 。69) 。1 。7
ーー
C ふ
@。 DATA 文 に 格納 し , READ 命令 で 読み 出す
絵 を 描か せる プロ グラ ム と し て 代表 的 な 方 法 で す 。 DATA 文 を 増やす こと に より , どん な 複
槍 な 図 肛 で も 表現 可能 で す 。
200 行 以降 の デー ク を 100 行 と 110 行 の READ X, READ Y て 読み 取り , LINE 文 で 線
を つなげ て 絵 を 描か せ て いま す 。
首 き 始め を 区 別 す る た め に , デー ク に は 少し 細工 を 加え て いま す 。 通常 LINE 文 は , 線 を 結
ば せる ろ る 2 点 の XY 席 棲 を セッ トレ ます が , 次 々 と 線 を つなげ る と き に は デー クタ の 重 復 が 問題
導き の 要領 で 描画 が で きる LINE- (X, Y), PSET と し て , 出発
に な り ま す 。 そこで,。 一 筆 描 き の 要 分
まま で す と , いっ た ん 緑 を 切っ て 新た な 位
点 を 省略 し た 命令 の 使い 方 を し まし た 。 し レ しか し この
中 か ら 線 を 描か せ た い と き に , 線 が 切れ ず に 困っ て し まう た め , 描き 始め を 区 別 する 細工 が 必
要 に な っ て きま す 。
この プロ グラ ム は 描き 始め を , READ X メ で 双 座 標 値 を 読ん だ と き に , その 数 値 が 1000 以
上 の 場合 に 区 別 さ れる よう に し て あり ます 。 つ まり , 実際 の X 座標 値 に 1000 を 加算 し た デー
(リス ト 3-5)
区 区 天天 区 天天 DRT READ 区 革 区 区 区 区 基 区
RERD X:IF X メ ニー 999 THEN 1 の
READ Ys: ITF X>= ニ 1 の の の THEN 15g
X の = ニ メ ー1 の の =: Y ロ =YsREAD XY
LINE(Xg。Y ウ ) 一 (XY) 。PSET 。7: GUTOU 1 の の
PQINT (15g。69) 。2。 フ
PATNT (349。6 の ) 。1 。7: END
1 1 さ の 。 5 27 。 呈 9 。 27 。 7 。 1 7 の 。 7g
1 7 の 。 の , 25 。 の 。 25 の 。 1 9 の 。 1 79 。 1 の の
179 。 1 さり 。 1 の 。 1 3 。 1 の 。 5 の
132 。59 。 さら 。 9 。 419 。95 。 46g 。 品 の
の 。 5 。 呈 ロロ 。 1 さ の 。 46 の 。 1 の 。 46 。 日 5
41 の 13, さ 69 。 ヨ 5 。 さら 。 1 3 。 さ 2 の 。 1 さ g
さろ 。 。 999
タ が 。 描 き 始 め を 意味 する わけ で す 。
110 行 で 。X が 1000 以上 だ と 判断 され る と
150 行 に 飛び , 1000 を 引い て X の 値 を 本 来 の
座標 値 に 戻し 。 そ の 数 値 を XO に 代入 し ます 。
Y0 に Y の 値 を 代 人 人 し た の ち , デー タ 文 か ら
新しい デー タ を X,Y に 読み 込ま せ , 160 行
で (X0, Y0) - (X, Y) と し て 描画 し て いま
す 。
デー タ 文 最後 の 999 は , READ 命令 の スト ッ パ ー の 役目 を 果たし て いま す 。 こ の スト ッ パ ー
(写真 3.5 リス ト 3-4.3-5 の 実行 画面 )
が な いと ,。 デー タ が 無く な っ て も 。 なお, デー タ を 読み 込 も うと し , out of data エラ ー と な
っ て プロ グラ ム は 止ま っ て し まい ます 。 100 行 で X の 値 が 999 で ある と 判断 され る と 180 行 に
飛び, PAINT を 実行 し 絵 は 完成 され ます 。
@⑯ 配列 に 格納
メモ リ 効 率 が 良く 。 カ セッ ト や ディ スク か ら の 入出 力も 容易 で す が , デー タ の 入力 用 プロ グ
ラム が 必要 で す 。
100 て 140 行 が 入力 用 , 150 行 以降 が 描画 用 の ルー チン で す 。 リ スト が 長く な る の を 避け る た
め に 最小 限 の 機能 こと と ど め て いま す が , 実用 性 を ち た せる た め に は , も っ と し っ か り し た プロ
グラ ム に し な けれ ば な り ま せん 。 入力 ルー チン は , も っ と 親切 に 設計 する 必要 が ある し , 描画
方 法 も も う 少 し 工夫 が いり ます 。
上
9 XX%KXX※ え 区 DIMENGTUN 区 交 交 基 区 基 基 (リス ト 3-6)
1 の INPUT "ムスメ フ ~ テフラ ノ カタ] "sa |
11g DINM X(a) 。Y(A)
129 FUR =1 TU azPRINT "No"si ts i
139 INPUT" X。Y 9^ ヒ ョ ウ "3X(L) 。Y(I) |
14 NEXT 1
1 "ーーーーーーーーーーーーーーーーーーーーーーーーーーー 一 一
| 155 LINE (X(1) 5Y(1) ) 一 (X(2) 。Y(2) ) 。PSET
169 FUR 1=3 TO Aa
| 18g LINE-(X(1) 。Y(1) ) 。PSET
| 199 NEXT I
46
配列 に 格納 し た デー タ を 描か せる プロ グラ ム の 一 例 と し て , 参考 に と ど め て くだ さい 。
人 る @ メモリ に 直接 格納
ひと つの デー ク を 2 バイ ト の メモ リ を 使っ て , 指定 する 番地 以降 に 格納 し ます 。 マシ ン 語 で ,
この デー ク を *BIOS に 送り 込み , 描画 きる せ て いる の が 普通 で す 。
マシ ン 語 と 聞く と , ずい 記 ん 速く 絵 が 描け そう な 気 が し ます が , 1 本 の 線 を 引く スピ ー ド その
も ちの は , BASIC で も BIOS を 利用 レ し た マシ ン 語 で も か わり ませ ん 。 線 を 引く ルー チン は ROM
の 中 に マシ ン 語 で 用 竜 き され て ちり , BASIC で LINE- と 命令 する と ROM 内 の マシ ン 語 を 呼
び だ し て 実行 し ます 。BIOS 経由 の マシ ン 語 で も 結局 同じ こと を し て いま す 。
マシ ン 語 は , デー タ の 転送 や 計算 。」。 ル ー プ に 枯 違 いひ の スピ ー ド が ある も の の , 絵 を 描か せる
全体 の 処理 を 通し て BASIC と 比べ て みる と , その 速度 差 は わずか な も の で す 。
一 桃 に , マシ ン 語 だ みかみ ら すべ て が 数 十 倍 , 数 百倍 速い と は いい 切れ な いわ け で , 絵 を 描か せ
る プロ グラ ム で は , BASIC で も マシ ン 語 に 引け 目 を 感ずる 必要 は あり ませ ん 。
(* BIOS 一 BASIC Input Output System)
人 @ 外部 記憶 装置 に 格納
少し 意味 あい が 異な り ま す が , この 方 法 は ディ スク な ど に 格納 し た 画面 デー タ を 読み 描画 し
ます 。 プリ ンタ に 対す る ハー ドコ ピー と 似 た よう な 出力 で , 描い た 手順 に 関係 な く 描画 し ます 。
放 し く は 62 頁 の 「 画 面 情 報 の 直接 転送 」 の 項 を 参照 し て くだ さい 。
デザ イン ・ シ ー ト を 使 お う |
デジ タイ ザー な ど 特 別 な 機器 が 無い 場合 は , 座標 の 入力 手段 と し て , グラ ブフ 用紙 な どの 方 眠
紙 に 原画 を 描い て か ら , 絵 の 座標 を 目盛 を 追っ て 読み 取る 方 法 が 一 般 的 で す 。 しかし, 方 眠 紙
の 目盛 は 縦横 の 比率 が 1 対 1 に な っ て いる た め , 640 メ 200 ドッ ト の 縦横 の 画面 比 (1 対 0.4495)
と 異な り , その 調整 に 気 を 配ら ね ば な り ま せん 。
46 綱 の デザ イン ・ シ ー ト は , 640X200 ドッ ト の 画面 比 に 対応 し た 目盛 を 付け て あり ます 。
原画 を この シー ト に 直接 描き , その 絵 の 座標 を 目盛 か ら 読 み 取れ ば , その まま 正確 な 座標 デー
13
実践 プロ グラ ミン グ
g8
ど 【
g9r
Gr
gaSr
19
gGr
も 5
ご !
よ
Q
6
giT
2 に )
284
g【 上
4/
クタ と な り ま す 。 何 枚 か コピ ー し て お く と 重宝 する と 思い ます 。
スケ ッ チ ボー - ド プロ グ ラム の 作成 |
これ まで 述べ た 方 法 は , あら か じ め 絵 の デー ク を 作っ て お き , 決め られ た 手順 に 従っ て 一 気
に 描き 上 げ て し まう 方 法 を と り ま し た が , 次 に キー を 使っ て 画面 上 に 直接 描く 方法 に つい て 述
べ て み ま す 。 ディスプレイ を 画 布 に 。 キー ボー ド を 絵筆 に みた て て , 画面 を 見 な が ら 絵 を 描き
ます の で , な ん と な く 芸 術 的 で 楽し ら プ ログ ラム に な り ま す 。
直接 。 画面 に 絵 を 描く た め に は
① 点 を 打つ , ② 線 を 引く , ⑨ 円 を 描く , ④ 色 を 塗る
この 4 つの 機能 が あれ ば , 一 応 絵 は 描け ます が , どう せな ら も う 少 し 欲 ば っ て
⑮⑥ ブラ シ 表 示 , ⑥ 画面 の 保存 , ⑦ 画面 デー ク の 読み 込み
の 3 つ を 追加 し て 計 7 機能 の プロ グラ ム を : み ま し ょ う 。⑤ の プラ シ 表 示 と は スプ レイ で
絵 を 描く 効果 を わら っ た ちの で , 指定 する 範囲 内 に 指定 する 色 の ドッ ト を ラン ダム に 描き 込む
ま 。 ま 。
ム の 構造 は 。 これ ら の 各 機 能 を す ベ て サブ ルー チン に し て , メニ ュー の 選択 で 呼び
を
SS
NII
START
498 3 意 実 貴 プ ログ ラミ ング
だ す 方 法 を と り ま す 。
この よう に , 1 機能 =1 サブ ルー チン の 形式 に する と , プロ グラ ム は ひと つ ず つ 単 独 で 考え る
こと が で き ,。 また 機能 の 追加 や 修正 が と て も 楽に な り ま す 。
園 グラ フィ ッ ク カ ー ソ ル
絵筆 に みた て る キー 操作 は , GCCURSOR が 重要 な 人 役割 を 果たし ます 。 この 命令 に つい て は 第
2 章 で すでに 述べ て あり ます が , 士 の 形 を し た GCURSOR を カー ソル キー で 任意 の 位置 に 動
か し , リタ ー ン キー を 押す と その 座標 が ドッ ト 単 位 で 読め る と いう も の で す 。
(リス ト 3-7)
199 BCURSUR ( さ 2g , 199) 。(X1 。Y1 ) 。(X2。Y2)
11@ PRINT X1sY1。X2iY2
12g LINE(X1 。Y1) 一 (X2。Y2) 。PSET
この プロ グラ ム を 実行 する と , まず 画面 中 央 に + の GCURSOR が 現れ ます 。 カ ー ソ ルキ ー
使っ て GCURSOR を 好き な 所 まで 移動 きせ, リタ ー ン キー を 押す と その 位置 の X, Y 座標 が
さ 1] と Y] に 代入 され ます 。 さ ら に カー ソル キー で GCURSOR を 動か し リタ ー ン キー を 押す
と , その 座標 が X2 と Y2 に 代入 され ます 。 代入 され た 各 座 標 値 は 。110 行 の PRINT 文 で 表
示さ れ , 120 行 の LINE に よっ て 2 点 間 が 結ば れ ま す 。
PAINT や ゃ CIRCLE な ども 同様 に 、 塗り 始め 、 あ る ろ る い は 円 の 中 心 座標 等 を GCCURSOR で 指
し 示し な が ら , 少し ずつ 絵 を 完成 させ て いく わけ で す 。
リス ト 3-8 は , この よう な 手法 に よっ て 組ま れ た 絵 を 描く プロ グラ ム で す 。180 行 ま で が メイ
ン ・ ル ー チ ン 。 190 行 以降 は 全部 サ プ ル ー チ ン
の 集まり で す 。
國 メイ ン ・ ル ー チ ン
「CONSOLE 0, 22] と し て , 22 行 目 ま で の
メ
(リス ト 3-8 スケ ッ チ ポー ド プ ログ ラム )
/ 基 大 区区 基 % 区 光 工 ブ カフ ファ ロ フ " ラ /。 ( フケ リ チ ホリ トート" ) 基 交 区 天天 基 直 基 基 基
罰 IDTH B の ,25: CDNSULE の 。 22: DIM PIDX(25) 。FICY (25 の の )
LINE (の , の ) 一 (6 う 9 ,175) 。PSET 。 7 ,H
BUSUB フラ の :LUCATE の 。2 う :HN ERROR BOTO 18g
PRINT "1=LINE 2=PAINT マユ =BRUSH 4=CIRKCLE":
PRINT" 55=BAVE 6=LOAD ウ =END ":INPUT a
IF = の THEN IDTHB の : END
DN GODSUPB 19 の 。 ラ 5 の ,51 の ,6 う 9 , 1 15 の 77 の: BUTU 13 の
CLOSE : BEEP : KESUME 1 の
7 芝 基 基 区 区 天天 基 し 了 [ ME 区 区 基 共 基 芝 共 基 基 基
BDSUE フラ 9:LDCaTE の ,23: ITNPUT "セン フ フー イロ ー" ョ ビ
PR INT "ウケ ルーCURBDK じ EY+RETURN EEY" ェ
PR INT" オ ワ ル =RKETUEN に EEY+RKETURN KEY"s
BCURSUR (2g , ヨ 弓 ) 。 ( メ 2 。Y2) , ビ
PSET(X2。Y2。C)
PICX (PCD ) =19 の 9 の: PTCY (PCD) = じ : PCD=PCD+ 1
PICX (PCD) =X2: PTCY (PCD ) = ニ Y2: ビビ ロニ P ビ ロ +1
FOUR 「= の 9 TO 1 の の 9: も = ニ INEEY 生
TF 人 も = じ HRK も (1 う ) 『HEN RETUKN
NEXT
X1 ニ X つ ョ Y1 ニ Y ジ
GCURSUR(X1 。Y1) 。(X2 ィ イジ ) 。 じ
し LINE(X1 。Y1) 一 (X2。Y2) 。PSET 。 じ
PITCX(PCU) ニ = ニ X2 ェ ピ ICY(PCU) ニ Y2 ェ ビビ ロ = ビビ ロ + 1
GUTOU 27 の
^ 区区 天天 基 基 基 天 天天 ピロ ITNT 共 基 基 基 芝 基 基 基 区
BUGUB 73 の:LUCATE の 。 ジ マラ
INPUT " 到 ル イロ ニー リョ ビュ に ビデ g
に K じ = に じ +1 :LUCATE の 。2 ミ
PRINT "キョ ウ カ イー ミミ ョ フリ " ュ ョ に じ ビュ ュ TENPUT に じ も
IF KK じ ま = ニ "リリ UK に ビニ ヨ THEN 42 の
に K (KC) =VaL (に じ も ) : GBDTU 389
FUR =KC TU アミ に (JJ) = に (に ビー1 ) s NEXT
GCURKSUR( ミ 2 の 。 85) 。(X 。Y) 。 じ
PQINT(X。Y) 。C。K(1) 。 に (2) 。 に ( う ) 。 に (4) 。 に (5) 。 に (6) 。 に に (7)
FICX (PCU) =29 ウ =:PICY(PCOU) = じ :P ビ ロニ PC0U+ 1
PTICX (PCHU) = ニ X:PTCY (PCOU ) = ニ Y = ビビ ロミ P ビ ロ + 1
PICX (PCH) =K【(1 )
FUR ゴ = ニ 2 TU アイ: に = ニ RTGHT 和 まま (STR も (に (J) ) 。1 )
に じ も = に じ も + に 和 も = NEXT = ビ ICY (PCO ) =VAL (じゃ )
PC ロロ =PC ロ + 1 : RETURN
王 1 区 区 ERUGH 区 区区 区 区 基 基 共著
50 .。 3 章 。 実践 プロ グラ ミン グ
GUSUB 73 ウ :LUCEATE の, デ う
ココ 3 INPUT リ ブラ シー フー パロ = リュ ミ ビ
ら 4 の の GCURSUR(32 ウ 85) 。(X1.Y1) 。 (XS YE) 。 じ
55 FUR BE=X1 TU X2 STEP SGGN(X2ーX1 )
6 P=BS(Y1-Y2) =FHR エ = TH F/ ロ
7 ウ IF Y1:Y2 THEN Y=Y2 ELSGE Y=Y1
Sg PSET(B。RND*P+Y 。C):NEXT 1I,E
599 PICX (PCHU) =3 ウ 9 の: FICY(PCEO) =C: PCOU= ニ FCU+ 1
6 PICX(PCEU) =X1:PICY(PCHU) =Y1 : FCU=PCU+ 1
619 PICX (PCOU) =X2EPICY (PCEUD) = ミ Y2 PC ロニ PCOU+ 1
629 RETURN
ス 候 「 表 天天 間 基 基 キ CTRC じ LE ※※ キ ポポ ポポ 基
64 GUSUB 73g:LUCRTE の デラ
659 INPUT "エフ ノー ロー" リュ ビュ LUCRTE 2 さ
66 PRINT"+ 9 の ウ コ " カ シ チュ ウフ ト リフ ケイ ラ セ g ト ジテ クダ サイ リ ュ
ら 679 GCURSUR (3 さ 29 85) 。 (CX 。CY) 。K(HX JHY)
S8g CIRCLE(CX 。CY) ,QBG( じ ビ XーHX) 。 ビ
699 PICX(PCU) =4929g:FTCY (FCO) = ビ : FCU=FCOU+ 1
7 の PICX(PCEH) =CX:FICY (FEH) =CY: FCU=PC0D+1
719 PFICX(PCOU) =aEGS (CX-ーHX ) : F ビ ロ = ニ PCH+ 1
72g RETURN
/ さ 9 "ーーーーーーーー 一 カラ ー チャ ー ト ーーーーーーーーーーー 一
74g LUCATE の 。22:PRINT" 9 "kiFUR ビ =1 『TO Z
75g CULUR C+ ヨ :PRINT C:』" 号 還 "』:NEXT C:COULOUR ア
76@ PRINT"LSTEFP"』PCU: "1 "sgFREINTSGFRCE も (1 コワ 9) s:RKETURN
アフ 7 区 共 ※ 天 ※※ ピ ビ し GRD ※※ を 区 天 ※ 革 区 区 区 区 区 天天 天天
7 INPUT "FILE NaME " ュ N ま
79@ FCU=@: UHFEN" エリ 。1 、N も INPUT 持 1 。PCL
Bgg FUR FL= の の TU FCL
8B19 INPUT#1 。FICX(FL ) : INFUT 后 1 。PICY (PL )
829 NEXT:PICX (PCL ) =9999: CLOSE 后 1
83g CLS:LTINE (9。9) (639 。17 呈 ) 。FSET 。7 。B
4 IF PICX (PCH) =9999 THEN RETURN
Sg IF PICX(PCH) =19929 THEN C=PICY(FPCOU) : GUSUE 1 の
6 IF PICX(PCU) =292 の 9 THEN C=F'ECY(PCD) : G0GUE ヲ と の
7 IF PICX (FCO) = さく 299 THEN ヒビ =FICY (PCH) : B05UE 1 の 2
BB IF PICX(PCHU) =4 の 999 THEN =PICEY(FCO) : GSGUB 1 1 の の
PCU=PCU+ 1 : GUTU 4@
PC0=PCO+1 : IF PICX (PCO+1 ) >= ニ 1 の 29 ロ THEN 9
792 の X1=FICX (PCO) : Y1=FICY (FCD)
9 コ の X2= ニ FICX (PCO+1 ) : Y2=PTPY (FEO+1 )
LINE (X1,Y1) 一 (X2,Y2) ,PSET 。C: BUTD 91
PSET(PICX(PCUD) ,。PICY(PCO) 。C) : RETURN
メ =PICX(FCOUT1 ) = マモ ビ ICY (PCOU+T1 )
(1)= ニ PEIC ビ X(PCUT2) FUR J=2 TO Z
に (けけ ) ニモ VaL (人 ID も (STR 和 (PITCY(PCUTS) ) 。 ゴ 。1) ) giNEXT J
PINT(X 7) ビ 。 ビ に (1 に 人 (2) に () EE(4) に (5) 。E(6) 。 に (7)
PCU=PC0U+2: KRETURN
X メ 1= ニ PITCX (PCUT1 ) : 1= ニ PTCY(PCOU+T1 )
X メ 2 デニ PICX (PCDU+ |) =: アク ニモ ビエ ビ イ (PCOU+2 )
FURK B= ニ X1 TOU X2 STEP SGFH(X2ーX1 )
P= ム ABS (Y1ーY2) :FUK 1= ウ TU P/5
IF Y1>Y2 THEN イニ Y2 ELSE YY1
PSET (BE, KND*P+Y 。 じ ) : NEXT TB
PCU=PC0U+2: KETURN
CIKCLE
メ 1= ニ PITCX (PCOU+ す 1 ) =: Y1 ニ ピエ ビア (ビビ ロ + ィ 1 )
2= テ PITCX (PC0U+2)
CIRCLE(X1 4Y1) 。X2 ビ
PCU=FCU+2: KRKETURKN
還 却 エエ エズ エエ テ エ エネ ネズ エ : 還 は ミイ ^1 ト ルコ : エエ エエ そそ テテ エ テ そ エ テ そ そそ ティ
INPUT"FILE NAME " ュ N 和
OPEN"0 。 提 1 。N も :PRINT 提 1 FCO
FOUR FL= の ウ の T0D PCO
PRINT# せ 1 。PICX(PL ) : PRINT 提 1 。 ビ ECY( ど PL )
NEXT: CLOSE##1: RETURN
FUR = の 9 TO FCU:FKINTPTCX(T) 。PICY(i) NEX 生
5 ロン Hf , ) ユ
ー ル の 及 衝 を 妥 、
5=SAVE 画面 に 描い た 絵 の 座標 デー タ を 記録 する 。
6=LOAD 絵 の 座標 デ ー タ を 読み 込み , 描画 する 。
0=END プロ グラ ム の 実行 を 終了 する 。
以上 の 7 項目 で 項目 名 の 頭 に ある 0 て 6 の 数 字 を 入力 する と , ON A GOSUB 文 に よっ て
対応 する サブ ルー チン を 呼び ます 。
同 (1) LINE
1 を 入力 する と 最初 に 線 の 色 を 求め て きま す 。 上 部 の カラ ー チ ャ ー ト か ら 0~7 の 色 を 選び ,
その 数 字 を 入力 する と , 画面 中 央 に 指定 し た 色 の + (GCURSOR) が 現れ ます 。 次 に 画面 の 下
に 次 の よう な 表示 が 出 ます 。
ツ ヅ ケル = CURSOR KEY 十 RETURN KEY
オ ワ ル =RETURN KEY 十 RETURN KEY
任意 の 位置 まで + を 動か し , リタ ー ン キー を 押す と その 位置 が 始点 と な り , 指定 色 の 点 が 表
さ
ン
され ます 。0.5 秒 ほ ど で ,。 点 は + の 表示 に 変わ り ま す の で , 再び を 動か し 任意 の 位置 で リタ
ー ン キー を 押し て くだ さい 。 二 は 消え 始点 か ら そ の 位置 まで 線 が 引か れ ま す 。0.5 秒 ほ ど た つ と
こ 十
が その 位置 に 現れ ます の で , 同様 の 操作 を 繰り 返し , 次 々 と 線 を つなげ 絵 を 描い て いき
-
ここ
と 。
細
ュー
し る まで 0.5 秒 の タイ ミン グ を と っ て いま す が 。 これ は 続け る か 終わ る か の 判断 を 待
っ て いる た めで , が 表示 され る 前 に 再度 リターン キー を 押せ ば , LINE の 実行 は 終了 レ し メニ ュ
に 戻り ます 。 つ まり 、 カ ー ソ ルキ ー で を 移動 きせ た 後 。 リタ ー ン キー を ポン ポン と 2 回 た
た く と 線 の 描画 は そこ で 終了 し , 1 回 し か 押さ なけ れ ば 続行 する と いう 仕組 み で す 。
塗る 色 と 境 界 色 を 求め て きま す の で 。 それぞれ 入力 し て くだ さい 。 境界 色 は 7 つま で 指定 で
例え ば 2 つの 同心 円 で は きま れ た ドー ナツ 状 の 範囲 を 塗る 場合 を 説明 し ます 。 内側 の 円 は 赤
で , 外 開 の 円 は 黄色 で 描か れ て いろ も の と し , これ ら の 円 の 色 を 境界 色 と し , 中 を 紫 で 塗る と
し ます 。
ヌ ロ
キョ ウ カ イシ ョ ク 17 ニ = と 出 ます 。 1 本目 の 境界 色 を 開い て いま す の で 赤 で すか ら 2 と
(か
[すい 1
キョ ウ カ イシ ョ ク 27? ニニ 2 本 目 の 境界 色 を 聞い て きま す の で , 黄色 で すか ら 6 9 です 。
キ ウ カ イシ ョ ク 37 三 と 聞い て きま す が 3 本 目 は 必要 な い の で 9 の み 押 し ます 。 これ て 境
界 色 の 入力 は 終わ り で す 。 その 後 二 が 画面 中 央 に 現れ ます の で , 塗る べき 領域 まで 十 を 移動 き
せ リ クー ン キ ー を 押す と PAINT が 実行 され ます 。
実行 し て くだ る い 。 領域 を 囲む 境界 線 が 完全 に 閉じ られ て い
レ し まい ます 。 ま た 境界 色 の 指定 も 同様 の 意味 で 慎重
PAINT は 細心 の 注意 を 払っ て
な いと 。 せっ か く 描 いた 絵 が 塗り 消 る れ て !
に 行なう 必要 が あり ます 。
園 3) BRUSH
面 面 中 央 に 二 が 表示 され ます 。 プ ブラ シ の 範囲 を 十 を 移動 きせ 2 点
間
指定 し ます が , 2 点 問 の 対角線 を 持つ 四角 の 中 が その 租 囲 と な り ま す 。 つま り , LINE 命令 の
BOX) 指定 と 同じ で す 。2 点 問 を 指定 レ リ ク ー ン キー を 押す と , その 範囲 が 指定 色 の ドッ ト
で 埋め ゆめ られ ます 。 ド ッ ト の 密度 は 560 行 の P/5 の 値 を 変更 する
こと に より 変え られ ます 。
この 部 分 が プラ シ の 銘 囲
( 図 3-3)
54 3 章 実践 プア ログ ラミ ング
因 4) CIRCLE
円 の 色 を 入力 する と 十 が 現れ ます 。 円 の 中 心 と な る 位置 まで 填 を 動か し て リタ ー ン キー を 提
次 に 半径 (円 の 外周 ) 位置 に を 移動 させ リタ ー ン キー を た た く と 指定 し た 円 が 描画 で き
ます 。 半径 の 指定 は X ( 横 ) 方 向 で 行ない ます 。
園 (5) SAVE
これ まで 描い た 絵 の デ ー タ を テー プ や ディ スク に 記録 し ます 。 フ ァイル 名 を 入力 し リタ
キー を 押す と 記録 を 開始 し ます 。 が 2458 プア イル 名 は 8 文 X 字 以内 に し て くだ さい 。
固 (6) LOAD
テー プ や ディ スク か ら 絵 の デー タ を 読み 込み 描画 し ます 。 セ モー ブ し た 時 の ファ イル 名 を 入力
し , リタ ー ン キー を 押し ます 。
9 デー タ の 構造
絵 の デ ー タ を 記録 し た り 。 あ る い は 読み 込ん で 描画 きる せる た め に は , デー タ の 構造 を 決め て
お か な けれ ば な り ま せん 。 こ の プロ グラ ム で は 。 配列 変数 PICX (n) に X 座標 。PICY (n)
に Y 座標 を 格納 ミ させ る こと を 原則 に し て いま す が , 処理 の 流れ を コン トロ ー ル する 値 な ども 入
図 3-4 は 各 機 能 ご と の デー タ の 構造 で す 。 デ ー タ の 最初 に 1000 と か 2000 の 数 字 が ある の は
機能 の 区 分 の た めで す 。 デ ー タ を 読み 込ん で 描画 する と き , た と えば 1000 の 数 字 が あれ ば
LINE の ルー チン へ 。2000 が あれ ば PAINT の ルー チン へ と , この 数 字 に よっ て 処理 の ルー
チン が 自動 的 に 選ば れる こと に な り ま す 。 850~880 行 の IF 文 が .。 そ の 処理 を し て いま す 。( 図
PAINT 機能 の 境界 色 は 少し 変わ っ た デー タ の 格納 方 法 を と っ て いま す 。 境界 色 の 数 は 7 つ
まで 指定 で きる の で す が 。, 常に 7 つ 分 の 配列 を 確保 し て お く こ と は メモ リー が 無駄 に な り ま す
の で , デー タ の 圧縮 を 試み まし た 。 圧 縮 は 文字 列 を 使用 し ます 。 境界 色 の 数 値 を , ひと つ ず つ
PIC と ( ロ )
_LINE |
PIC Y(n)
PIC X(n)
の 9
PIC Y(n)
PIC メ (n) PIC Y(n)
文字 列 に 直し , それ ら の 文字 列 を 全部 つ な
いで し まい ます 。 ひ と つ に な っ た 文字 列 を ,
今度 は 逆 に 数 値 変 数 に 直し て し まう と デー
タ の 圧縮 が 出来 あがり で す (480, 490 行 ) 。
この デー タ を 読み 込ん で 描画 きせ る と き は ,
送 の こと を 行なっ て ひと つ ず つ 境 界 色 の 数
値 を 取り 出し ます (980, 990 行 )。
な お , デー タ を 格納 する 配列 は PICX,
PICY と 5 も 2500 まで と っ て あり ます 。 2500
を 超え る デー タ の 格納 は で きま せん 。 また, ( 図 3-5 デー タ の 流れ )
厳密 な 入力 チェ ッ ク は し て いま せん の で ,
56 3 章 実践 プロ グラ ミン グ
と ん で も な い 値 を 入れ る と エラ [sz] [| [| [5 [| | 美加 (雪代
ー が 生じ る こと が あり ます 。
ェ ラ ー が 起き た と き は , 一 応 トト d+ トト トド 69 | 文字 型 に 直し , 連結
ON ERROR GOTO 文 に よっ
て 強制 的 に メニ ュー に 戻し て い
ツ
234567| 連結 結果
マメ
ます 。
プロ グラ ム を 打ち 込む 際 。 完 (
234567 数 値 型 に 直し , 圧縮 完了
動 が 確認 きれ る まで は , ON
ERROR GOTO と ,CONSOLE ( 図 3-6 デー タ の 圧縮 )
文 + 取 っ て お いた ほ う が 押 難 で (Geg
⑯ 上 手 に 絵 を 描く た め に
CCURSOR の 填 を 目 で 追い な が ら 絵 を 描く プロ グラ ム は これ で 完成 し まし た 。 一 応 は 何で も
描く こと は 可能 で す が , 画面 上 に 直接 完成 度 の 高い 絵 を 描き 上 げ る こと は , な か な か 難し いも
の で す 。 簡単 で 能率 的 な 一 方 法 を 紹介 し て お きま す 。
(1) 使用 ディ スプ レイ の 画面 と 同じ 大 きる の 下絵 を 描く 。
(3) モル を 画面 に 貼り 付け ,、。 プロ グラ ム を 起動 する 。
(4) モル に 描か れ た 絵 の 線 を な ぞ る よう に し て , GCURSOR を 動か し 画面 に 絵 を 描く 。
セル に 描い た 絵 が 判別 し や すい よう に 。 あらかじめ 画面 全体 を 青 な ど で PAINT し て お く と
作業 が 楽に な り ま す 。 絵 の 輪郭 が 描き 込め たら セル を は が し て , 各 領 域 の PAINT を 実行 すれ
ディ スク に その デー タ を 記録 し て か ら , 作業 を 続け る よう に する と 間 違
ゝ が あり ませ ん 。 特 に PAINT の 実行 前 に は , SAVE し て お いて か ら の ほう が 無難 で す 。 境
に ,。 せっかく 描い た 絵 が みる みる うち に 塗り 消さ れ て し まっ て は 後
三
に と 2
6
2 誠 明 セ ル
*
下絵
( 図 2-7)
人 スケ ッ チ ポー ド プ ログ ラム で 作成 し た 絵
(写真 3-10)
ーーーーーーーー 58 3 音 実践 プロ グラ ミン グ
| 中間色 の 表現 方 法 |
F・BASIC Ver.3 は , ドッ ト 単 位 で 黒 を 含め 8 色 の 表示 が 可能 で す 。 8 色 使 えば 大 概 の こと は
で きる の で す が , 本 格 的 な グラ フィ ッ ク 表 現 を 追求 する と な る と 少々 心細い 感じ は 拭え ませ ん 。
中 間 色 と いう 言葉 が 適切 か どう か は 疑問 で す が , マイ コン の 世界 で いわ ゆる 中 間 色 と は , 黒
表 、 赤 , 紫 , 緑 , 水色 黄 。 白 の 基本 8 色 以 外 の 色 を 指し ます 。
パソ コン で の 中 間 色 合成 の 具体 例 を 述べ る 前 に , 三原 色 に つい て 考え て み ま し ょ う 。 三 原色
と は 。 あ ら ゆ る 色 の 合成 を 行なう うえ で , 基本 と な る 3 つの 色 を 指し , “ 光 の 三原 色 ? と ヾ 絵 の
具 の 三原 色 ” の 2 つの 系 統 が あり ます 。
光 の 三原 色 を 使用 し た も の に , カラ ー テ レビ の プ ブラウン管 。 絵 の 具 の 三原 色 を 使っ た も の に
印刷 の カラ ー 写 真 な ど が あげ られ ます 。 プ ブラ ウン 管 や 印刷 物 を ルー ペ て 拡大 し て みる と , 三原
また 。 ある 色 の と き は 三
7
色 だ け で 構成 (実際 は 黒 も 入り 4 色 ) され て いる の が 確認
原色 の 赤 が 強まり , 別 な 色 の 場合 は 青 が 弱 ほ っ て いる こと に も 気付 く と 思い ます 。 この よう に 。,
あら ゆる 色 は 三原 色 の 個々 の 明度 ( 強 さ ) を 微妙 に 変化 させ る こと で 表現 する こと が で きま す 。
個 ③ 訟
\
|
の
に 9
ご
密 ご
( 図 3-8 三原 色 )
AV を 除く FM-7 で は この 明度 の コン トロ ー ル が で きま せん 。 三原 色 の 各色 は , 克 く か 消え
る か の いずれ し か 選べ ず , 三 色 の オン ・ オ フ の 組み 合わ せ (2 の 3 乗 ) で 8 色 表 示 に と ど ま
っ て いま す 。
59
2 色 の 組み 合わ せ で 作る 中 間 色 |
リス ト 3-9 は , 2 色 の 混合 で 中 間 色 を 合成 すろ る プログ ラム で す 。
COLOR1 ?
COLOR2 ?
と 順に 聞い て きま す の で , 0 て 7 か ら 任 意 の カラ ー 番 号 を 入力 し て くだ さい 。 COLOR1 の 色 で 下
地 を 塗っ た あと , COLOR2 の 色 を 割り 込ま せ て 中 間 色 を 作り ます 。
写真 3-11 は , この プロ グラ ム の 出力 画面 で す 。 左 と 右 に 同じ 色 の 中 間 色 が 表示 され て いま 3
が , 左 は ドッ ト を 縦 並 び , 右 は 斜め に 並べ て いま 写真 で は 両者 と もち 同じ よう に 見 える と 思
いま す が , 実際 の 画面 で は モア レ の 現れ 方 に 違 ら が 生じ て いま す 。 どちら が 良い か は , 好み の
ゃ D9
問題 も あり 一 概 に は 言い 切れ ませ ん 。 縦 の ほう は プロ グラ ム の 構造 が 簡単 で , 描画 速度 も や や
斜め 並び の ドッ ト
レレ
ン
|
|
上
ク
の
(写真 3-11 導 と 言 め 並び の 中 間 色 表示 ) ( 図 3-9)
60 3 章 実践 プロ グラ ミン グ
速く な り ま す 。 組み 合わ せる 色 の 種類 や ディ スプ レイ の 解像度 に も より ます が 。 3 色 以 上 の 場
合 は 斜め の ほう が 良い よう て
(リス ト 3-9 2 色 の 泥 合 )
1 の 切 XX えつ ヨー 2 コッコ” の 共著 導 共 共 半 天 状
| 119 CLS
129 INPUT "CHLUR1 "』C1
13g INEUTRCOCDRZ HP アッ
4 ソー ニー ニニ ニー ニー ニー ニニ ニニ ニニ ニー ニー ニ ーー ニ ニニ ニー ニニ ー ニ ーーー ニーー
15 LINE(13 の 。19) 一 ( さ 1 ,19g) 。PSET 。 じ 1 。BF
16 し INE【 さ 39。 1)-(51g。199) 。PSET ,C1 。BF
1 ニー ニニ ニー テー デニー ニー ニー ンー ニー デニ ニー ニニ ニニ ニー デ ーーー デーーー デ
| 1 ヨ Hg FUR 1=g TU 1 ヨウ STEP =
| 19 り の LINE(13+1 。1 の ) 一 (13g+1 。199) 。PSET 。 じ S
29 切 LINE (ささ の + 1 。19) 一 (ささ の 。 1 の +1 ) 。 PSET 。 2
21 LINE(S10。 19+1) 一 ( さ ミ の +1 。 199) 。 PSET 。 じ 2
229 NEXT
mm ズー
リス ト 3-10 は , 2 色 の 組み 合わ せ に よる 中
間 色 の カラ ー チ ャ ー ト 表示 プロ グラ ム で す 。
FOR て NEXT の ルー プ が 3 重 ZD Ge 還 a
解 し づら いか も 知れ ませ ん 。 図 3-10 は 各
CR
ーー ーー ーー
0 ト を 示し た の て 3 が 。 実際 の 色 は 第 1
ミー ーー
ー 写 胡 を 委 昭 | テッ
ツガ フー 与 和 具 を 参照 し て くだ さい 。
(リス ト 3-10) (写真 3.12 み カラー チャ ー ト )
| 19 "XX 力 ラー チャ ー ト / 2 ショ フワ ノ コ フ コ "リウ ※ 革 基 基 老
| 11 FUR BC= ウ の TOU 7 |
129 BX1=BCxBg: BX2=BX 1 + ヨ g |
13g の LINE(BX1 。 ウ ) 一 (BX2 199) 。PSET 。 BC 。BF
149 FUR LC=g ウ TO 7
| 15 FUR 1I=BX1 TU BX2 STEP 2
| 169 LY1=LC*25: LY2=LY 1 +25
| 17g LINE( 1 。LY1) 一 (ILY2) 。PSET 。LC
18g NEXT 1
| 19g NEXT LC
299 NEXT BC
し ーーーーーーーーーー
| 3 色 の 組み 合わ せ で 作る 中 間 色
( 巡 3-10 カラ ー チ ャ ー ト の 構成)
3 色 使う と 表現 で きる 中 間 色 の 種類 は グン と 豊富 に な り ま す 。 リ スト 3-11 は , 3 色 で 表現 す
る 中 間 色 プロ
グラ ム で す 。 実行 方 法 や 画面 表示 は 。
リ
な 組み 合わ せ を 入力 し , 微妙 な 色あい を 楽し ん で くだ さい 。
(リス ト 3-11)
1 の の
11 の ウ
12
1 3g
1 うら
1 4 の
15 の
1 6 の
1 7
18 の g
19 の
195
2
2 の 5
21 の
215
コ 2 の
^ 共 基 基 基 基 天天 天天 ショ ブフ ノ コ フ コ ~ の 共著 基 基 基 基 基 基 基
CLS
INPUT "CULUR1 "』 ビ 1
INPUT "CULUR2 "』C2
INPUT "CULUR さ "』 ビ S
LINE (1 さ g。19) 一 ( さ 1g。199) 。PSET , じ 1 ,BF
LINE (ささ 。 1 の ) (51g 。19 の ) 。PSET 。 じ 1 。BF
FUR 1I=g TU 18g STEP る
LINE (1 ミロ +1 。 1 の 9) 一 (13+ 1 。19) 。PSET 。C2
LINE (13+ エ +1 。1 の ) 一 (13 の + エ ィ 1 。 19 の ) 。PSET 。 じ う
LINE (ささ g+ 1 。 1 の ) 一 (ささ の 。 19+ 1 ) 。PSET 。 ビ 2
L INE (ミキ エ +1 。 1 の ) 一 (さる 3 。 1 ロ + エ +1 ) 。PSET 。 じ さ
LINE ( 呈 19。 1 の +T ) 一 (ささ g+T 。19 の ) 。PSET 。 ビ 2
LINE ( 紀 1 。 1 の + エ +1 ) 一 ( さ う の + エ +1 。 19g) 。PSET 。 じ さ
NEXT
es 3 生業 時 2
画面 情報 の 直接 送 法 と スケ ッ チ ボ に ン
細山 に 示さ れ て いろ る 図形 な どの 情報 を デ も セ ま と コー フラ ニニ
画面 に 表示 され て いる 図形 な どの 情報 を ディ スク に 直接 格納 する 一 方 法 を 紹介 し ます 。
スケ ッ チ ボー ド プロ ウシ ルド ⑱ 人 は 。 i 今度 の 方 法 は 。 V- RAM
こよ ら ず , 画面 上 部 か ら 1
ライ ン ず っ 転 送 し 。 画面 を 記録 し ま の SE
「 プチ フ 転送 し , 画面 を 記 団 し ィ ス ク か ら 読 み 込 みな が ら
面 全休 王 4S KK バス と ーー 5 シ の
面 全体 で 48 K パイ ト も ある わけ で すか ら 無 理 ち あり ませ ん 。 テー プ 使 用 の 場合 は , 座標 の デー
け に ! ませ ん ズ > 佑 と ケ H
22 ワ け に は いき ませ ん 。 ミー シッ ク で 使え の 30 K パイ | ト あま り の メモ 性 全 = 部 2 列 の 確保 に
回 | し て も る 器 り な くり キ ます ー ーー シリ テ - ] 二 v
回 し て も 足り な く な り ま す 。 こ こ で は ,。 横 1 ライン 640 ド ッ ト 分 ずつ 配列 に 入れ る 方 法 を と り
ネ レバ こ 。 | は 整数 刑 で 120 個 と れ ば 良い じ ら こ と に な り ま す の で 。 無駄 な メモ リー を
63
使わ な く て すみ ます 。
國 転送 の 実験
最初 に 。 リ スト 3-12 の プロ グラ ム を 考え て み ま し た 。130 行 の GET ⑨ で , 1 ライ ン 分 の デ
ー ク を 配列 E % に 格納 し , 140-160 行 の FOR 文 で E% (0) ~E % (120) まで の それ ぞ れ
の 値 を ディ スク に 書き 込ん で ゅ ます 。 220 行 の FOR 文 は , 画面 上 部 か ら 1 ライ ン ず つ 199 ライ
ン ま で の ルー プ で す 。
リス ト 3-13 は , リ スト 3-12 で 書き 込ん だ デー ク を 読み 取り , 画面 に 出力 する た め の プ ログ
か 。
(リス ト 3-12)
1 の DINM EZ ん (12 の )
11 の ロ PEN "0 。 持 1 "VERaF"
12 の FOUR Y= の TO 199
13 の BET@A(g。Y) 一 (639 。Y) 。EZ
14 FOR 1= の g TO 129
15 の PRINT 提 1 EZ(1 )
| 16g NEXT I
17g NEXT Y
18 の CLUBSE 韻 1 : END
(リス ト 3-13)
DINH EX(120)
21 の UPEN "1 。 持 1 。"VRaH"
22 の FUR Y=g ウ TO 199
の FUR T『=g TO 12g
<4 の INPUT 提 1 。E ん (1 )
2 ら 5 の PUTGA(g 。Y) 一 (639 。Y) 。E ん PSET
26 の 9 NEXT エ
27 の NEXT Y
2 の CLOSE# 1 : END
この リス ト を 見 て いた だ けれ ば , 画面 情報 の 基本 的 な 転送 アル ゴリ ズム は 理解 し て も ら え る
と 思い ます が , 正直 な 話 。 この プロ グラ ム は 使い も の に な り ま せん 。 ディ スク を 使っ て も 。 昼
寝 が で きそう な くら い 転 送 速度 が 遅い っ の で す 。 一 番 の ネッ ク は , 120 個 の 配列 転送 の ルー プ で
す 。 1 ライ ン ず ン つ 実 行 す る た め の ル ー プ が 200 回 あり ます の で て で, 2 つの ルー プ で は 24.000 回 も
64 3 章 実践 プロ グラ ミン グ
園 マシ ン 語 の 助け を か り る
120 個 の 配列 を バラ バラ に せ ず , 一 度 に 転送 で きれ ば , 単純 計算 で 120 倍 の スピ ー ド アッ プ が
で きま す 。 た め の デ ー タ の 圧縮 に は 文字 列 を 使う こと が 考え られ ます 。 し か し , ペー シッ
で 120 個 の デー タ を 全 部 つなげ て ひと つの 文字 列 に 直す た め に は ,、 それ だ け で か な り の 時 科
Co
園 変数 の 格納 法 を 知る
マシ ン 語 で , 配列 に 入っ て いる 複数 の 数 値 を 。 1 つの 文字 列 に 置き 換え る た め に は , F-
BASIC 自体 の 中 身 に つい て 知る 必要 が あり ます 。 特に , 各 型 の 変数 が どの よう に メモ リー
に 甘え られ て いる か を 理解 する こと が 重要 で す 。
数 弄
仮数 部
文字 列 が 格納
され て いる ホイ ンタ
図 3-11 は 。 デー タ の 格納 形式 を 示し た も の で す 2
示 め され る アド レス は ,。 この 図 の 0 の 位置 数 を 格納 し て いろ る 番地
を 与え る 命令 で す 。
束 数 型 の 変数 は 。 ひ と つの 値 を 格納 する た め に 2 バイ ト の メモ リー を 使用 し , 上 位 と 下位 に
「t
IN
ヽ ご
9
1
ンコ
レッ
で
ブ
レ ョ
62
ふり 分 け て いま す 。 こ れ は , 1 バイ ト で は 256 まで の 数 値 し か 扱え な いた めで ,。 2 バイ ト 使 うこ
と に より , は じ め て 十 32767 一 一 32768 まで の 値 を 入れ る こと が で きる か ら で す 。
丈 数 刑 の 配列 の 場合 は , 図 3-12 の よう に な っ て いま す 。 デー タ は 配列 順に 従っ て 2 バイ ト ず
つ 上 整然 と 並ん で お り , DIM 文 で 宮 言 し た 配列 の 数 だ け メ モリ ー が 確保 きれ て いま す 。
・ 人 がい
右側 の 数 字 は
配列 の 順 を 表わし て いる
・ つの ご で
( 図 3-12 式 数 形 配 列 の 格納 形式 )
國 デー タ を すり 替え る
さて ,。 これ で 和 整 数 型 の 配列 が どの よう に メモ リー に 格納 され て いる か が わか り ま し た 。 デ ー
タ 圧 縮 の た め に , 整数 型 配列 の 各 デ ー タ を 全部 まとめ て ひと つの 文字 列 に し て し まう た め に は ,
メモ リー 上 に 展開 され ん た デー タ の 並び を 利用 し ます 。 こ こ で ,
DIM E% (120)
DMS=SPACES (240)
と 設定 する と 配列 変数 FE %% に は 120 個 分 の 配列 (正確 に は 0 を 含め て 121 個 ) が 用 意 さ れ ,
240 バイ ト の メモ リー が E % の た め に 確保 され ます 。 ま た , 文字 変数 の DMS に は 240 個 の
空白 が 代入 され , 同じ く 240 バイ ト の メモ リー が 確保 で きま す 。
デー タ の すり 替え は , E % の 配列 が 展開 され て いる メモ リー を , DMS の た め に 確保 きれ
て いる メモ リー 空間 に 転送 し て し まう こと で 可能 に な り ま す 。( 図 3-13)
この メモ リー の 転送 を .。 ベー シッ ク の PEEK, POKE を 使っ て 行なう の で は 時 間 が か か
り 過 ぎ て し まう の で 。 この 処理 だ け は マシ ン 語 に まかせ た ほう が 無難 で す 。 処理 は 240 回 の ル
ー プ と メモ リー の 転送 だ け で す の で , マシ ン 語 と し て は 最も 簡単 な 部 類 に 入り ます 。
E%
と こさ
0)=1
E %( 1 ) =
E %( 2 ) = 3 と する .
(リス ト 3-14)
| gg1 ggO
92
90993
(9994
9995
996
997
9 の 8
の 90909
91 の
gg1 1
gg12
J913
(914
ad
6Bg
6B9
6B1g
6B18
6B2
6B2
63 の
6B. ぅ 8
99 の gg
の 999 の
6Bg4
6Bg4
6Bg4
6Bg6
6B の 9
6BgD
6B の D
6BgF
6B1 1
6B1 ふ
6B15
C6F の
20 は , キャ ラク タコ ー ド で
空白 を 示す .
( 図 3-13 デー タ の すり 替 ぇ )
BE6BQ の
1 の BE6B の 2
n6 ヨ g
人 7
Cg の 1
26F8
う 39
+ さ
9
6B
26
の
|
の の
9 の
9
ミキ キキ キキ キキ キキ キキ キキ キキ キキ
LOUP
24 の の リー イト ノ テフラ ソウ
ュ キキ キキ キキ キキ キキ キキ キキ キキ キー
RG も 6B の 4
LDB 拉 和 も ま Fg
LDX も 6Bg
LDY も 6B の 2
LDR メキ
STR 。Y+
SUBB 揚 1
BNE LOUP
RTGS
+7 5um
6B sDF
合 7 = の 8
ウ の =:B
の の : の 9 の
の の =: の の ウ
g り : の の
の の = の の
のり : の の
6Z
本 書 で は マシ ン 語 の 説明 は 省き ます が ,。 念 の た め ア セン ブル し た ソー スリ スト と ダン プリ スト
を リス ト 3-14 に 蔽 せ て お きま す 。
國 画面 転送 プロ グラ ム の 実際
これ まで 述べ た こと を ベース に プロ グラ ム を 組み , これ を スケ ッ チ ボー ド プ ログ ラム (リス
ト 3-8) に 合体 る きせ た の が リス ト 3-15 で す 。 9000 行 以降 が V-RAM コピ ー の サブ ルー チン で ,
9060-9140 行 が ディ スク へ の 書き 込み 用 , 9160-9250 行 が 読み 込み と 描画 ルー チン で す 。 この
サ プ ブルー チン は 。380 行 , 90 行 と セッ ト に な っ て いま す 。 自分 で 作っ た プロ グラ ム に 。』 こ の サブ
PLD 80 押 118F EE 人 2 0
し て 活用 し て くだ さい 。
な お , マシ ン 語 は 9270 行 , 9280 行 に DATA と し て 格納 し て いま す 。RUN する と 90 行 の
READ 文 で この デー ク を 読み , POKE 文 て 直接 メモ リー に 書き 込み ます 。 ま た , マ シン 語 プ
ログ ラム は &H6B00 番地 以降 に 展開 し て いま す の で , CLEAR 文 で ユー ザー エリ ア を 制限 し
て お か ね ば な り ま せん (80 行 )。
リス ト 3-15 は 。 リス ト 3-8 の スケ ッ チ ボー ド プ ログ ラム の 内 容 と 同じ で す が , メニ ュー に
(7=VRAM S/L) を 追加 し ま 2 メニ ュー で 7 を 選 全 と SAVE か LOAD か 聞い て きま す 。
入力 後 , ファ イル 名 を 入れ る と 画面 の 転送 を 開始 し ます 。 な お , メモ リー の 関係 で スケ ッ チ ボ ポ
ー ド 2 て 作画 で きる ステ ッ プ 数 は 2000 まで と な り ま す 。
フロ ッ ピ ー 頒 布 サ ービス
正確 に 入力 する 自信 の な い 方 や , 入力 する 時 間 の な い 多 忙 な 方 の た
め に , 本 書 収載 の 全 プ ログ ラム を フロ ッッ ピー ディスク に 収録 し て 頒
布 し て お り ま す 。 詳細 は 目次 前 に あり ます の で , ご 覧 の うえ お 申し
込み くだ さい 。
(リス ト 3-15 スケ ッ チ ポ ー ド プロ グラ ム 2)
paQE !
9 CLEAR6@9 。&H6RFF:DIN EX(120)
9 の FUR 1= の TU 17:READ PD:PUEE &H6B ロ 4+T 。PD: NEXT
1 WIDTH Bg,25: EDNSDLE9 , 22: DIM PICX(2 ロ の) 。PICY (2 ウロ)
11 の LINE( の ,9) -(639,175) ,PSET ,7 。B
129 BUSUB 719:LUCATE 9。2 さ :UN ERRDR BOTO 165
1 ミ の PRINT"1=LINE 2=PQINT 3=ERUSH 4=CIRCLE"
149 PRINT" =SAVE 6=LUAD 7=VRAM S/L =END "=:INPUT A
15 の IF = の THEN MIDTHB ヨ の: END
16 UN Q BUSUB 179,3 さ の ,49 の ,619。1 さ ヨロ 。 19 の 9 。99 の 9: BUTU 12
165 BEEP: CLOSE: RESUME 120
17 区 共著 区 基 し LTNE ま テ 共 区 基
189 BUSUB 71g:LUCATE の ,2 さ : INPUT" セ フフ イロ "s ビ
199 PRINT" り の "カル =CURSUR KEY+RETURN KEY":
2 の PRINT" オォ オ ワ ル =RETUEN KEY+RETURN KEY":
219 GCURSUR ( さ 29 5) , (2。Y2) 。C
22 の PSET(X2。Y2, じ )
239 PICX (PCD) =1999:PICY (PCO) =C: PC0H=PC ロ + 1
249 PICX (PCU) =X2:PICY (PCO ) = ニ Y2: PCD=PCU+ 1
25 の 9 FUR T=g TO 1g: 人 Q$=INKEY*
26 IF $=CHR$ も (1 る) THEN RETURN
279 NEXT
2 X1=X2:Y1=Y2
299 BCURSUR(X1 。Y1) 。 (X2。Y2) 。C
3g9 LINE(X1 。Y1)-(X2。Y2) 。PSET 。 ビ
319 PICX(PCO) =X2:PICY (PCO) =Y2: PCD=PCD+ 1
32g BUTD 259
うう 婦 本 エメ エエ テテ そそ テマ そ ュ PAINT E 支 : 支 支 支 茎 支 支 . 支 支 . る
34 の 9 GUSUB 719:LUCATE 9。23
35 の 9 INPUT "ヌル イロ =" ェ じ :KC= ロ
ュ 69 に KC=KP+1:LUCATE 。23
さ 79 PRINT "キョ ウ カ イ ショ フ " ェ KCs : INPUT KC も
389 IF KC を ="" UR KC=B THEN 4 の
399 K(EC) =VaL (KC も を ) : GBDTU 36g
4 の FUR J=KC TU 7: に (J)= じ (KCー1 ) : NEXT
419 GCURSUR ( さ 2g ,85) 。(X 。Y) 。C
429 PAINT(X,Y) ,C,K(1) 。K(2) 。K() 」 に (4) に ( 王 ) 。 に (6) 。 に ( フ )
43 の 9 PICX (PCO) =2999:PICY (PCO) =C: PCEU=PCU+ 1
5408 7
44 の
45 の
46 の
47 の
4 の
49 の
5 の の
っ 1
2 の
コラ の
ら 4 の
ココ の
ら 6 の
コノ の
58 の
うら 9 の
6 の の
61 の
ら 2 の
6 さ の
ら 4 の
65 の g
ら 66 の の
67@ の
68 の
69@g
7 の の
71g
72
73g
74 の g
1 の 9 の
1 の 1
192 の g
1 の 3 の
1g ウ 4
1 の 5 の g
1 96g
197 の
PTICX (PCD) = じ ( 1 )
FDR コ =2 TU 7 ア : じ も =KTGBHT 多 (TK も ( じ (J) ) 。 1 )
に じゃ = ビビ キビ = NEXT: ピ TICY (PC ) = ニ VaL (に じ ま も )
PCD=PC ロ + ィ 1 : KETURN
/ 基 基 秦 基 基 牙 基 天 HKUOGH 区 区 区 牙 基 基 基 区 基 基
BODSUB アフ 1 の :LUCATE ,2 ラ
INPUT "ファ ラシー ノ イロ =" ェ sC
GCURSDR (2 85) 。 (X1 。Y1) 。 (X2。Y2) 。 ビ
FDR =X1 TU X2 STEP SGN(X2ーX1 )
P=ABS (Y1-Y2) : FURK IT=g TO P/5
IF Y1>Y2 THEN Y=Y2 ELSE Y=Y1
PSET (B。RND*P+Y , じ ) : NEXT 1。B
PTICX (PC ) = うろ の 9 の: PTCY (PCD ) = じ : PC ロ =PCU+ 1
FICX (PCO) =X 1 : PTCY (PCD) = ニ Y1 : PC ロニ FCD+ 1
PTCX (PCO) =X2:PICY (PCO) = ニ Y2 : PF ロ =PCO+ 1
RKETURN
エエ テー そそ テ そ テ テコ じ TIRKC じ LE 区区 基 革 区 天天 基 基 天天 基
GOSUB アフ 1g:LOCPATE の 。2 ラ
INPUT "エー ノー イロ = リュ ビビ: LUCATE g。2 さ
PR TNT"+ ヲ ウ コ " カ シ チュ ウシ ン ト リフ ケイ ヲ セット シテ フグ "サイ " ェ
GCURSUR ( ミ 29 5) 。 (CX 。CY) 。 (HX 。HY) 。 ビ
CIRCLE (CX ,EY) , BS (CXーHX ) 。 ビ
PTCX (PCO) =4 の 9 の 9: ビ ITCY (PCD ) = じ : PCD= ニ PCU+ 1
PICX (PCO) =CX:PTCY (PCD ) =CY : PCD=PCD+ 1
PICX (PCD) =AES (CXーHX ) : PC ロ =PCD+ 1
RETURN
*ーーーーーーーーー カラ ー チャ ー ト ーーーーーーーーーーーー
LUCATE の 。22:PRINT" の "::=FUR =1 TU 7
COLOR C+ ヨ :PFRTNT じ :i "本 較 ": =:NEXT じ :CULURK7
PR INT"LSTEP" = PCOi "1":PRINTSPACE も (159) = : RETURN
本 エエ エズ テ エ テ エ エエ そ テテ そそ テテ そそ エコ PP LOURAD 区 区 区 天天 基 区 天天 基 基 基 基 基 基 天天
INPUT"FILE NAME "=N$ を
PCH= の : FEN" T" 。 提 1 。N も =: TNPUT 后 1 。PCL
FOR PL=g TU FCL
INPUT##1 。PICX (PL ) : INPUT#1 。PTCY (PL )
NEX 丁 : PTCX (PCL ) =9999 : CLUSE#1
CLS= し INE (d。 の ) 一 (6 さ 9 175) ,PSET 7 ,B
IF PTICX(PCD) =9999 THEN RETURN
69
70 3 章 実践 プロ グラ ミン グ
IF PICX(PCU)=1 の 9 の THEN C=PICY (PCOU) : GHSGUE
IF PICX(PCO) =2 の 9 の 99 THEN C=FICY (PCO) : GUSUBE
IF PICX(PCH)=3 の 9 THEN C=FICY (PCH) : GUSUE
IF PICX(PCU)=49@9 THEN = ビ PTICY (PCO) : GUSUBE
PCU=PCO+ 1 : BUT 有 H 17 の
PCU=PCD+1: IF PICX(PCO+ 1 ) >=1 の 9 THEN 118 の
X1=PICX (PCO) : Y1=PICY (PCO)
X2=PICX (FCD+1 ) : Y2=PTCY (PCO+1 )
LINE(X1 。Y1) -(X2,Y2) 。PSET 。 じ : GDTU 1149
PSET (PICX (PCO) FICY (FCO) 。C) : RETURN
X=PICX (PCU+1 ) : Y=PICY (PCO+ 1 )
に (1)=FICX (FCO+2) :FUR J=2 TO 7
K(J) =VaL (MTD ま (STRK ま (FICY (PC ロ + ら ) ) 。J 。1 ) ) :NEXT J
PAINT(X。Y) 。C。K(1) 。K(2) 。K( さ ) 。K(4) 。K( 号 ) 。 に (6) 。K(7)
PC ロ =PCU+2: RETURN
X1=PICX (PCO+1 ) = Y1= ニ PTCY (PCO+1 )
X セ = ニ PTCX (PCUT2) =: Y2 ニ FICY (PCH+2)
FUR B=X1 TU X2 GTEP SGBN(X つ ー メ X1 )
P=AEG(Y1-Y2) :FUR 1= ウ T P/55
ITF Yi:Y2 THEN Y=Y2 ELSE Y=Y1
PSET (B ,RNDxP+Y 。 じ ) : NEXT 1.。E
PC ロ =PCU+2: RETURN
CIRCLE
X1=PICX (FCOU+1 ) = Y1= ニ FICY(PCOT 1 )
X2=PICX (PCD+2 )
CIRCLE(X1 。Y1 ) 。X2。 ビ
PC0U=PCU+2: RETURN
本 エメ エメ エエ エエ メメ エエ マテ 3 還 つ =f^9 コ 症 エエ キテ テキ テキ テキ テテ キネ テテ テテ:
INPUT "FILE NAME "<N ま
OPEN"O" 。 守 1 。N も :PRINT 拉 1 。PCO
FUR PL= の TH PCO
PRKINT#1 。PICX (PL ) : PRKINT 持 1 。PTCY (PL )
NEXT: CLUSE# 1 : KETURN
FOUR 1= の 9 TO FCUzPRINTPICX (1) 。PICY(1I ) : NEXT
"区 閉 牙 区 区 基 基 基 区 区 ええ 区 区 ソーRAN CUPY GUH 光 寺 区 区 区 区 区 区 区 区 区 区区 芝
INPUT "ビーSAVE=1 ビーLUQD=2 つ " ュ SL
pagg 4 {( File Namg : SKETCH }
9 の う の DI も 5 じじ E 和 (240 )
9 の 4 の IF GL=2 THEN 15 の
の の の “ニニ ニニ ニニ デニ デニ デニ ニニ デデデ ニニ デー ロ らら I 人 ZiW ニー ニニ ニジニ ニニ ニニ デニ デデデ ジー 三 三
9 の 6 の IMNPUT "SAVE/FILE NaIE "FIN も
9 の 7 の UPEN" OU 。 鶴 1 。FTN 多
9 の 8 の FOUR Y= の TOU 1755
999 の GET@n( の 。Y) 一 (639。Y) ,EZ。B
91 の の POEE 多 H6B の の 。 ソ ARPTR (E ん (の ) ) 半 256
91 1 の POUEE を H6B の 1 , ソ ARKPTRK (EZ ん (の ) ) IOD 256
912 の の POEKE HoB の 2 。PEE に (VaKPTR【(DM も ) +1 )
91 う 3 の POUEE を H6B の 3 PEE に (VaRPTR(DM も ) +2)
914 の の EXEC&H6E ウ 4: PRKTINT 提 1 DI も ョ NEXT Y:CLUGE 失 1 : KETURKN
ワ 915 の “ニニ ニニ ニニ ニー ニニ ニニ ニニ ニニ テー テー L けけ 介 DD ニニ ニニ ニニ ニニ テニ ニニ ニニ ニニ ニニ ニー
916 の INPUT"LDAD/FTLE NaME "』FIN も
917 の OPEN"1" 。 拉 1 。FIN$
91 ヨ 8 の FOUR Y= の の TO 117: DFI4 も = 了 NPUT 生 (24 の 。 井 1 )
919 の 9 POUEE &H6B の 2 , VaRKPTR (EZ( ウ ) ) 学 256
929 の POEE H6BB3。 VAKPTR (EZ (の ) ) MUD 256
921 の POUEE HH6B の の 。PEEE に (VARPTR (DIM 和 ) 1 )
922 の POUEE 系 H6Bg1 。PEEEF (VaEPTR (DIM 多 ) オク )
92 う の EXECH6B の 4
7924 ウ PUTG@R(g。Y) 一 (639 。Y) 。E ん PSET =: NEXT Y: CLOSGE#1
25 の RETURKN
ワ つ 6 の ニニ ニニ ニニ ニニ ニニ ニニ ニテ テテ MACHINE DATA ニニ ニニ ニニ ニニ ニニ ニニ ニニ ニー
92 フ 7 の DATA 198」24 の ,19 の 9,1 の 7, の ,16。19 の 。1 の 7。2。166
928 DATA 128,167。169,192。1 , さ B。24 日 。57
余暇 利用 の 協力 者 を 求む
(パソ コン 用 の フロ グラ ム を 組む 仕事 を 勅 業 と し て 4 年 以上 経験 し て いる 方
の 余 忠 利用 で 在宅 の 仕事 て す が , 時 間 に 比 較 的 余裕 の ある 方
3 ビジ ネス ・ ユ ー テ ィ リ ティ ・ ゲ ー ム ・ マ シン 語 ・ そ の 他 の いずれ か の プロ グラ ミン グ に 自信 の あ
る 方
4 希望 者 は 下記 事項 を 書面 (メモ 程度 で 可 ) で お 知ら せ 下 さい (応募 の 秘密 は 大 守 し ます )
の 侍 所 ・ 氏 名 ・ 年 秋 ・ 自 宅 電話 番号
避 現 在 の 勤務 先 ・ 華 種
プログ ラム (また は コン ピュ ー タ ) に 関す る 職歴 お よび これ まで に 組ん だ プロ グラ ム 名
所 有 シ ステ ム ・ あ な た の 使用 で きる 言語 の 種類 (詳細 に )・ 協 力 て きる 大 よそ の 月 間 時 間
5 郵送 先 : 113 東京 都 文 京 区 本 卿 5ー5 一 1I8 山海 営 舞 集 部 及川 宛
こさ る へ や や や や が
NN My
グラ フィ ックス
いよ いよ ょ ダイナミック な 3 次 元 グ ラフ ィ ッ クス の 世界 へ 踏み 込み ます
ご /- に 】
////////// ツ
前 章 の 絵 を 描く ブロ グラ ム で は , 与え られ た デー タ に 従っ て 画面 に 絵 を 描く いわ ば 静 ” の
… ー
図形 処理 で し た が 本章 で は , ある 一 連 の デー タ を 加工 し , さま ざま な 角度 や 大 き さ の 図形 を
描か せる い 動 ′ の グラ フィ ッ ク に つい て 述べ て み ま す
3 o
| 画面 座標 系 と 原 座標 系 |
画面 座標 と は 640X200 ドッ ト の 座標 の こと を いい , 原 座標 は 数 学 に お ける 一 般 的 な 座標 を 指
レレ ます 。
( 図 4-1)
また 原 座標 を ワー ルド 座標 と も 呼び ます が , 本 書 で は 便宜 上 , 原 座標 の 呼び 方 で 統一 し ます 。
瑞 面 座 棟 は 周知 の 通 ? EE 白 kk ハ の 佑 1) 一定 上 - イ ー e ーー ーー ーー ュ ュ
画面 座標 は 周知 の 通り , 垂直 座標 (Y) の 値 と し て 画面 上 端 が 0 , 下端 が 199 に 固定 され て お
/3
り ま す 。 また, 水平 座標 値 (X) と の 画面 比率 も 1 対 1 に な っ て いま せん 。 前 章 の いわ ば 静 的 な
グラ フィ ッ ク の 実行 で は , この 座標 系 で も 特に 支障 は な か っ た の で す が , 動 的 な 図形 処理 を 行
な う 場 合 に は , いろ ら ろ と 不都合 が 生じ て きま す 。 一 般 に 座標 を 考え る と き は , メニ 0, Y=0 の
図形 の 移動 や 拡大 ・ 縮 小 ま た は 回 転 な どの 負 理 は , 架空 の 原 座標 系 内 で 行ない , 実際 に 描か
せる 時 点 て 座標 の 変換 を 行 な ら 。 画 面 座標 へ 出力 し ます 。
原 座標 系 の 座標 値 を 640Z200 ドッ ト の 画面 族 棲 に 変換 ナ する ため に は , 次 式 を 用 いま す 。
画面 座標 X= 原 座標 ィ +320 tr…t ①
画面 座標 Y=100 一 原 座標 カメ 0.4499 … ②
この 式 に よっ て 原 座標 の 原点 (r=0。 ヵ =0) は , 画面 座標 の 中 央 (320,100) の 位置 に セッ ト さ
れ ま す 。 ヶ ヵ 座標 に 0.4495 を 掛け て いる の は , 原 座標 の 縦横 比 1 対 1 と , 画面 座標 の 縦横 比 1 対
0.4495 の 調整 を 行なっ て いま す 。 こ の 調整 を し な ぃ と, 描画 する 図形 は 元 の 図 に 比べ 縦 に 伸 ば
され た 表示 に な っ て し まい ます 。
(320, 100)
(639, 199)
[- y]
( 図 4-2 原 座標 と 画面 座標 の 変換 )
74 4 章 3 次 元 グ ラフ ィ ッ クス
トウ
守
し 3
S
|
KN
較
原 座 標 系 内 の 図形 を 左右 に 移動 さき せる と き は , xr 座標 に 移動 量 を 加え ます 。 上下 に 動か す 場
合 は , 同様 に ヵ 座 標 に 移動 量 を 加え ます 。
移動 後 の += 移 動 前 の ++ 移 動 量 ……… 左右 の 移動
移動 後 の 7= 移 動 前 の ヵ 寺 移 動 量 ……… ト 下 の 移動
具体 的 な 例 と し て 原 座標 系 内 で 図形 を 移動 し た の ち , 画面 座標 に 変換 し 描画 させ る 過 得 を
追っ て み ま し ょ う 。
図 4.3 の ① を 元 の 図形 と し 右 に 50、 下 に 25 移動 きせ ます 。P1 一 P3 は 移動 前 の 座標 値 。Q1
て Q3 は 移動 後 の 座標 値 。R1-R3 は 座標 変換 後 の 座 標 値 で す
図 』-3 の 処理 を 通し て 得 られ た RIX~R3X お よび RIY~R3Y の 各 座標 値 を LINE また は
CONNECT で 結ぶ と , 移動 し た 三角 形 が 描画 で きま す 。
CONNECT (R1X,R1Y) -- (R2X, R2Y) - (R3X, R3Y) 一 (R1X, R1Y)
人 ビジ ネス マン の た め の 山海 堂 発行
バ パソ コン 人 入門 術
シス テム 科学 研究 所 編 /B5 変 形 210 真 1500 円
現代 は ニュ ー メ ディ ア の 時 代 。 情 報 化 社会 …… と 呼ば れる 新しい 時 代 に 移行 し つつ あ
す 。 こ の ニュ ー エ イジ に 生き る ビジ ネス マン が 最 ち 強い 関心 を 持っ て い * ろ ちの の
人 人 わり ほ 5 じ か = ボ 選 40 ま 『 で は 。 パソ コン ィ 、 の 対応 に 問 違 い は な か
? 対 記 の 仕方 に は , お か れ た 立場 に より , 人 それ ぞ れ に 違い が あっ
・ この 本 は 新しい 視点 に 立っ て , 人 それ ぞ れ の の 対応 の 仕方
ら 手 が か り を 与え て くれ る で し ょ う 。
ミソ コン に 取り 組む た め の 新 し い 発想 @10 語 で ルン ルン プロ グラ ミン グ
ご 4 組み と 働 ほ @ お りな 周辺 機 只 の ほな 2
すす む 0A と メカ トロ ニク ス @ に ニー ミニ 用 器 必 で
@ パ ソコ ン を 操作 する に は
Z5
上 右 に 50 の 移動 は ァ に 50 を 加算
下 に 25 の 移動 は ヵ に 25 を 減算
( 原 座標 )
01 ァ =P1r +50
01 ヵ = ニ P1 ヵ ー25
02 ァ = ニ P2r 十 50
Q1r=50
0Q1 ヵ =25
02 ァ =100
02 ヵ 7 ニ P2 ヵ 一 25 0Q27= ニ ー75
02 テ 7= ニ P3r+50 03 テテ 0
03 ヵ = ニ P3 ヵ 一 25 …. Q3 ヵ ニー
計 に 前 32
RIY 1 0.4495
R2X=02 テ 320
R2Y=100 一 027* 0.4495
R3X=Q3r-320
R3Y=100 一 03 ヵ * 0.4495
x 三 320 x 三 420
R3 1》 =133 y 三 133
( 図 4-3 座標 の 移動 と 変換 過程
76 4 章 3 次 元 グ ラフ ィ ッ クス
| 2 次 元 図形 の 拡大 お よび 縮小 |
拡大 は + と 7 に 1 以上 の 倍率 を 掛け , 縮小 は 0 以上 1 未満 の 倍率 を 掛け ます 。
拡大 また は 縮小 後 の 座標 値 を *。 / と する と ,
が ニダ % 僧 率
の ニル ※ 倍 率
と な り ま す 。 図 4-4 は 拡大 率 を 1.5 に し た と き の 例 で す
「 Q1r=Plr X1. ・Q17 ニ P17※1.
) Q2x=P2rx1.5 : Q27 ニ P27※1.
Q3 テ = ミ P3rx1.5 : 037=P37※1.
| 図形 の 回 転 |
ん どう に な り ま す 。 三角 関数 の SIN, COS が
きま す の で , 数 学 ア レル ギー が で て くる 方 も いる か も し れ ま せん 。 し か し , SIN, COS
は 高度 な グラ フィ ッ ク を 実行 する うえ で と て も 便利 な 関数 で す 。 知 識 が あい まい な と き は ,。 三
角 関 数 の 概念 だ け で も お きらい を し て お く と 心強く な る と 思 ら ます 。 ま た 。 SIN,。 COS が 自由
ZZ
自在 に 操 つ れ な けれ げ ば グラ フィ ッ ク が で き な い と 早合点 され て も 困り ます 。 本書 で 述べ る 式 を
測 な る 公式 と し て ,。 用 途 に 応じ それ ぞ れ 使い 分 け て くだ さい 。
回 転 後 の 座標 は 次 式 で 求め ます 。
ァ ー テ ァ ン COS の エル カン SIN
7 ニー テン SIN の + ヵ ッ ン COS の
* お よび が は 回 転 後 の 座標 値 で す 。 の な は 回 転 角度 を 与え を ます が , ラジ アン の 値 を 入れ な けれ
ば な り ま せん 。 日 常 私 た ち が 使 う 角 度 の 単位 は 度 (”) が 普通 で て, ラジ アン は な じみ が あり ませ
エ ろ
c お きま II アド ノ 。
ん 。 度 (") を ラジ アン に 変換 する 式 を 挙げ
ラジ アン = 度 ( ) >3.14159 そ 180
ラジ アン を 求め る に は 上 式 の 度 の と ころ に 角度 を 代入 し ます 。 た と えば , 90' を ラジ アン に 直す
場合 は , 度 の と ころ に 90 と 代入 し て
三 90X3.14159/ 180
od
N
WS
ラジ アン =1.57
と な まず 。
数 学 で は 。 度 (") を DEGREE (ディ グリ ー) と も いい ます 。 ま た 角度 を 表わす 単位 に は
RADIAN (ラジ アン [rad]) の 他 に GRAD (グラ ー ド 【[ 外 ) と いう の も あり ます 。 こ れ ら の 関
係 は
90'=100? ニ ァ +2 [rad]
少し 横道 に それ た が , 図 4-5 に 図形 を 90' 回 転 き せ た 実 例 を 載せ て お きま す 。 回 転 さ せ
ココ
し ま 【!
る 角度 を いろ いろ 変え て 図形 の 変化 を 確認 し て くだ さい 。
78 4 章 。 3 次 元 グ ラフ ィ ッ クス ーーーーーーーーーーーーーーーーーーーーーーーーー 一 一
Q1r=Plr* COS (1.57 ) 上 P17* SIN (1.37) SS (GHZ ご 50
| 0Q12 ゥ ニーPlr* SIN (1.57 ) 士 P17* COS (1.57) … Q17 王 0
|
| Q2r=P2r* COS (1.57) 十 P2 ヶ * SIN (1.57) … Q2x=ー50
| 027 ニーP2r* SIN (1.57) 十 P27* COS (1.57) … Q27 ミ ー50
| Q3rx=P3r* COS (1.57 )+P3 ヶ * SIN (1.57) 。 … Q3x ニ ー50
-Q37? ニ ーP3r*SIN (1.57)+P37* COS (1.57) … Q3z 王 50
原 座標 系 で の 拡大 ・ 縮 小 ・ 回 転 は 前 節 の 図 43-1 お よび
4-5 で 実例 を 述べ まし た が , 画面 に 出
力 す る と き は 図 4-3 と 同様 に 画面 座標 に 変換 し て か ら 描 画 き せま す 。 変 換 し た 座標 の 値 が
0<X<639,。 0<Y<199 の 範囲 な ら ば 問題 は な い の で す が , 拡大 に 伴っ て この 範囲 を 超え
|
|
tee|
リン
(の
テー
〇
①
* て
は ばい
1
て
ピ
と
ey|
考
PWM
1
に
AH
Qt
Ju
どう
ポー
SR
HI
* ン
(c
+ ン
wt
N)
を
Im
に
ら
1
0
RW
いさ
(C
H
NT
り 。X>640, Y>200 の 時 は 正しい 表示 に な り ま せん
クリ ッ ピ ング と は 。 画 面 か ら 溢 れ て し まっ た 線 を 適切 な と ころ で 切る 働き を いい ます 。
( 図 4-6 クリ ッ ピ ング )
クリ ッ ピ ング の 条件 。 |
画面 を 横切る 線 は 無数 に 存在 し ます が , 図 4-7 を 例 に 線 分 AB の クリ ッ プ に つい て 考え て み
な こく
yt
89 記
0 639
( 図 4-7 クリ ッ ピ ング の 条件 )
1) ① の 線 分 は 、A 点 B 点 と も 画面 内 で す の で , クリ ッ ピ ング の 処理 は 必要 な く , その まま
描画 で きま す 。
(2) ② の 線 分 は A 点 が 画面 外 な の で クリ ッ プ し な けれ ば な り ま せん 。
(3) ③ の 線 分 は A 点 B 点 両方 の X 値 が 640 を 超え て いま す の で 描画
(4) お よび ③⑨⑤ の 線 分 は A 点 B 点 と る 画面 外 で す が 。 画面 を 横切る 場
が あり ます 。
Ni
80 4 章 3 次 元 グ ラフ ィ ッ クス
線 分 AB が 画面 内 の ① を 満足 させ る 条件 は ,
AX>0 AND AX<639 AND AY>0 AND AY<l99 AND
BX>0 AND BX<639 AND BY>0 AND BY<199
が 真 に な り ま す 。AX は A 点 の 水平 座標 で 、AY は A 点 の 垂直 座標 で す 。
線 分 AB が 完全 に 画面 外 と な る ③ の 条件 は 。
(AXN<0 AND BX<0) OR (AX>639 AND BN>639) OR
(AY<0 AND BY<0) OR (AY>199 AND BY>199)
を 満足 し ます 。
さて , 前 記 2 つの 条件 式 の 結果 が ,。 虚 で ある な ら ば ②④⑤ の どれ か に あて は まり , クリ ッ ピ
ング の 処理 を し な けれ ば な り ま せん 。 図 4-8 の 線 分 AB を 例 に と り 説明 し ます 。
(0.0) (639.0)
クリ ッ フ ボイン ト
(0, 199) (639, 199)
クリ ッ プ ポイ ント CP の 座標 が わか れ ば , 画面 内 の B 点 と CP を 結び 。 ク リップ され た 線
を 引く こと が で きま す 。CP の XX 値 は 画面 左端 で ある こと か ら , 0 で ある こと が わか り ま す 。
だ 晶 [ ン エ と こそ で ー きま ーー アプ : ャ ン し デア 五 「 全 ヒ ー デ
不明 な の は CP の Y 値 で す が , これ は 三角 形 の 比 で 求め ある こと が 可能 で 3
A 1 *DY * ヽ
BX ーー ウッ PX 一 和え) 一 人 ら PY )
レー チラ と っ 2
ン ン ンー 。 一 プ プ ン
< BY リン 2
av レ A %
LINE(BX,BY)-(CPX,CPY), PSET
と 2 戸 間 を 結べ ば , クリ ッ プ され た 線 を 引く こと が で きま す 。
上 本 的 な クリ ッ ピ ング の 負 理 は 以上 で す が , 図 4-7 の の の よう に 両端 に また が る 線 分 の 場合
は 片側 ずつ 行ない ます 。 また ⑤ の と き は , CPY が 画面 外 (CPY>200) に な り ま す の て 描画 の
必要 は な く な り ま す 。( 図 4-9)
負 理 前 片側 を クリ ッ プ
両方 を クリ ッ プ し て 終了
( 図 4-9 クリ ッ ピ ング の 手 喘
F-BASIC に VIEW や WINDOW の 命令 が
あれ ば 。 も っ と 簡単 な 処理 で すむ の で す が , 無
いも の ね だ り を し て も 始ま り ま せん 。
BASIC の 藻 令 が 無い の で あれ ば 、 同 等 の 機能 を 有する ルー チン を 作っ て し まう の も プロ グ
ラミ ング の 楽し み と い えま す 。 こ れ ま で に 述べ た 処理 法 に 手 を 加え る と 。 VIEW や WINDOW
の サブ ルー チン が で きま す の で , 力 の ある 方 は 挑戦 し て みて くだ さ
で ン に "一
図形 加工 の サン プル プロ グラ ム
リス ト 4-1 は 図形 の 移動 ・ 拡 大 ・ 縮 小 ・ 回 転 ・ ッ ピ ング を 実行 する サ
が ソル キ ォ すし と 図 } は 矢 ) か y てい
82 4』 意 3 次 元 グ ラフ ィ ッ クス
(リス ト 4-1)
" 面 還 コケ イー フー イト 貞 ・ 力 29 イェ シュ フミ ヨウ ・ カ イ テ フ ※ (C) 己 .Ta})ima 原 記
DIN X(1g) ,Y(19 ウ ) : CLS:M=1 : エニ 1:DN ERRUR GUTU 29g
1 さ の READ X:IF X=9999 THEN =4:GHSUE さ 99:GOUTU 2
149 READ Y:X(1)=X:Y(I)=Y: 1 エ =1+1 : GHTU 1 さ の
1 DAT 94@。4 の 9。-1 の 9 の 。4g。-19,25。-45。25 。ー455 。 1 。
ュー 。ー45 。- さ の
16g DaTR -6g。- さ の 。-69 。 49 1 の の.49.15。49 」 こ コ 。 さ 9。 4 。7 の 9 。 4 の 。7 の 。
ー2 。 1 。ー2 。 一 王 。 一 4
5 9 ー マ
の 、55。- さ 。55 7
17 加 DaTQ さ コ 。- さ の 15, 7 。15。ー3 の の ー ラ ロウ 。 の.。49
DaTA 9999
MHILE に まく CHR ま (1 さ ) : 思 も ニ INEEY 和 中
21 IF ド に も =CHR ま (2B) THEN CLS: QRX= ニ AX+4g: GUSUB さ @@
22 :F に まま =CHR ま (29) THEN CLS: RX ニ QRXー4 の 9: GUSUE さ の 9
2 さ 還 IF ド ま =CHRK も ( ミ ) THEN CLS: RY=QAY+29: GUSUE さ @ の
2 っ 4 TF に も =CHR ま ( さ 1 ) THEN CLG ょ QAY= ニ QRY-2 の CSUBE さ の 中
259 IF に 和 ま = リ + リ "THEN CLG: MM+ 5: GUHSUE 3 の
So ITFFE ま = リー リ "THEN CLS: MM ニー.: GUSUB さ の 9
27@ 【FE 和 まり "THEN CLS: ビ ビニ に ビ + スワ 2 アミ GOHSUE この の
<B MEND: END
RESUNE NEXT
さ 1g@ LINE(d。g) (639 。199) 。PSET 。 1 。B:FUR J=1 TO エー-1
ミ 2@ IF X(J) >=5g THEN 449
ささ TF X(』ー1 ) >= ニ 5 THEN LX1=X(Jー1 ) 一 1 の 92 の ELSE LX1 ニ =X( ゴ ー1 )
349 LX2=X (J)
35g X1=LX1*CUS(E)+Y (コー1 ) *GTN(E) :Y1= ニ ーLX1xGTN(E) +Y (ゴー1 ) *CHS (に )
さ 6 の X2=X(J) *CHS(E) +Y (J) *SIN(K) =: Y2 ニ ーX (J) * 己 IN(E)+Y ( け ) *COHS (に )
さ 7 ウ X1=X1 テ MTAX+ さ 2 ウェ Y1=1 の ロー(Y1*M+AY ) * . 449
5B の X2=X2*M+ 仙 X+ コ フロ ェ マニ 1 ウー(Y2xM+AY ) *. 4495
1 と AND X1<63 ヨ 8 QRND Y1> の AND Y1<198 AND X2> ウ の AND X ぞ くら 6
さ ロ AND YS AND Y2<198 THEN 43@g
41 の 1F (X1< の aND X2<g) OR (X1>63 ヨ QRND X2>638) OR (Y1 く < の aHD Y
2<) OUFE (YY1:198 aND YS2:198) THEN 449@
42g GODSUB 469:GMUAFP X メ 1 .X2:5MAF 1 。Y セ GO0GUE 46
439 LENE(X1。 Y1) 一 (X2。Y2) 。 に に
NEXT: RETURN
メメ ニ メ 2
7F メン ニ メ 1 THEN イイ ニ Y ダ GUTOU 51 の
YY イニ イジ ー (イー ザイ 1 ) メ ( メ クー メ X) / (メーX 1 )
IF YY7<1 THEHN YY=1: GUT0D 54 の
1 ビー YY アテ 19 ヨ THEN YY=198: BUTOU 4 の
メニ メア ュ イ クニ イイ > GUTU 6 の
IF マフ = ニ Y1 THEN メメ ニ メ Xs GUTU 3
メメ ニー ニ メ マー( メ ター メ 1 ) ※ (ソー ザヤ) / (Y ア ジーY1 ) : BUTU 3 の
RETURRN
小 で す 。 回 転 は し に] キー で 行ない ます が , 一度 に 回 転 で きる 角度 は 22.5 度 に セッ ト し て あり ます 。
プロ グラ ム の 実行 を 終わ らら せる と き は リク ー ン キー を 空 打 ち し ます 。
図 肛 の モデ ル は アル ファ ベッ ト の “FM の 文字 を 形 ど っ て お り , その デー タ は 150180 行
の DATA 文 に 格納 し て いま す 。 ま た デー クタ は 双 。 Y の 順 で 並ん で お り , 描き 始め を 区 別 する
た め に X 座標 に 1000 を 加え て あり ます 。 デ ー ク の 終わ り は 9999 で 区 別して いま す 。
(100 一 180 行 ) 図形 の デー タク と デー タク の 読み 込み 。
(200 一 280 行 ) 左右 の 移動 (210, 220 行 ), 上 下 の 移 動 (230, 240 行 ), 拡大 (250 行 ), 縮
小 (260 行 )、 回転 (270 行 ) の 選
(310 一 380 行 ) 回 転 と 座標 決定 ルー チン 。
(400 て 560 行 ) クリ ッ ピ ング と 描画 の サブルーチン 。
この プロ グラ ム で 特に 重要 な と ころ は
CO
370 行 と 380 行 で す 。 XX1。Y1, X2, Y2 は クリ ッ プ 前
の 決定 座標 値 で す が , 図形 の 加工 や 原 座標 か ら 画面 座標 の 変換 を 行なっ て いま す 。 変 数 M は 抜
大 率 。 AX は 左右 の 移動 量 、AY は 上 下 の 移 動 量 で す 。 この 行 で 決ま っ た 座標 値 を 次 行か ら
クリ ッ ピ ング ルー チン に 通し , 430 行 の LINE 文 で 描画 きせ て いま す 。
リス ト 4-2 は カセ ッ ト ハ ー フ の 図形
)
ー タ で す 。 リ スト 4-1 の DATA 文 を この リス ト の 内
容 に 打ち 変え て 居 形 の 変化 を 楽し ん で くだ さい
84 4 意 3 次 元 グ ラフ ィ ッ クス
⑳
( 図 4-10) ( 図 4-11)
(リス ト 4-2)
159 DATA 942,-55」ー1 の 8 ,24 16。 日 。 5 。 一 72 。ー さ 2 。 一 62 。 一 さ 。 一 64 。 66。 一
29 。69 。 -2588, -1
155 DATA 99。-2。68,ー1 の 64 。-1 の りさ 2。ー4 さ 。ー マ 5 。ー4 プ 7 。ー5 。 5 。 58B 。 72
16g 206 1090。 ー2。 さ 2 。64 。 ー10B。 っ 4 。942 。16』-ー44 6 ら 。2B。17 。12。 ミ 6。-5 ヨ
17@ DAT 968。-4 さ 。ー さ 8 29 。4 の 9 。 ら 6。64 。 一 1 の
175 DQT 979,-42 。- う 3 。 一 4 。 1 の 64 。 一 1 。6 さ 。ー ミ の
18g DATR 9999
( 図 4-12) ( 図 4-13)
輝子 を 才 す す 刻 三 ! テ ェ ち エー ム の ッッ ーー j テ ェ ン 円 ーー >
3 次 元 を 表わす 座標 は 。 これ まで の 2 次 元 座標 ry。 ヵ に も う 一 本 z を 加え ,r, ヶ , る て 構成
され ます 。 移動 や 拡大 は 2 次 元 の 場合 と 同じ 処理 で 可能 で す が , 回 転 と な る と 少し めん どう に
か ーー ミキ - ーー リィ 本 ご 吉 コーー ニ ーー RB た と
な っ て きま す 。 2 次 元 で は 回 転 軸 が 一 本 で すん だ も の が 。 3 次 元 で で は 無数 の 回 転 朝 か 存在 し ま
ンー 】 方 ゝ 】 生来 テー ンー イオ 却 、 エ ァ J ! 1 5 ーー ュ ケ トー ー PP +
す 。 無数 で は あま り に も と り と め が な い の で , 普通 は て 軸 , ヵ 軸 , < 軸 の 3 本 を 対象
85
に し て いま す 。 いい ゆ の 方 を 変え る と 3 次 元 の 形状 は 軸 , 7 軸 , る 軸 の 3 方 向 の 回 転 の 組み 合わ
せ で 全容 を 見 る こと が で きま す 。 3 次元 グラ フィ ックス の 醍醐 味 は , これ ら の 各 方 向 の 回 転 を
通し て 。 あら ゆる 有 角度 か ら モ デル の 形状 を 解析 する こと に ある わけ で す 。
: 般 に , テ 軸 の 回 転 を ピッ チ (また は チル ト ), ヵ 軸 の 回 転 を ヘッ ディ ング (また は スピ ン ),
ヶ 軸 の 回 転 を バン ク と 呼ん で いま す 。
y ヘッ ディ ング
(7 Heading
( 図 4-14 3 次 元 窟 標 )
3 次 元 モ デル の 形状 作成 手法
3 次 元 モ デル の 図形 表現 に は ,
(1) ワイ ヤー フレ ー ム (針金 細工 風 )
(2) サー フェ ィ ス モデ ル (色紙 細工 風 )
(3) ソリ ッ ド モデ ル (積木 細工 風 )
の 3 方 式 が ,。 CAD の 分 野 で は , それ ぞ れ 用 途 に 応じ て 用 いら れ て いま す 。
CAD (キャ ド ) と は , Computer Aided Design の で パコ ンピュータ に よる 支援 設計 "
と 訳 さ きれ ます 。 も と も と 飛行 機 , 造船 関係 で 普及 し た CAD で す が , 最近 で は ハー ド の コス ト
パフ ォ ー マ ンス が 高まる と と も に , さま ざま な 分 野 で 使わ れ て いま す 。
パソ コン で 3 次元 図形 の 表現 を 行なう と き は , (1) の ワイ ヤー フレ ー ム の
的 で す 。 サーフ ェ ィ ス や ソリ ッ ド も で き な い わけ で も あり ませ ん が , か な
な っ て し まう で し ょ う 。 あ た か も , 軽 自動 車 に 何 十 ト ン も の トレ ー ラ ー を 引か
で ,。 パソ コン レベ ル の ハー ド で は 無理 が 生じ て きま す 。
86 4 章 3 次 元 グ ラフ ィ ッ クス
ワイ ヤー フレ ー ム は , 比較 的 簡単 な アル ゴリ ズム で 描く こと が で きる の で す が , 反面 。 形状
の 構成 が だ わかり に くい と いう 短所 も あり ます 。 図 4-15 の 左 図 は , 三角 柱 を ワイ ヤー で 表現 し た
も の で す が ,A に も B に も 見 えて し まい ます 。 向こう 側 の 線 を ある 所 で 切っ て し まう 陰線 の 処
理 が 完璧 に 計算 で きる と 良い の で す が , 複雑 な 形状 を 持っ た ワイ ヤー の 陰線 消去 は 大 変 し
く な り ま す 。
( 図 4-15)
座標 値 と 3 面 図 と の 対応 。
2 次 元 図形 で は 比較 的 簡単 だ っ た 座標 値 の 読み 取り も , 3 次 元 の ぇ が 加わ っ た 空間 座標 に な
る と, と た ん に 混乱 し そ を うに な っ て きま す 。 2 次 元 の と ほ き の よ うに , グラ ブフ 用紙 に 絵 を 描き
グラ フ の 目盛 か ら + と ヵ を 読む と いう 単純 な 作業 の 延長 で は , 3 次 元 座標 の 値 を プロ ッ ト す る
と は , 複 維 な モデ ル ほ と 不可 能 に な っ て きま す 。 図 4-16 に 点 P と その 座標 の 関係 を 示し て み
まし た 。 見 て わか る よう に 3 次元 の 空間 座標 に お ける 座標 値 の 読み 取り は , と て も 複雑 で す 。
よほど の 天才 で な い 限 り , 頭 の 中 で この 空間 を 想定 し , 何 十 何 百 も の 点 を 間違い な く プ ロッ ト
する て と は で きま せん 。
せっ か く 3 次 元 グ ラフ ィ ッ クス を や る の で すか ら , 飛行 機 や 車 な どの デー タ を 入れ て , さま
ぎ ま な 方 向 か ら の 図 を 描 め せ て みた いと は 思っ て も , 肝心 の デー タ 入 力 で つま ずい て は 何 に も
そこ で , 三面 図 の 登場 で す 。 三面 図 は 建築 は ちと より , あらゆる 産業 の 分 野 で 使わ れ て お り ,
正面 , 側面 。 平面 の 各 方 向 か ら 見 た 図 を 1 枚 の 紙 に まとめ た 図面 で ある こと は 周知 の 通り で す 。
x 三 30
y 三 20
点 P の 座 坦 値
( 図 4-16)
3 次 元 モ デル の 名 座標 舎 は 。 モデ ル を ゅ っ た ん 三面 図 に 描き 起こ し た うえ , その 図 を 見 な が ら
プロ ッ ト す る と 大 変 楽に な り ま す 。
図 4-17 は 三角 柱 の モデ ル と その 三面 図 で す 。 三 角柱 の 点 P は , 三面 図 の P' に 対応 し て いま
す 。 図 4-16 と 比べ , 座標 の 読み 取り が 楽 で . その うえ 正確 な 値 を 入力 で きま す 。
CAD な ど 実 務 的 な 3 D.C.G ( 3 次 元 コ ンピュータ グラ フィ ックス ) の プロ グラ ム で は 速く ,
か つ , わか り 易 い モ デル の 形状 を いか に 表現 する か と いう 点 ち 重要 視 る きれ て いま す が , それ よ
1
り も 。 いか に モデ ル の デー タメ が 入力 し 易く ,。 また , デー タク の 訂正 が や りや すい か の ほう が 課題
す 。 デー タベース が で き て し まえ ば その デー ク を 加工 し 料理 する こと は コン ピ
ー タ の 得意 と する と ころ で す が , 基礎 的 な デー タ 作 , 人 間 の 手 に 負う と ころ が 多い の が
現状 で す 。
実務 に 役立つ (FM-7-NEW7.77) | BASIC か ら 入 る (FM-7-NEW7・77)
( そ W ひ ディ スク ファ イル の 活用 法 (人 | で WO マ シン 語 人 門 の 手引 き (仮題
(60 年 2 月 刊 ) (60 年 2 月 刊 )
興味 津々 の マシ ン 語 を 読者 の な し じん で いる SC か
ら ア タッ ク . 初め て マシ ン 語 を か じ っ て みよ うと 思っ て
いる 人 , 足踏み し て いる 人 へ の お RC
ディ スク を 使う こと に よっ て パソ コン 活用 の 範囲 は 大 き
く 広 が り ま す . 実務 に 役立つ 使い 方 の 未 革 か ら 応用 まで
を 入門 者 に も 分 か る よう て いね い に 解 説 し て いま す .
3 次元 グラ フィ ックス
4 章
88
( 図 4-17)
用 いま す 。
ジア ン が 単
v を
ジ
ー オ
式 ?
め に は 次 の
の は 回
角度 で ラ
転
7 ーーー
標 値 トブ プ o
回 転 前 の 座 4
リエ
た
と
【 値 。 イ 。 7。
本
し
ンプ ンー
剖 た 修 の 寿
は 回
シン
89
(1) rr 軸 の 回 転
7 アテ ] ) 0
りん の / 0 cos の Sin の
の Z ) ー Sin の cos の
(2) ヵ 軸 の 回 転 (ヘッ ディ ング )
2 ア cos の 0 ーsjn の
の | =| ヵ 0 | り
る タ sin の 0) coS
(3) z 軸 の 回 転
ア " テア cos の sin の 0
の | =| ヵ ーsin の cos の 0
る " と 0 0 ]
あま り , な じみ の な い 式 の 形 で す が ,。 これ は 「 行 列 」 matrix で 次 の よう に 計算 し ます 。
て //491 7 i2 //2 も | 7 』 ュ イー 72」27 十 23 る
772 ぅ 77722 2723| 一 222 ュ 了 ー 72227 72723 る
7731 7232 7233 7723』 子 ー 72327 十 27233
「 行 列 は どう も 苦手 だ ] と いう 意識 が 頭 を も た げ て くる 方 ちい る か も し れ ま せん 。 以 前 は 行列
は 難し すぎ る と ,。 高校 の カリ キュ ラム に 入っ て な か っ た ぐら いで すか ら 当 然 の こと で す 。
も う 少 し わか りや すく , 普通 の 式 に 直し て み ま し ょ う 。
(1) ェ 軸 の 回 転
ィ ”ー ア
の ニッ ※coS 9 と sin の
< ニー カル ※sin の ーッ メデ cos の
90 』 章 3 次 元 グ ラフ ィ ッ クス ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 一 一
(2) ヵ 軸 の 回 転
ニー ィ ※cos 9 一 <Xsin の
人
< ディ XSin 9 十 <Xcos の
(3) > 軸 の 回 転
ィ ニー ェ ※ ペ coS7 二 ヵ Xsin の
の ニーr ベ Sin 9 十 Xcos の
< 角 ニン
これ で だ いぶ 身近 な 形 の 式 に な り ま し た が 。 式 だ け で は , まだ ビン と きま せん の で 。 実例 を 挙
ェ テ 100, 7 ニ 100、<=0 の 座標 値 を 持つ 点 P を 想定 し て 、r 軸 を 中 心 に 455 お き に 180' 回 し
て み ま す 。 リ スト 4-3 は , この 実行 プロ グラ ム と 実行 結果 の 印字 リス ト で す 。 見 て いた だ けれ
ば わか る と 思い ます が 。 一応 リ スト の 説明 を し て お きま す 。
(リス ト 4-3)
1 の Xー ニ 1 の の :Y= ニ 1 の の: Z=g
11@ FUR D=g@ TU 18g STEP 45
129 R=D* さ 。14159/18g
13@ XX=X
149 YY=YxCUS(R)+Z*GIN(R)
| 15 ZZ=-Y*SIN(R)+ZxGIN(R)
| 16g PRINT D。FIX(XX) 。FIX(YY) 。FIX(ZZ)
17g NEXT D
Ready
RUN
g 1 の 9 1 の g g
45 1 の gg フ 7g ー7 ア の
9g 1 の の g ー1g の g
135 1 の の ー7 の ー7 ア の
| 18 1 の 9 の ー1gg g
| Ready
HARDC
プリ ント され た 数 字 だ け で は
(100 行 ) r。 7 ヵ , る の 座 醒 値 を セッ ト 。
(110 行 ) 0 から 180 まで 45 お き に 回 転 を 設定 。
(120 行 ) 設定 し た 回 転 角度 D を ラジ アン R に 変換 。
(130--150 行 ) テ 軸 まわ り の 回 転 式 。 (1) 式 と 同じ で す 。 XX,。 YY, ZZ に 新座 標 が セッ ト さ
れる 。
(160 行 ) テ , ヵ , る の 順 で , 回 転 後 の 新 座標 を 印字 する 。
(170 行 ) ルー プ
ら
ン ーー
く プ
さる て 。 こ の プロ グラ ム に より , ヶ 軸 まま わり に 45 ず フ つ 回 転 し た 新しい 座標 値 が わか り ま し た 。
まだ 分 か り づ らら ので , テテ ,。 か る の 名 座標 値 を 三面 図 に プロ ッ ト
しく で 2 まお 5925
罰 4-18 が 各 座 標 点 を 拾 2 だ 区 1 ぐ で ) ① が 0 * ② カ : 45 。 ⑨ が 90 , に を と な シブ て い ま 98 角度 に
よっ て 点 P の 座標 値 が 変わ り , 動き だ は っ ほり わか る と 思い ま す 。 こ の 動き を 三次 元 的 に 視覚
化し た の が 図 4-19 で す 。
リス ト 4-3 の 140150 行 を (2) 式 また は (3) 式 に 入れ 替え て ヵ 軸 まわ り , る 軸 まわ り の 回 転 ち も 試
し て くだ さい 。
し
!
正面 図 ! 。i 2) ぁ D | 全面 図 |
1 e 2 @
3 3
( 図 4-18) ( 図 4-19)
92 4 章 3 次 元 グ ラフ ィ ッ クス
| 各 雷 まわ り の 回 転 実際 1 |
リス ト 4-3 を も う 少 し 発展 させ , r 軸 ,
アン ノバ WAS
ヵ 軸 , ぇ 軸 ご と の 回 転 を 実際 に 目 で 確か め る プロ グ
リス ト 4-4 を 用 意 し まし た 。
回 転 き せる モデ ル は 図 4-20 で
で 示す 三角 形 の 板 で
( 図 4-20)
(
に
r
()Y
\
ct
】
4
5
こ
に 2
まわ り の 回 転 。 2 は ヵ 軸 まわ り の 回 転
転 。 3 は < 軸 ま わり の 回 転 で
任意 の 数 字 を 入力 する と, 指定 し た 軸 を 中 心 に 三角 形 の 板 が ひと 回 り し ます 。
な お ー アゲ ーー リュ さく
MI
ます 。 300--320
また 0.002 を 0 に する か , 300 て 320 行 を 宮
コ の
っ
レン の 4
平行 透視 一 点 透 視
( 図 4-21 送 視 変換 )
(100 一 160 行 ) 三角 形 の 各 頂 点 の 座標 を デー ク 文 か み ら 読み 取り , X( ヵ ), Y( ヵ ), Z( ヵ ) の 配列
変数 に 格納 。
(190 一 230 行 ) メニ ュー の 表示 と 選択 。
(250 行 ) 9' お き に , 0 から 360' の 回 転 を 設定 。
(260 行 ) 度 () か ら ラ ジア ン の 変換 。
(270 一 280 行 ) 座標 計算 の 準備 。
(290 行 ) メニ ュー て 選ん だ 数 字 に 従っ て サ プ ブル ー チ ン に 飛ぶ 。
(300 一 320 行 ) 透視 変換 。
(330 一 340 行 ) 原 座標 系 か ら 画 面 座 標 へ の 変換
(360 一 380 行 ) 描画 と 消去 。370 行 は 表示 時 間 の タイ ミン グ 。
(410 一 430 行 ) r 軸 回 転 の サブルーチン 。
(450 一 470 行 ) ヵ 軸 回 転 の サブ ルー チン 。
(490 一 510 行 ) z 軸 回 転 の サブ プル ー チ ン 。
い J
360 行 の 終わ り に , DEG/9 MIOD 7+1 と ある の は , 線 を 引く た びに 表示 色 を 変え る た
めで す 。 DEG/9 を 任意 の 数 字 に 置き か え , ダイ レク トモ ー ド で この 式 を 試し て みる と , ど
ん な 数 字 を 入れ て も 1 へ 7 の 範囲 の 結果 に な り ま す 。
表示 色 を 変数 C と し て
C=C 士 1 : IF C=8 THEN C=0
と する の と 同じ こと で す が , MOD を 使っ た ほう が スマ ー ト と いえ ます 。
C=z MOD 7+1
|
|
|
]
|
94 4 音 、3 次 元 グ ラフ ィ ッ クス
(リス ト +-3)
1 XX XY。Z7 カイ テ フ フー パリ ケン 共 ※ 基
11 の CLS
129 FOR I=1 TO さ
13 の READ X,Y,。Z
14 。 X(I)=X:Y(1I)=Y:Z(I)=Z
15g NEXT 1
169 DAT-125。ー125」 の 125」ー12。9。 り 、125。 の
19 LINE(@。@) -(639。199) 。PSET 。 1 、E
2 の LUDCATE @,
21 INFUT"1 ロ R 2 OR ミ "isF
2 っ 2 IF F=1 UR F=2 UR F= ミ THEN BUSUB 25g
239 GUTH 19g
25g FUR DEB=g ウ TU さ 6 の STEP 9
26g RAD=DEG* る .14159/1 ヨ 0
27g FOR J=1 TH ミ
2 X=X(J) :Y=Y(J) : Z=Z (J)
29 ONF GUSUB 41g。45g。49 ロ g
3 の PX=X1/(Z1*. の の 2+1 )
31 の 。PY=Y1/(Z1*. ウ の 2+1 )
さ 29 PFZ=Z1/(Z1*. ウ go+1 )
ささ XX (J) =PX+ ス 2
ミ 49 YY(J)=1gg-PY*.。 4495
35@ NEXTJ
36g CUNNECT(XX(1) 。YY(1) ) 一 (XX(2) 。YY(2) ) (XX() 。YY() ) 一 (XX(1)
,YY(1) ) 。DEB/9 MOD 7+1
ュ 79 FOR T=@ TU ミ 99:NEXT 本
3B9 CONNECT(XX(1) 。YY(1) )-(XX(2) 。YY(2) ) 一 (XX( 誤 ) 。YY( 三 ) ) 一 (XX(1)
,YY(1.) ) 。g
42 1= ニ YxCHS (RAD ) -Z* 弓 IN(RAD )
4 う 3 の 7Z1=YxGINKRAD ) +Z7*CH5S (RAD ) : RETURN
4 X1 ニ X*CO5 (RRD ) 7* 選 IN(RAD )
人 4 ら 69 Y1=Y
47@ Z1 ニ X*GTN (RaD)+Z*CUS (RaD ) : RETURN
49 の X1 ニ = ニ XxCHG (RAD ) -Y* 弓 IN (RAD )
つの りり Y1 ニ Xx 己 IN(KAD ) +Y*CUS (KaD )
Z1=Z: RETURN
(写真 1-2
て 博 回 り の 回 転 )
全 2 全う 7
(写真 1-4 z 結 回 り の 回 転 )
エーーーーーーーーーーー ーーーー ーーーーーーーーーー
| 條 2 W 37 ま 秋 2 基 す 7
| 回転 実 験 プロ グラ ム
前 記 リ スト 4-4 の 実験 プロ グラ ム 1 は 各 軸 ご と の 回 転 で 、 た と えば r 軸 まわ り を 45 に し て 。
が かつ 。 7 軸 ま わり を 30 に する と いう 組み 合わ せ KG4 で SA
人 )v
9
計
+ ん 。 次 に 示す リス ト 4-5 は 。 3
次 元 モデ ル を 観察 する うえ で , 必要 な 条件 を ほぼ 満足 ささ る プロ グラ ム で す 。
機能 は 以下 の 通り で す
(2) 図形 の 拡大 ( 近 ず く ), 縮小 (遠のく )
(3) ェ ,。 7 ヵ , < 軸 ま わり の 組み 合わ せ 回 転
4
サン プル モデ ル と し て , 格子 状 の モデ ル を デー
MER ンジ 28Sc ジ タージ ーー つう 1) の 7
文 に 格納 し て あり ます 。 この モデ ル は フラ
モ れる 形状 で す 。 座標 デー タ は r。 ヵ , る の
順 で 並ん で お り 。 描き 始 ヶ め を 区 別 す る た が a
た め に , その 場合 は 実際 の ァ 座 標 値 に 1000 を 加え て あり
お 76ー フ ポー クー ンド 9999% ら クラ ま ラ た
ンス レン
も 呈 アー ンー モリ テイ リー ュ >S と ヘー ン >。 ツァ アリ ァ ンーー ピコ
操作 法 は 画面 に 出力 され ませ ん の で , 次 に 示し て
mmm ーーーー
に | 上 図形 の 左右 移動
| 旨 ) 図形 の 上 下 移動
H| 図形 を 1.5 倍 拡大
| 図形 を 0.5 倍 拡大 (縮小 )
[2] [8| ピッ チン グ (r テ 軸 ま わり の 回 転 )
[4] [6@] ヘッ ディ ング (7 ヵ 軸 まわ り の 回 転 )
ト 」 [ パンク (z 軸 まわ り の 回 転 )
終了
Re ーーー SN Es ek 人
回 転 は キー を 押す ご と に 22.5 度 ずつ 回 転 表 示 き れ ま す 。 な お ,。 こ の プロ グラ ム ( リ スト 4-5)
は ,。 リス ト 4-1 の 2 次 元 図形 の 回 転 プ ログ ラム と リス ト 4-4 の 3 次元 各 軸 ご と の 回 転 プ ログ
ム を ペー ズ に し て あり ます 。
(120 一 180 行 ) デー タ の 読み 込み 。
(200 一 320 行 ) 機能 の 選択 。
(360 一 430 行 ) 描画 準備 と 画面 座標 へ の 変 3
(450 て 610 行 )
ク
(630 て 730 行 ) 各 軸 まわ り の 回 転 の サブ ルー チン 。
98
4 章 3 次 元 グ ラフ ィ ッ クス
(リス ト 1-5)
る る コマ" ケガ イー ブ フー イト 貞 ・ 力 29 デイ ・ ジ ュ ブ ヨウ ・ カ イ テ ー フ ッ / ( じ ) 巳 . 丁 aj1ma を る
DIM X(1 の 9g) 。Y(19 の ) 。7 (1 の 9) : CLS: =1 : ユニ =1 : ON ERROR BUTD さ 4 の
READ X:TIF X=9999 THEN =7: GUSUE さ 5 の :GHTU 2 の
READ Y。Z:X(I)=X:Y(T)=Y:Z(T)=Z: エニ 1+1:GHTU 1 さ の
DQTA 7 の ,-9 の , さ の 。 さ 9 , さ の 。 さ の の 。 9 。 一 さ の 。 一 さ の の 。 9 の 。 一 う の の 。
ー ミ gg 。 9 。 さ 9
DRTR 7 ロロ ,-9 、15g 、 さ の 。 9 。 19 、79 の 9 。9 。 さ の 。 9 。 の 。 7 の の 。 9 の
、-15 , さ の 。 9 。 15 の
DATQ BE5Q ,-90 , さ ウロ 一 15 の 。ー9 の 。 一 エロ の 。 1 の の 。 9 。 さ の 。 9 。 9 。 一 さ の 。 1
15 9 。 さ の
DATQ 15g,ー9 。- さ の ,9999
エエ エエ エ エエ エエ エエ エエ エエ エエ エエ テ エ デ エ エエ ギ デデデ テッ ツ 半 ヅ ヅ メ オ ョ q ョ m ギ =
MHILE に まく >CHR も (1 ミ ) ょ に 和 あ = ニ TNEEY
1F ド を =CHR ま (2 日 ) THEN CLS: AX=QX+4 ウ = GUSUE る 5
TFK$=CHR 和 (29) THEN CLG: AX=QXー49: GUSUE さ 5 の
1F ド も =CHR 和 も (る) THEN CLS: AY ニ QAY+29・ GDSUB 35 の
IF ド ま =CHR ま ( さ 1 ) THEN CLS: RY=RY-29: GUSUE さ 5g
TFE ま ="+ リ "THEN CLG:M=Nx 1 . 呈 : GDSUEB さ 5 の
IF ド も = リー"THEN CLS: M=M* . 王 : GUSUE コミ 5g
IFE=" 。"THEN CL: BANK=BANK+ . さ 927= GUSUB 5
IF に $="="THEN CLS: BANE=BAN ド ー . さり 27 : GUSUB さ 5g
IF に ま ="6"THEN CLS: HEAD=HEAD+ . ごう 27: GUSUB さら の
IFE*="4"THEN CLG: HERD ニ HEAD 一. 927: GUSUB ろう 5 の
IFK ま =""THEN CLS:PTCH=F 1CH+ . さ 927 : GBDSUB さ 5g
TF ド も =" つ "THEN CLG:FTCH=F'ECH- . ミウ 27 = GBDSUB さら
MEND:END
RESUME NEXT
" キキ エキ キキ キキ キキ キキ キキ エキ キキ キキ キキ キキ キキ キキ キキ キキ
し INE ( 。g) (639 」199) 。FSET 。 1 。B
FOR 3=1 TO 1-1
TrF X(J) >=5gg THEN 49g
IF X〈J-1 ) >=5@G THEN XX=X(Jー1 ) 19gg ELSE XX ニ X (ゴー1 )
YY=Y (ゴー1 ) : ZZ=Z (ゴー1 ) : GBDSUE 62g: X1=BX:Y1= ニ BY
XX ニ X ( さ ) : YY=Y (J) : 7Z=Z (J) : GUSUE 62 の : X2=BX : Y2=BY
メ 1 ニ =X1 *M+ 人 メキ エス: Y1=1 の ウー(Y1xM+AY)*.4495
メー ニーX つ x+QX+ ユ 2 ウェ: Y2 ニ 1 の の ー(Y2*MTAY ) *。 4495
"エエ キキ エキ キキ キキ キキ キキ キ エ キ キキ キキ キキ キキ キキ キキ キキ キキ キキ
1F X1 2 の SND X1<638 RND Y1: ロ RND Y1<198 QRND X2> ウ の aND X ぞ くら
っ 人 NRD YS ジロ naFHND Y2<19B THEN 4
1F (X1 デ の GND X2Zg) UKR (X1>638 RND X2>63B) OR (Y1<2 AND Y
< の 2) DR (YY1 >198 AND Y フ >198) THEN 49g
GU5UE 51 の: SMP X1 .X2:GMAP Y1 ,Y2: BUSUE 1 の
LINE(X1 。Y1) 一 (X2。Y2) 。PSET ,C
NEXT:z KETUEKII
"キキ キキ キキ チキ キキ キキ イキ キキ キキ キキ キキ キキ キキ キキ 二 十
1F ニー メ 221 丁 HEN メメ X ニ 1 : GUDT ロ 54 の
IF XX クッ ラム 6 つう THEN XX メニ 6 う 38: GUTU 549 の
メメ ニ メ ク
IF X2 ニ X1 THEN ソ 7Y ミ YZ: GOTO 56 の
YY イニ ザ Y ク ー (イー ザヤ 1 ) * ( メ フ ー メ X ) / (メー メ 1 )
TF YY21 THEN Y イ ミニ 1 : GUTUD 59 の
IF YY アテ 198 THEN イイ 7 ニ 198: GUTU 59 の
メニ メ XX = マク ニ YY: BUTD 61 の
IF Y ビ ニア 1 THEN XX メニ メ 2: BUTU 58 の
メメ ニー メー( メーX 1 ) (YY フーYY ) / (2 フーY1 ) : GBDTU 58 の
RETUKN
エエ エニ エエ エエ エエ エ エエ デキ デデデ エギ エア デデデ デデデ デデデ ン ン レン エ エエ エギ ギー テ =
メメ 1 ニ メ XX
YY1= ニ YYxCOUS (PITCH) 一 ZZ* 己 IN(P1CH)
ZZ1 ニ YYXSGTN(PICH) +ZZ*COU5 (PT エビ HH)
X メ メニ XX1xCOUS (HEAD ) 一 ZZ1*x 己 IN (HEAD )
YY2 ニ YY 1
ニー ニ メ X1※GIN(HEAD ) +ZZ1 CUS (HEAD )
メメ う ニ メメ X つ xCUHS (BANK ) 一 YY2 テ IN {BaNK )
YY イラ ユニ メ X2 つ GTN(BRNE ) +YY2xCHS (BANK )
ZZ ラニ ZZ2
ロメ ニ メ X メ ラ う / (ZZ アユ x。 BB1+1 ) : EY ニ YY ユミ / (ZZ ラ %。 1+1 )
RETURN
本 42 で ビラ く の 3 次元 回 転 プ ログ ラム が 泣き ます の で ,
(て
N
お きま し た 。 リ スト 4-6 が その デー タ で , リ スト 4
し cn で 守 け し で 2 で の 5 行 機 が 描画 まれ, あたかも 地平 線上 を 滑空 す
エン ド 9999 は 取っ て くだ さい 。 その まま で す と 飛行 機 の デー タ は
700 4 章 3 次 元 グ ラフ ィ ッ クス
(リス ト 4-6 飛行 機 の サン ブル デー タ )
199@
DATA 1 の gg,-19,-120,-2 の 14 ,-28 の 。2 の 。 1 の の , 2 の,14 。 一 2 。 ロ 。ー1 の 一
1 2 りり 。 2 の ,-4
1919 DQTR ウ ,2, 19 の, の 。-19。 の 。 の 。ー1 の 12: トド ウラ
DATQ 9 の 9,-19, の ,-1 の の 。ー1 の 5 の 。。2 の 4 の 。1 の の 一 1 の 。5 の 。 1 の の 一 1 の の 。
1 92g
199,-19,20
19 さ の DATQ 9』29。-4 り 。ー1 の の 。ー1。2 の = "ジコ ヨ ワ
1 の 4 の DQTQ 10O,20,50 。 の ,6 。9 の , の 。6 。 1 2 。 り 。2 の 9 。 1 の : " ヒ ~ ヨ ワ
195g DATQ 1 ロワ ,69 9 の 4 」 6 の 。 1 1 の 一 4 の 。 ら の 。 1 2 の 。 4 の 。 6 の 12 の 。 49 。6 の 1 1
ロ , の 9,69 9 の
1969 DQTA 9999
この サン プル 以外 に も 。 自 分 の 好き な モデ ル を デー タ 化 し て 、 3 次 元 グ ラフ ィ ッ クス の 世界
(Y
3 只
7
ー
で
ご
人
プン
(R
05:
ジー
ン
。 デ ー タ 量 の 多い 複雑 な モデ ル を 動か す と き は 。 ブロ グラ ム 先 頭 の 配列 の
数 を 多め に と る こと も お 忘れ な く 。
707
(写真 1-10 て 15)
8 次 元 グ ラフ ィ ックス の 実用 プロ グラ ム を 紹介 し ます 。 ひ と つ は 、 任意 の 方 向 か ら 地形 を 選
3 次 元 地形 図 ]]」 も うふ た つ は , 第 4 章 の 理論 を 元 に し た 「 3 次 元 形状 作成 プロ
AI 還る の ハン EN の ペー ンジ に ん 9
賊 で きる 「
前 記 2 点 の プロ グラ ム は , 雑誌 で 「3D GROUNDI「3D WORLD」 と し て 発表 し 好評 を 博
し た も の で す が , 今回 大 幅 に 改訂 の うえ ぇ 本書 に 発表 し まし た 。
(写真 5-1 3 次 元 地形 図 プ ログ ラム (写真 5-2 3 次 元 形状 作成 プロ グラ ム
3D _ GROUND) 3D _ WORLD)
3 次 元 地形 図 プ ログ ラム (3 D GROUND Ver.2) |
と る 折っ ミミ ココ ーー ナ 。 セ レト 7 ルル アイ クト 7 ィ \ 日 ほど ) ユ
瑞 線 が 記入 され た 地図 (地形 図 ) を ひと 目 見 た だ け
703
の 中 に 構築 する こと は , な か な か 次 し いも の で す 。
補 を 飛ぶ 鳥 の 目 を 借り て 地上 を 見 お ろ す か の ご と く , 地形 図 を 立体 化し て 眺め る こと が 可能
な ら ば ,。 どん な に か 素 晴 し いこ と で し ょ う 。
「 3 次 元 地形 久 ] は , 地形 連 か ら ゥ プロット し た 標高 デー タ を 立体 的 に 図 化す る プロ グラ ム で ,
さまざま な 方 向 か ら 地形 を 鳥 爵 で きま す 。
出力 する 図 の 種類 は 以下 の 通り で す 。
(1) ワイ ヤー フレ ー ム に よる 立体 図
(2) ワイ ヤー フレ ー ム に 陰影 を 付け た 立体 図
(3) 標高 別 パ クー ン の 平面 凶
(4) 立体 視 が で きる ステ レオ 立体 図
圏 プロ グラ ム の 実行
プロ グラ ム 「3DGND 2」 を ロー ド し ます 。
RUN と キー イン する と 。 タイ トル と 共に 初期 メニ ュー が 表示 され ます 。 メ ニュ ー は ,
[1) シン キサ クセ イ
〔2) デー タ LOAD
3 且 RBS
と な っ て お り , 1 へ 3 の 数 字 を 入力 し ます 。〔1) は キー か ら 新 し く 地 形 の 標高 デー タ を 入力 する
こと を 意味 し ,〔2] は すでに デー タ や ディ スク な ど に SAVE され た 標高 デー タ を 読み 込む こと
を 指し ます 。〔3) は テス ト デ ー タ の 作成 で す 。
圏 デー タ の 新規 作成
初期 メニ ュー で 〔1〕 を 選ぶ (1 を 押す 。 ざ は 不要 ) と , 0 て 18 の 縦横 の スケ ー ル が 表示 され ,
デー タ の 入力 待ち に な り ま す 。 (写真 5-3)
普通 3 次 元 グ ラフ ィ ッ クス は , ひと つの 点 に 対し ァ , ヶ ヵ , る の 各 座標 を アロ ッ ト し な けれ ば
な ら な い の で す が ,。 この プロ グラ ム は 標高 (Y 座標 ) だ け の 入力 で すみ ます 。 標高 の デー タ を
求め る に は , 地形 図 を 用 意 し 任意 の 区 域 を 18 メ 18 個 の マス 目 に 仕切 みこ と か ら 始 め ま す 。 この
マス 目 が 先 の 縦横 の スケ ー ル に 対応 し , + お よび < 座標 に 相当 し ます 。( 図 5-1)
704 5 意 3 次 元 実 有 有 プ ブログ ラム 3 題
高 さ (y ) の デー タ
18X18 の マス 目
( 図 5-1)
標高 デー タ は マス 目 の 交 点 (マス 目 の 中 で は あり ませ ん ) の 所 を 等 高 線 か ら 順 次 読み 取り ま
ほう が 効率 的 で す が , 最初 の う
ユナ ュ
ペペ
す 。 少し 慣れ て くれ ば , 読み 取り な が ら デ ー タ を キー イン し
an
S 細 HO 年 山 720
UL7 衣 252 の
15 22 30 35
20 26 34 40
( 図 5-2 標高 デー タ の 読み 取り )
国土 地理 院 発行 の 5 万 分 の 1 や 2.5 万 分 の 1 の 地形 図 を 利用 する 場合 , あら か じ め 100 m お
"で な ぞ っ て お く と 。 読 み 取り が 楽に な り ま す 。 ま た 該当 区 域 の 地形 が マス 目 の
月 上 『 豆 )ー ト ーー 生生 コー ジラ リリ ェ ーー > ュー e に まっ
間隔 に 比べ て 複雑 すぎ る と , 立体 図 と し て の 精度 が 落ち ます の で , 範囲 を せ ば め た ほう が 良い
(1) 左上 陽 か ら 右 に 入力 し て いき ます が , そ の 数 値 は ー998 か ら 二 998 まで の 整数 に 限ら れ ま
(0 の ニニ ニニ ニニ ニー ニー に 3
(2) 4 桁 り (デー ク が ある と き は , すべ て の デー タ を 10 で 割っ て か ら 入 力 し て くだ さい 。
(3) 入力 の 途中 で 999 を 入れ る と 訂正 ルー チン に 入り ます 。
(4) 訂正 筒 所 の 横 と 縦 の 座標 を 求 め て きま す の で , 場所 を 指定 する と , その 位置 に ? 印 が 表
示さ れ ま す 。
(5) 正しい デー ク を れれ 吉 す と 2? 印 に 替わっ て , その デー タ が 表示 され , 999 を 入力 し た 位置
か ら 入力 の 続行 と な り 光 09 が 2
入力 すべ き ク の 数 が 多い の て 大 変 て す が 。 最後 まで 頑張 っ て くだ さい 。 全部 の デー タ の
入力 を すま す と , 描画 ルー チン に 移行 し ます 。 試 附 的 な デー タ を 入れ て , 途中 で 描画 きせ た い
と き は , 一 999 を 入れ れ ば それ で ち 描 画 ル ー チ ン に ジャ ンプ で きま す 。
(1D6 00 DO 封 細 UNUL 太 有人 2 ん
Ss
て
対 72 72
人 全 人
03 7 友
間 科 間 明
四
本
NO Nm
1UIUL 9 |
(写真 5-4 入 力 済 : み 男 固 )
ー で 選択 し て 下さ い 。
機能 を 操作 する 主 な キー は , テン キー の 1C6, ファ ンク ショ ン キ ー の PF 1・PF 2・PF 3・
[PF1| PF1 は ワイ ヤー フレ ー ム で 立体 図 を 描き ます 。
LPF2] PF2 は PF1 て で 描い た 立体 図 に 陰影 を 付け る 。 た だ し , 陰 影 の 効果 は
カラ ー よ り グ リー ン モ ニタ ー を 使用 し た ほう が 自然 な 表現 に な り ま す ( 第 1 章 写 真 参照 )。 描 画
に や や 時 間 が か か る の が 上 輸 点 で うら
106 5 意 3 次 元 実用 プロ グラ ム 3 題
(写真 B.5 ワイ ヤー フレ ー ム )
PF3| 高度 別に 色分け され た パタ ー ン の 平面 図
LPF5| 立体 視 を 行なう た め の ス テレ オ 立 体 区
+
超 3 次 元 感覚 の 立体 感 が 楽し め ま
Ne2
に こら
し
ッ ー
7
二 プ
C 出
0 ミ
ON
一
は 時 間 が か か り ま す の で , 描き 上 が る まで 待
記す 働 ほ を テオ 吟 影 を 人 4 サテ ナマ
PE2 間 ご さぞ で レレ よう 喉 叉 ク で 1 リリ に ソル 3
1 シリ ー と テロ ュー ララ ュ テ ミン
vV3 と ざさ (> この エー を 3P レ て で だ さい りう 。
アト >
1 テン キー の 1 を 軍 す と ,
タカ サ ノ ヒ リ ツ (0 to 8) ?
70/
ョ ルディ
スル に
F
高低 比 が
の
従っ て , 地形
(ご
《
さ
す 。 入力 する 数 字 の 大 き
< ヒ
に
ん 求め て :
ロ
有
れ ま す 。 つ まり 。 同 1!
の 数
3
9
フ
。 (0) か と
e
ノ ェ
7 た ハ
時 の 。
か な 丘 際 表
の
な か た
デー ク で も 。
レフ
// ク /
ア
比 の 変化 )
-9, 5-10 高低 比 ?
5 ぅ
(写真
ピス
1
ョ ルン テラ
と あッ コ
度 を
一
「J
の
の で ミン 4
TL
見 る 1
: 大 きく な り ま
ろ す 角度 ヵ
下 を 見 お
2
で
1
cam
所
ret
で
HI
の
所
ま 。 視 点
』
*
5)
て
ト )
3 次 元 実用 プロ グラ ム 3 頭 一 一 一 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー 一
ミ さ れず 一 部 不 自
ーー
3
ytt
5
時 ~
と , 見 る 方 角 が 変更 で
3
キー の 配列 に な ら
っ て , 2, 6, 8,。4 の 4 つの キー で 行ない S
少
読み 込み か 聞い て きま
こ |』 ン スス タメ
L9」 や デイ ズン ク だ し 。 デー タ の 入出 力 を 実行 ! と ーー
ノ
[@| デー タ の 修正 を 行ない ます 。 こ の キー を 押す と, 全
箇所 の 座標 を 指定 し 。 正しい デー タ を 入れ 直し て くだ る
と ,。 メイ ン メ ニュ ー に 戻り ます 。 訂 正 を 続行 する と き は 。 ス <
認 呈 これ は メニ ュー に 表示 され て いま せん が , プロ グラ ム 終 了 キ ー で す
709
)
レレ
と .
に
NNN
い
NW
wu
の
AN
化 )
の 多 .
万 月
(写真 5-15 て 18
70 5 意 3 次 元 実用 プロ グラ ム 3 題
圏 ステ レオ 立体 図
3D ビジ ョ ン と か 、 立 体 写 真 な どの 俗称 で 呼ば れ て いま す が 。 原理 は 航空 写真 の 判読 に 用 い
られ る 立体 視 と 同じ で す 。 航空 写真 の 立体 視 は , 60 % ず ー 平 行 移動 し て 撮影 し た 同 区 域 の 写真
を 左右 に 並べ , 左目 で 左 の 写真 を , 右目 で 右 の 写真 を 別々 に 見 分 け 。 比 高 を 判断 し ます 。 こ の
立体 愉 の た め に は 専用 の スコ ー プ を 用 いる か , 肉眼 の 場合 は ある 程度 の 訓練 が 必要 で
特別 な 機器 や 訓練 な し に この 立体 感 を 体験 する た め に 考え られ た の が 、 い わ ゆ る 立体 写真 で ,
普通 は 青 と 赤 の モロ ファ ン で 作ら れ た めがね を か け て 対象 を 見 ます 。 対象 は 、 向き を ずら し た
2 枚 の 絵 を 青 と 赤 の イン キ で 同一 箇所 に 刷り 重ね て あり ます の で 。 こ の めがね を 通す こと に よ
り 左目 と 右目 で 。 別 々 の 絵 を 見 分 ける こと が 可能 に な り ま す 。
な ぜ 立 体 的 に 見 える か で す が 、 これ は 両目 を 通し た 2 つの 像 の ずれ を 脳 が 判断 し 遠近 感 を
えて いる か ら で す 試し に 片目 を 閉 て 。 物 を 取 ろ うと する と 妙 に つか み づ ら く っ て し ま
5 全 を 少し ずら し た 2 枚 の 平面 図形 を 。 強制 的 に 右目 。 左目 に 分 け て 見 さ
せ て = 2 つの 像 を 脳 は 遠近 感 と し て 判断 する た め 。 結果 的 に 立体 感 が 味 わ
3 な 9 ます -。 (5-3
- の プロ グラ と で は ー ラフ と 用 いて 菜 度 の ずれ た を た 2 認 欠 を ディ スプ レイ 上 に 重ね
Se と に 赤 と 青 記 垂 を ろ 孝 分 発生 し ます が , その 場合
777
プロ グラ ムリ スト の 打ち 込み に は , か な ら ず と いっ て 良い ほど 打ち 間違い の ひと つや ふた つ
は ある も の で , 一 発 で 完 動 さ せる の は 至難 の 技 と いえ ます 。 忠 退治 ご と の 動作 確認 に , データ
を 始め か ら 入 れ 直 し て いた の で は ,。 デバ グ 効 率 が 落ち て し まい ます の で 本 プロ グラ ム に は テ
スト デー タ 作 成 ル ー チ ン を 入れ て あり ます 。 RUN 直後 の 初期 メニ ュー で 、 3 を 選ぶ と 自動 的 に
デー タ が 生成 され , メイ ン メ ニュ ー に ジャ ンプ し ます 。 こ こ で [PF1] を 押し た 場合 。 写真 5-20
と 同じ 出力 結果 が 得 ら れれ ば 一 応 OK で す が , 他 の PF キー や テン キー の 動作 も 確認
くだ さい 。
て みて
(写真 5-19 テス ト デ ー タ の 描画 )
(写真 5-20)
る まで は 。 1140 行 の ON ERROR GOTO 文 を 取っ て
お いた ほう が 無難 で
す 。 また, エラ ー 人 街 止 後 の LIST 表示 を 実行 する 前 に は ,「WIDTH 80」, また は ,「W. 80」
を 打ち 込ん で か ら に し て くだ き さ
だ さい 。 CONSOLE 文 に よる 画面 制御 が と れ , 通常 の リス ト 表 示 に
Ni
『 お 。 図 5-5 に は 実際 の 地形 デー タ 例 と し て 。 箱根 近辺 の 標高 デー タ を 載せ て お きま し た 。
ーー ュー
ーー ニーー
15
420
429
420
418
415
427
4 くさ
42
495
さ 99
391
さ 386
3B1
378
372
さ 72
う 72
マ 75
374
(写真 5-22)
16
419
412
497
419
41 の
419
414
411
492
395
さ 38
33
さ 79
さ 375
374
378
382
3B7
37
17
4g5
4 の の
398
491
399
4 の 9
4 さく
4 の 5
3
392
39 の
3B4
3 の
376
38 の 9
37
392
391
385
18
395
39 の
392
391
395
39 さ
393
4 の 2
392
399
399
34
SB の
38 の
3B9
さ 392
39 さ る
399
381
8OT 剛 寺 の 9 Z0E ル ん グ の 423 肌 oe ニー ニー ニー コー ニー ニー ニー ニーーーeーmomー ーーーーーーーーーー ニ ーー ーーー weiee
3D_ GROUND Ver.2)
(リス ト 5-1
padE ! [ Fils Naeme ! PNDZ ]
1 の CLG MIDTHBO の , 2
1 の 1 PRINT '「' 生還 還 還 還 還 軸 還 間 昌 昌 昌 ia
1929 PRINT" コ に
19S3@ FRINT "時 さ ーD ROUND 園 "
1 ウ 4 の 9 PRTINT" 同 周 "
1@52 PRINT" 是 ver. 忌 by G.Ta)1ma 司 "
1 四 69 PRINT" 記 し <
197 ロ PRINT 「 EEE
1 DIMB(1 ヨ ,18) ,Q(18B。18)
1d99 DEF FNL1=X1 一 (X1 一 X4)※(Y1 一 1)/(Y1-Y4)
119 DEF FNL2=X1 一 (X1 一 X)#(Y1 一 1)/(Y1-Y ジ )
111 DEF FNL さ ミニ メダ ー(X マ ーX 人 4 ) #(Y デ ー1 ) /(【YーY4 )
1129 DEF FNL4= ニ X マ ー(X コ ーX う ) ※(Yー エ ) / (イセ ーY う )
11 さ gd DEF FNL ロ = ニ X4ー(X4ーX ユ ) ※(Y4ー1 ) /(Y4ーYS)
114 り の DEFINT X。YiUN ERRUR BUTOU 3 う ⑦ の の
11Sg UNREY(1) G ロ USUE 182 の
116 の HNEEY(2) GUGUB 162 の
1179 UNKEY ( ミ ) GUSUE 252
118g UNEEY( 弓 ) GUSUB 194
1199 UNEKEY(1) GUSUB 296
122g FUR1=1T ロ SEEY( IT) HFFNEXT エ
121 ウ FRINT
2 上 EBEOIh ソ ーー ニニ ーー ニン ーー ニニ ーー ニョ ニョ
123 の の PRINT" [11 ・ ジッ キ サフ セ ゴ ネリ
1249g PRINT" [2] ・ DaTaLUAaD"
1259 PRINT" [ ラ ] EE 紀 コ 二 Ne
の に に CO ュー ニーー ニ ニー ニー ニー ニニ ニニ ここ で レタ タ に ニレ ーー ペド ンー
1279 PRKINT:PRINT" アタ ラ =/2 テー タダ ヲ キー カラ ニュ ウリ ョ フラ ルト キ 双 1"kPKINT
1B9 PRINT" ロート“ ヌル トキ ) 2 ラオ シテ 2 サイ 。 "=sPRKINTsPRKINT: GOUSUE 2
4 こり |
129(9 6$ ニ INEEY 和 を = ITF 5 も も ="1"THEN GUSUE 298 の: GUSUBE 21 の gs GUTU1 さ 3 の
1 3 の gg ITF も = ニ " リ 2"THEN BUSUB 298g: BUSUB 2849:FRINT:PRKTINT "チイ キハ "リュイ
名 リ テー フラ 。 "sgPRINT: GUHSGUB2219: GUTU1 マ ミウ
1 う 1 の IF ご まこ りう "THEN GOSGUB 298 の : GOUTU う の 2 の
1329 GOTOU 1299
する る ^ 攻 基 区 基 基 芝 基 芝 基 基 ニコ キナ 芝 基 基 基 基 基 区 区区 区
1 う 人 4 の 日 T ニ マロ ロラ : アア エニ フェ ゴ アニ (7Z エ す 。 避 ) \ さ = アニ 6 = Fー ニ 2 = ロニ HT /H ビ
1 うら 急 「# 基 基 基 テテ テテ MENU テテ 基 芝 芝 基 芝 芝
136 の MIDTH の 9. 25: CUNSULE の 22 4 の 9.9
| | る た @ 4 714ig] 1
( Fi】E REd2 2 2 リ 5 り / 」
LOCTE の の,22: CDLUE 4
GU05SUEE 298 の
FRTNT"F 1 ] . コウ テイ ヒ = [ 41. ホウ コウ ー ":CHR ま (HEF) : "B" ェ CH
KR (を HEE ) :" [ 弓 ]〕.LDaD/SAVE [PF1 ] . ワ ィ ヤー フレ ー ム "
PR TNT"[ つ ] . シテ ン ノ グ カ サ ニ = 4"s PHR も (HHF の ) : "6
[6]. DaT シュ ウ セ イ [PF2].^" イ ント フレ ー ム "
PRKTNT "上 . ライ バイ イチ = "PHR 和 (HEE ) : "2" ュ ビ 昌
民 多 (を HEF ) :" [PF] . B/R ワ イヤー [PF る ]. 有 "ターフ ヒョウ リュ
CULURK フェ:LDCaATE 14.22:PEINT HIi:LUEATE 14.23:gFRINT Dai iLO
CaTE 14.24:PKINT Z テ 3:LUCGTE 26,2 う : PRINT Fi
うーT NE に EY 生 = 了 F 生ま ー" ら り ロ UERK 多 ="E" THEN FUHR [=1 TO 5:EKEY(1) 0F
Fi: NE メイ 5 G9: END
FUR =1 丁 有 己 :EEY(T)UNz NEXT 1
ビビ 電 らら 三 VTR 0 DR らら 和 を = ニ " リ 2 リー ロ RK 和 = リラ リ DR らら も =" リ 4 オリ UR も = リロ " UR =
"らち" 耳 HEN 146 の 9 EL5E 0
GUSUB 29 ヨ の : し TINE (の, の ) 一 (25。1) 。" "。 Es UN り aL (5S ま も ) GUSUB 148 の
ぅ > 151 の 。 1 る の 。 1 らら の ララ の 2
GOTO 1 ニア の
LUCATE 14.22:PRINT" "agLUCaATE の の :PRINT "カサ ノ ヒ リ リ ウー (の
た ロ 量 ) "= INPUT 日 T : 了 FHI<g の ロ E HT: THEN 1489
H ロ =H エ /HCs LTNE (9, の) 一 (2 つ 5。1) 。" "。。 昌
RKETURN
LUCATE 14。2 そ =PRTNT" ラー "::LUPRTE 9, の 9:PRINT" ラ テン / ダ カ サ (中
TO )= ":TNPUT Da :TF DA< の OR Daz8 THEN 1510
LINE( の 9 の) 一 (25。1) 。" "。 BERETURN
LDCATE 14。24:PRINT" で " ::LHCATE の 。 の 9:PRINT" ス イベ イ イチ (- 昌
TO 8 ヨ )= "= INPUT Z エ =1TF Zi マー DR ZI>B THEN 15 る の
4 の アー ニア エメ マユ: ェ ゴ フ ニ (Z} す .) x そ : し TNE (の ) (25。1) 。" "。。B:RETUEN
9 LUCATE つら 6。 つ さこ :PFRINT" っ "LocerE 9,9: PRTNT "ミル ホウ カ " フ (2.4.
日 、6) = "= TNPUT F :LDCATE 。 の 9:LINE(9。1)-(25,1)。" "。。B
IF F= ニ 2 THEN FOUR エニ = ロロ 18:BEEFP 3 EEEP の :FUR J=g TU 18:A(
1 、J) =E【f 。J) 一 HL NEXT すさ 。T:BHTO 1619 の
IF ビー6 THEN FDR = の TO 18zEBEEP 1:BEEP 9:FOR J= の TO 18:A(
1 ,J) =B (1 コーJ。T) HL:NEXT す 。 エ BUTD 1619
TF ビニ ヨコ THEN FOR 1T=g TO 18:BEEF 1:EBEEP :FUHR さ =g T ロ 18: ム (
1 。J) = 弓 (1 昌 1 。 1 ローJ) HL : NEXT J。TI:BDTD 161
IF F= ニ 4 THEN FR エニ TO 1: BEEP 1:BEEP @:FDR J=9 TO 18: く
【 ,J) =B( け 。1 ロ 一 T) 一 HL : NEXT 了 。T:BDTD 1619
GOT ロ 155
199⑦
191
1 59
1 ワラ 3 加
RETURN
「 革 芝 基 え 天天 ピ AINT MOUDE ポポ
REYK(1 の ) UN
FUR 1=1 TU 5iEKEY(I)UFF:NEXTI
CZ=INT (7 ウーZ*9) : ニコ 4: GUSUB 29 ヨ 四
CLS: ZU=9:D=Da:LTINE (の 。9) 一 (639 。17 ミ ) 。FSET 。 。E
LUCATE 1 2 の 9:PRINT 征 生
FUR X=1 TOU 1 ヨ 8:FUR Y=1 TO 18
X1=YxM+ZU+ じ Z ょ Y1 ニ ー(H※XRR(X 一 1 。Yー1 ) 一 D 一 11+DRX) : X コ ニ X 1 二 >
HxQ(X-1 。Y) -D-1 1 ウ +DAX )
X さ ニ X メ セキ オア ェ =Y さ ニー(H テ RA(X 。Y) 一 D 一 DA 一 1 1+DQR※9) : X 人 オニ メ さ ミー : マオ ニー(HXAQ(X 。
Yー1 ) -D-DaQ-} 1 の +DA テ 9 )
TITFX1 ヾ gUR Y1 く の URY2 く の URY2 く < OURYSSQ_ OURY4 ぶ ミウ URX2 つ 6 この 9 OURX4 く <
gg URX さ > と 639 THEN1 ヨ 1 の
=Y1-Y2 ビニ モビ +2 軌 =: ビニ INT (CX。17 弓 ) : IF C ミ 1 THEN ビ =1
IF じ >6 THEN =6
RCUHLUR=C
GUSUB 2599: CUNNECT(X4。Y4) 一 (X1 。Y1) 一 (X2。Y2) 。RCULUR+1
CUNNECT(X4。Y4) 一 (X2。Y2) 。RCHLUR
に =Y4ーY さ : ビニ ビ +2 ウ =: ビニ INT (CX。17 弓 ) : IF CS1 THEN ビニ 1
IF C>6 THEN =6
BCULUR= ビ
GUSUE_ 269g: CUNNECT (XS 。Y2) 一 (X ス 。Y ミ ) 一 (X4。Y4) 。BCULUR+ 1
NEXT YsD=D+DQ: アリ = ニ ZU+Z:NEXT XsCULUR 7gRKETURKN 1 うろ 7
"天天 MTRE MOUDE 区区 区 共 基 区
EEY(1) UN
FOR 1=1 TO 5:KEY(1) 0FF:NEXT 1
CLG: GUHSGUB 298
C ァ アニ アウ ーZ *9: 四 ニ 24 : 7 ロニ ウロ: D=DA: LINE(g。 の ) 一 (639 。 1 フラ) 。PSE T 。 。EH
LUCATE 1.29:PRINT T$
FUR X=1 THU 18:FUR Y=1 TO 18
X1 ニ Y テ ※M+ZU ロ + ビ Z = Y1 ニ ーH テ 代 (メー1 。Yー1 ) +D+1 1 ウーD 人 9 = メニ メ 1 = マコ ニーH テ 人
(Xー1 。Y) +D+1 1 ウー-DAX9
メ う ニ X+Z :Y マ マニーH テ Rn(X 。Y) +D+DQ+1 1 ウーDQK ワ ェ X 人 オニ メ マ ーM) = Y オ ニーH% 合 (X 。Yー1
2 + せ D+D 人 1 1ーDA ワ
IFX1 マ BUR Y1< の 2 URY2X ウ OURY2 く の URY さ < の UKRY4< く の UKX2>6 う 9 OURX4<
の URX ラ >6 う 9 THEN19 う 3 の
CUNNECT(X1 4Y1) 一 (X2 。Y2) 一 (X そ 。Y ス ) 一 (X4。Y4) 一 (X1 。Y1)
NEXT YzD=D+D: Z リ ニ ZU+Z = NEXT Xs:RETURN 1 マフ ア の
2=ー(
77Z
194 切 「 失 共 上 共 基 共 共演 区 BR 罰 TEE MODE 基 牙 基 基 基 牙 天天 天天
195 の 9 KEY(1 の ) ON
1969 FUR 】=1 TO 弓 :EEY(1I)UFF:NEXT 1
197 の じ L 紀 : BUSUE 298 の
19d の じ Z ニ フウ の ーZ*9: じじ アニ アウ ーJZ 9: ニク 4 : ZU= ニ の: 7ZU= の : D=DQ:LINE (の, の ) (6
9 。17 う ) 。PSET 。 。B
199 の 9 LUCATE 1 ,29:PRINT T 多
2 の の FDR X=1 TO 1 ロ :FDR Y=1 TO 18
2 の 1 の X1 ニ =Y* 軸 アリ キビ Z : 1 ニーH テ 内 (メー1 。Yー1 ) +D+1 1 の DX9: X2=X 1+ 還 = Y フ ニーH テ 人
(メー1 。Y) +D+1 1 の ーD ム テ 9
292 の X マ ニ メ 2+Z : マラ ニーH テ 全 ( メ 。Y) 上 D+Da+119ーDQ*9: X4 ニ X メ ユー: Y4 ニ ーH% 介 (XYー1
) +D+TDA+ 1 1 ウーDQ テ 9
2 る の IFX1< の DUR Y1< の UKRY2Z の DRY2Z ウ の DURY う < の URY4< の DRX2>639 UKX4<
の UKRX う >6 う 9 THEN2 の 9 の の
294 の COUNNECT(X1 。Y1) 一 (X2。Y2) 一 (X そ 。Y ネ )ー(X4。Y4) 一 (X1 。Y1) ,1。UR
2 の 5 の X1 ニ Y 罰 キア アロ + じ CZ = 1 ニー ロ ※ 生 (メー1 。Yー1 ) +D+1 1 の DX ワ 9: X2= ニ X1+MM: Y フ ニーH
% 仙 (メー1 。Y) +D+1 1 の 9ーD 人 an テ 9
296 の X ス ニー メ フォ ゴ Z : Y ラ ニーH% 代 (X 。Y) +D+D 人 1 1 ウーDQ9: X4 ニ X メ マラー: Y4 ニ ーH テ 人 (XYー
1 ) +TD+D+ 1 1 の ーDQ*9
297 の IFX1<UR Y1< の UKRY2< の DURY2< の DURY う < の URY4< の URX2>639 OURX4 く <
の URX ス >6 う 9 THEN209g
2989 COUNNECT(X1 。Y1) 一 (X2。Y2) 一 (X る 。Y さ ) 一 (X4。Y4) 一 (X1。Y1) 。2,DR
2 の 9 の NEXT Y:D=D+D Z リ = ニ ZU+Z = 7Z リ =ZZU+JZ = NEXT XRKETURN 1 る 7 の
2 つ 1 の 切 ' 贅 区 天美 天天 天天 天天 INPUT DRT 人 QR 贅 天 贅 区 区 基 革 区 区
21 1 の CUNSDLE 22。 る 。 の 。 の
212g GUSUE 2 ミ 1 の 9: CDULUR 4:LITNE( ロ 。22) 一 (79。2 る ) 。" "
,BF
FR 1 ユ = の TO 1 日 :FDR = の TO 18:LOCATE Jx4+6, エ +1:EOLDR 6PRT
NT "2":CULOR 4
2149 LUCATE @。22: CHLUR アフ PRINT"E" ョ ミエ ュ ゴ ョ "コモ リュ LUCATE 19,22: TNP
UT BK(1I 。J) : GUHSUB 298 の
215 の 1F E(1 。J) > ニ 1 の @ DR (1 。J)<=ー1 の の THENPRTNT" テ *ー ヲ ノ ケタ カ " オ
オキ スキ ~ マス 。 " s BEEP = GUTO 2 っ 14 の
216g IF 互 (1 。J)= ニ 999 THENLUCATEJx4+6 。 エ +1:PKTNT"ー" BUSUE 2389: GO
TU21 4 の
<1 7 の IF B(TI 。J) ニー999 THEN E(T1 JJ) = の : GUTOU 221 の
2189 CULUR 4:LUCATE Jx4+ マ 。 エ +1:PKTNTU TNG " 若 提 "3B(T 。J)
2199 LINE( の 。22) 一 (2 。2 さ ) 。" "。。B
229 の NEXT J。1
フク ウ 1 の 55099 サイ ワ ~ イ サイ ショ ウチ 共 共 基 基 基 基 天天 基 共
ーーーーーーー ーー ーーーー ーー ニー ニー ーー
778 5 章 3 次 元 実用 プロ グラ ム 3 題
し 】
で で 2
ご デ さ 回
マ 4 ウ
225g
“6 の
ご 7
<2Bg
2299
3
< さ 1
つ そ つ
ーー アデ
つべ スマ
デー つの
2 さ 4
マ さ 5
2 さら 6 の
237g
< さ 8Bg
39
<499
護 File Nage ! SD5M02
LOCaTE の,22:PRINT"yY ラ 2 オッ チワ グ * サイ 。 0
HH=E (の 。 の ) : HL= ニ HH: FUR エ = の TU1 ヨ H: BEEP 1:BEEP の :FURKJ= の TO18zIF 日
HB(I 。J) THEN HH=B(T 。J)
IF HL>BEK(1I。J.) THEN HL=B( 1 。J)
NEXT J。I:FUR = TU 1 ヨ :FUR J= ウ の TOU 1 日 : BEEF 1:BEEF の
(1 。J) =B( 1 。J) 一 HL : NEXTJ 。.I : HS=HHーHL : HIC=INT (HS/2 の ) : 1F H じ = の
THEN HC=1
RETURN
7 共 天 天天 区 DOT コウ セイ ※※ ポ 天天
EEY(19) UN
COUNSULE 22 4。 さ 4 の 。 の 9: GUSUE さ 19: GUHSUB 2 さ 5 ウ : GUSUE 2 さ ヨ の : GUSUBE
221:CL5s RETURN
* 贅 天 天 天天 DQTR SCRLE 天天 天天 区区
CLS:CULUR 7
FUHR 1= TU 18:LUCQTE Tx4+ さ 。 @:PRINTUSING"' 音韻 韻 拓 "=sT ュ =LOUCATE
9 。 エ +1:PRINTUGING" 揚 韻 拓 "s TsNEXT 1i
RETURN
" 共 天 天天 基 天 天 基 天天 DRTOA し TOT ※ 半 天天 天天 天天
CULUR 4:FUR IT=g TU 18:FUR ココ = の TO018d:LUCATE J※4+ う 3。 エ + キ 1:P ビ RINT
USTNG" 韻 半井 "』E(T 。J)
NEXT J。Is:RETURN
" 革 ま 区 基 基 区 天光 コウ セイ 天天 区
CULOUR 6
GUSUE _ 2789:LINE(。22) 一 (79。24) "9 リ 。。BEFELUOCATE の 22sPRKTNT"
[L DaTA ジュ ウ セ イー ]"
LUCATE 2 。2S:PRTNT "ヨコ サ ~ー ヒ ョ ウニ "リュ sgLOUEATE うう 。22 = TNPUT YU: GO0S
UE 298g: IF YU< ウ UR YU>1 ヨ THEN BEEP: GUTU 24 の の
LUCATE 25,2 さ :FRTINT "タテ サー ヒョウ = リュ ELUCRTE うう 。 ぞ うき : INPUT T 合 : G0S
UE 298g: IF TA< HUR Ta>1 THEN BEEP:GUTOU 242 の
LUCATE YOX4+4。T+1:CEHLUR 2EPRINT" 27gCOULOR ら 6
LUCaTE 45。2 さ : FRTNT "data=" ェ ェ TNPUT E(T 人 YU) : IF B(TA。YO) > ニ 1
の 29 THEN BEEP:GUTU 244@
CULUR 22: GUSUB 251 ウ =PRINTUGTING" 提 韻 韻 井 " 3E(Ta。YO) s :COULOR 6
LUCATE45 4:FRINT "da モ a ニー ジュ ウ セ イラ の ケル SPACE EEY] オ
ワル ニ [RETURN EEY1"
ごま ーINEKEY 和 ま : TF・G も ニ " "THEN CHLUR 4:BUSUB 251 ウ g:PKINTUSING" 拉
若井 持 " 3B(TR。YD) 3 : BUTD 2 る 9
TF ご $= じ HK も (1 ミミ ) THEN COLUK 4: BUSUE 2 紀 19=:FRINTUSTING" 韻 韻 韻 井 " ョ 日
(Ta。 YU) 』 BHTU 252 の
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ーー ーーーーーーーーーーーーーー ーー ーーーーーーー |!/,9
50T0U 247 の
LINE (の 22) 一 7( プ 9 24) "9 リ 。。BF gi RETURN
LUCPATE YY ロメ 4 イエナ 1 : EETURH
/ 昨 学 共 了 共 光 基 基子 7 グー-/ 其 芝 区 基隆 区 基 基 芝 基
FDK 了 =1 有り 巳 : ビ EYE)UFF NEXT EEYK19 の ) UN
CL5 : 5D5JB 2789:LINE (12 そ 7)ー(56 の .169) ,PSET 。 ,B
FUR 」= の TU 18g:FODE = の TD 18
じ =INT( 全 ( エ 。J) /HC/2.8) : TF ビジ 7 THEN ビニ ア
LUCATE J テ ラナ 1 用 。 エ ナオ 1 :CULUDEK じ :PRKINT " 証 還 還 ":
NEXTJ。TgRETURN 1 つう 7 の
^ 攻 基 基 攻 基 し TNM ビ ピロ エト HHT 攻 散 攻 攻 竹芝 芝
IF Y ア 4 マニ Y1 一 ((Y マ クー ヤ 1 ) え ( メ 1 一 アオ 4) ) / (メス ーX 1 ) THET: 267 の
ITF Y4= ニ Y1 THERN _ FUK エニ マフ T ロ Y1:EONNECT (FNL ラ 。 エ )ー(FNL2 。 エ ) 。 人 CO
LUOR : NEXT GU0TD つ 267 の
IF Y1=Y ク THEFHI FUOE 了 = ニ Y1 了 ロ Y4:COUNNIECT (FNL 1 41) 一 (FNL ラ ,T) 。 人 CO
LUOR: NEXT GUT0 ジ る 7 の
1TF Y4= ニ Y ダ THEN FURI=Y1 D Y4:gCONNECT(FNL1 4 エ 1) 一 (FNL24T) 。EO
LDR: HEXT:5UTU2 ら 7 の
IF Y ダ ラテ Y4 THEN FOUR エニ Y1 耳 り Y4:gCONNECT (FNL1。1) 一 (FNL2。T) CO
LDR: REXT:FUR エ = ニ Y4 TOD Y2:CHRNEET (FNL ラ 。 了 )ー(FNLS 。 エ ) 。 CULURN
EXT: GUTO 6 ら 7@
ITF YEY1 人 ND Y2<Y4 THEN FDR エ =Y1 TU Y2g CUNNECT (FNL1 , エ ) 一 (
FNLS」T) 。QEULUR:NEXT:FOE エニ Y2 T ロ Y4: EDNNECT (FNL1 . エ ) 一 (FNLS。
1 人 6COULOURK:NEXT: BOTOU 67@
ITF Y1 >Y THEN FURE エ = ニ Y2 イロ Y1:CUNNEET (FNL2。 エ ) 一 (FNL ラ 。 エ E) 。a ビ OU
LOR:NEXT:FCR エニ Y1 TO Y4: CHBNNECT (FNL 1 。 エ 1) 一 (FNL。 エ ) , 人 REULUR:N
EXT: GUTD 267@
RETUEN
" 基 ま 区 ※ 天 芝 LTNE PAINT BCULLOUR 区 区 共 基
ITF Y マ テニ Y オ 4 オー((Y ラ ーY4) ※(X4ーX つ ) ) / (メラ ーX4) THENGBUTUD276 の
IF Y4= ニ ママ THEN FURI= ニ YS TU Y4:CONNECT (FNL。 エ )ー(FNL4 。 エ ) 。BCO
LUR: NEXT: GUTUS769
IF Y4= ニ Y2 THEN FORI=Y4 TTY ミユ CEHNNECT (FNL 1) 一 (FNL4 。1) 。BCO
LUR: NEXT: GUTU2 ア 76 の
IF Y デ = ニ Y ユ THEN FURI=Y2 TH Y4:CUNNE じ PT (FNL ミ 。 エ ) 一 (FNL ご 1) 。BCG
LUR: NEXT: GUT ロ タン ア 69
IF YY4 THEN FORK エ =Y2 TOD YY: CONNECT (FNL ミ 。 エ 1) 一 (FNL4。 エ ) 。BCO
LUR : NEXT: FOUR エニ Y マ TU Y4: CEHNNECT (FNL ラ 。 エ )ー(FNL EE) 。BCDLUDR: N
EXT: GUTOU 276@
}20 5 章 _ 3 次 元 実用 プロ グラ ム 3 題 ニ ーーーーーーーーーーーーーーーーーーーー 一
IEtE 半 / し File Nane ! 05ND2 ]
74 の IF Y4EY2 RND Y4SY う 3 THEN FUR IT= ニ YS TO Y4:CONNECT (FNL ミ 。 エ ) 一 (
FNL4。1) 。BECHLUR:NEXTsFUR エ =Y4 TO YS3:CUNNECT (FNL。T) 一 (FNL4 。
1) 。BCULUR:NEXT:GUTOU 76@
375@ 1F Y4EYSE THEN FOUR I=Y4 TU Y2:CUNNECT(FNLG。 エ ) 一 (FNL ミ 。 1 ) 。BC
ULUR:NEXT:FUR 1= ニ YS TU Y3:CUNNECET (FNL。 エ )ー(FNL4 。 1) 。BCOULOR:
NEXT: GUTU 276 ゆ g
</6@ RETURN
コ プ ア 他 ) ※ 共 天 ※※ ル LOUQD GAVE ※ 天 天天 天天
278 四 EEY(1 の ) UN
2S79g CLS
Sd99 FRINT" ( DaTQA 7 お が ーー ) 三 [11 の ニー コン / 証 の ビュ コリ 語り 三
2
2 日 1 G ま =INKEY 和 も : ITF G ま ="1"THEN GOUSUE 2B99: RETURN
2 ロコ 2 の IF ="2 リ THEN GUSUB SB4 ウ :FRINT: GUHSUE _ 21 の 2:RETURN 1 スミ の
2d3 ウ GOUTO 2 ヨ 1 の
2 ヨ 4 四 天天 基 区 DRTR LORD ※※ 革 贅 天 基 天天
2 コ 59 INPUT "ヨミ コム FILE NAME " ュ T 和 ま : 有 UPEN" エリ 。 韻 1 。 征 和 も
2d6@ INPUT#1 。「 生 sFUR 1 エ =9 TU 18:FUR J= の TO 18
2 日 7 TINPUT#1 BE(T 。J) : HB(T 。J) =B(T JJ) +1 の 9
<dag NEXT J。1s CLUSE#1 : RETURN
つ ロ 9 他 区 区 区 区 天 区 DATA GAVE ※ 交 基 区 区 区 天天 区
299gg PRINT: INPUT "ポパー スル FILE NaHE ":T 多 STF LEN(T 和 も ) BB THEN BEE
Ps GUHTU 29 の の
291@ UPEN"O 」1 。T 和 ま
マ 92 PRINT#1 。 和 も:FUR エ = ウ の TU 18:FURK コ J=@ TO 1
293G PRINT# せ 1 。B(I 。J)
294 NEXT J。I: CLUSE# 1 : RETURN
つ ワ 5 引 「 革 区 区 区 区 共 区 基 区 芝 基 基 基 天天 区 天天 天天 基 基 基 区 天天 基 基 基 区
<969 RETURN 1 ミア
マ ワ アプ 人 区区 基 芝 区 取 基 区 ロビ ヒビ ※※ 共 共 基 区区 疫 芝
7B BEEF 1:FUR BE= の TU ミミ 9:NEXT BE: EEEP の :RETURN
マ ワ ワウ 区区 基 基 革 基 天天 子 ERROUR 天天 区 区 革 区
さ d@g BEEP:PRINT" エ ラー No" saERRK ェ " 力 " リウ g セ イー シフ シダ 。 メニ ュー 二 モト "リッ マタ 。 "
う g19 FURK Ti エ = の TU の の g の :NEXT: RESUME 1 る 5 弓 の
ささ の つの 「 半 基 区 天天 区 牙 基 基 ヒコ] 区 区 共 天天 区 基 区 基
う ウ 3 PRTINT "DATA サフ セイ チュ ウリ "=PRKINT
う 婦 4g FUR = の TO 18:B(1. ウ )=RND テ 19:E(T。1H)= ニ KND*1 の
うら 5 FOUR コ = TU 18:E( の 4J)=RND テ 1 の :EH(1 ヨ コロ 。J)=RND テ 1
NEXT J,。I:BUSUE 2219: GUTOU 1 ミミ @g
727
3 次 元 モデ ル 形 状 作 成 プ ログ ラム (3D WORLD Ver.2)
・ の ブロ グラ ム は 。 第 4 意 の 3 次 元 ブ ロク を 実用 向き に 発展 させ た も の で , 3 面 図 の デ
ー ク を も と に さま ざま な 角度 か ら の 立体 図 を 作成 し ます 。
独 筐 の パー ス や 。 杉 械 の テク ニカ ルイ ラス ト 等 は , 人 間 の 手 に よっ て 描き 起こ す の が 普通 で
す が 。 これ は 多く の 時 間 と 大 変 な 部 練 を 必要 と し ます 。
陣 生 の Pe に
ー ク の 入力 ち , 省力 化 モ ー ド を 設定 し , 能率 的 な 作業 が で きる よう に 工夫 し て み ま し た 。
実用 た し て , また 趣味 と し て も 充分 楽し め ま す の で , 気軽 に 2
は ,。 大 きく 分 ける と 以下 の 3 つの モー ド に より な り た っ て いま す 。
(2) 3 面 図表 示 と デ 図
(3) 立体 図 描画 (アク ショ ン モ ー ド )
各 モ ー ド の 機能 は 図 5-6 の 通り で す 。 図 中 で , RET は ウリ ター ン キ ー, BS は [と 」 バ ックス
ペー スキ ー を 表わし ます 。 入 力 は 大 文字 し か 受け ませ ん の で , CAPS ロッ ク を か け て お いて く
旬 メイ ン メ ニュ ー
「3DWLD 2」 を ロー ド し ます
RUN 直後 の 画面 表示 は メ
ー タ の 入出 力 , 印字 を 選択 し ます 。
価 3 う D アク ショ ン
ィ ン メ ニュ ー か ら 始 まり ます 。 ここ で は , 各 モ ー ド へ の 移行 や , テ
722 5 意 3 次 元 実 月 プ ログ ラム 3 題
三面 図 モ ー ド
3D ACTION……AC( ア クシ ョ ン モ ー ド へ ) *※ ( 点 を 打つ )
SAVE 3D DATA…SA (デー タ の 保存 ) / ( 線 を 引く )
WORK 1……W 1 (三面 図 モー ド へ ) MI ( 再 入 力 )
WORK2……W2 ( / ) R ( 三 図 を 描き 直す )
LOAD 1 L 1 (デー タ の 読み 込み ) W (壁面 省力 入力 )
LOAD2……L2 ( / ) | CIRCLE…… C (多角 形 岩 力 入力 )
LLIST 3D DATA…LD (デー タ の 印字 ) MAIN NMNIENU…BS( メ イン メニ ュー に 記 ろ )
(BEEP の ON/OEF)
アク ショ ン モ ー ド
ACTION……RET
MIAIN MENU…BS
HARD COPY…H
)
)
)
)
少な く /)
人 @ SAVE 3D DATA
図形 の デー タ を ディ スク に 記録 し ます 。 フ ァイル 名 を 入力 し , ディ スク を ON に し て か ら リ
ク ッ ン シィ テ ュ テ 、 ノ ーー レ ま こい を と 旧 目 ど ーー
クー ン キ ー を た た く と 転送 を 開始 し ます 。
@ る WORK 1
行 し ます 。 WORK 1 は 新規 に デー タ の 作成 を 行なう の に 対し 。 WORK 2 は
\ ン
72
[11
人 で LOAD 1
デー クタ を ディ スク か ら 読 み 込み ます 。 保存 し た と き の フ ァイル 名 を 入力 し , リタ ー ン キー を
た た く と 転送 を 開始 し 。 転送 中 は デー ク の ステ ッ プ 数 も リア ル タ イ ム で 表示 され ます 。 (前
の デー タ は 消え ます )
価 LOAD 2
デー ク を ディ スク か ら 読 み 込 み ま す が , WORK 2 と 同様 に , 前 の デー タ に 連結 し て 読み 込み
ます 。 (区 5-7)
WORK 1
LOAD 1
以前 の デー ク を 消し て 最初 か ら 入力
0RK 2
LOAD 2
以前 の デー クタ を 生か し , つなげ て 入力
@LLIST 3D DATA
プリ ンタ に XX。Y。Z 座標 の 順 で デー タ を 印字 1
3 面 凶 モー ド
メイ ン メ ニュ ー で WORK 1 か WORK 2 を 選ぶ と この モー ド に 入り , 3 面 図 を 描画 し , 入力
1 ( 図 5-9)。 座標 と 3 面 図 の 位置 関係 は 図 8 の よう に な っ て いま す が , 第 4 章 で 述
べた Y と ZZ の 位置 と は 反対 に な っ て いま す の で 注意 し て くだ さい 。 こ の プロ グラ ム で は ,。 え
デー タ の 入力 は , 簡単 な 立方 体 の よう な も の で し た ら デ ィ ス プレ イ を 見 な が ら で も 可能 で す
カ :。 あら ヵ レ め 3 図 を 用 意 し , ブイ スプ レ イ の 3 面 図 と 比較 ・ 確認 し な ヵ ぷら 作業 を 進め た ほ
724 5 竜 3 次 元 実用 プロ グラ ム 3 題 一 一 一 一 一 一 一 ーーーーーーーーーーーーーーーーーーーーーーー 一
正面 図 側面 図
(平面 図
+Y 方 向
(側面 国 )
X,Y,Z の 最大 値 は
それ ぞ れ 土 110 ま で て で.
この 寺 団 で て デー タ の
入力 を し て くだ さい ,
画面 中 央 (中 心 ) は 0
( 図 5-8 3 面 図 の 位置 関係
@ PENSET … *
BEEP の 軽い 断続 音 と と も に ぐ 印 が それ ぞ れ の 入力 モー ド を 移動 し 始め る と,「 入 力 し て
だ さい 」 と いう 合図 で す 。
[ 天 キ ー を 押す と , ぐ 印 は PENSET の 位置 で 停止 し , 点 の 座標 入力 で す 。X, Y, Z の 順 で
座標 値 を 聞い て きま す の で , 順に 入力 し ます 。 入力 ご と に 「 ピ ッ 」 と 入力 確認 の 音 が で ます が ,
入力 値 が 土 110 を 超え る と 「 ビ ピー」| と いう BEEP に な り 再 入力 と な り ま す 。
と コ [ プ セレ > 一 に ユイ 、 攻 ュ >
は 線 を 引か せる キー で す 。 ひ と つ 前 に 入力 し た 座標
ナ る 新座 標 値 ま |
で 線 を 引き ます 。 こ の キー の 入力 を 繰り 返す と 。 次 す 。 ゅ ら っ た ん 線
を 切っ て , 新た な 位置 か ら 描か せる と き は ,。 PENSET の
PENSET は ペン を 上 げ 。 指定 され た 位置 で ペン を 下げ , 点 を 打つ こと を 意味 し 。 DRAW !
PENSET RAW を 使っ た 例 と し て , 図 5-9 の 三角 柱 の デー タ を 図 5-10 に 入れ て あり ま
マ 入力 の 確認 また は 練習
725
5f2/7 1
QQQQQGQQQX デ
QRQQQQQQQ~
間違え て 入力 し て し まっ た と き は , 国 キ ー を 押す と カウ ント が ひと つ 戻 る と と も に , 3 画図
こせ ー ーー 了 フラ て は ーー ァ 3 7/ ャ ノ . 民
に 打 四 と に ラル (こと ある ゝ は 線 が 消 あ すさ この キー を 押し 続け る と , さら に カウ ン [
が 戻り ます の で 。 任意 の と ころ か ら の 再 入力 が 可能 で す 。
MA ウ 0 肖 連 WW9tX5G 実 用 ロ ジウ 3( 順 (ーー デー デーーーーーーー む ト ッ ュ ョ ュ ーー
価 MIMAIN MIENU …… BS
BS は | と |] パッ クス ペー スキ ー で す 。 この キー を 押す と メイ ン メ ニュ ー に 戻り ます 。 入力 し た
デー タ の 保存 や 印字 また は , 立体 図 描画 の アク ショ ン モ ー ド へ の 移行 は に | キー 経 貼 で 行ない ま
記
呈 省力 的 入力 法 WALL & CIRCLE
実際 に や っ て みる と すぐ わか り ま す が , PENSET や DRAW の 点 や 線 だ け で 。X。 Y。 の
3 座標 値 を 入力 し 続け る こと は , 大 変 骨 の 折れ る 作業 に な り ま す 。 も っ と 大 型 の シス テム で も 。,
この 点 は 課題 らし く 今 だ に 決め 手 と な る 入力 法 は 確立 され て いな いよ う で す 。
本 プロ グラ ム で は 2 つの 簡易 入力 法 を 取り 入れ まし た 。 あ ら め ゆる 場合 を 想定 する と , こ の 2 つ
の 入力 法 だ け で は 対応 し 切れ な く な り ま す が 。 その と き は PENSET と DRAW の 入力 で 補っ
@⑯ WALL …… W
連続 し た 壁面 の 入力 が 容易 に で きま す 。 間 取 図 な どの 立体 図 を 入力 する とき は 特に 威力 を 発
揮 し ます 。
キー を 押す と , 入力 し た い 壁 の 断面 の 形 が 3 面 図 の うち どれ に 対応 (投影 ) する か 聞い て
きま す 。 平面 図 を 指定 し た 場合 に は , 壁 の 高き (Z 1, Z2) は どこ か ら ど こま で か を 求め て きま
と れ ぞ れ の 値 を 入力 し て くだ さい (正面 図 を 指定 し た と き は 瑞 行 を , 側面 図 の と き は
。 以後 、 平面 図 入力 を 前 提 に 説明 を 続け ます )。
次 に , 壁 の 出発 点 の X, Y 座標 を 聞い て きま
で
名
Na
に
ーー
1
がい
り し
す 。
を 求め て きま す の で , 前 記 の DRAW と 同様 , 線 を つなげ る 要領 で 入力 を 続け ます 。 デ ィ ス プ
4: 平 面 還 入 力
B : 正 面 囚 入 力
B C : 倒 面 劉 入 力
( 図 511 WALL の 3 面 図 対応 列 )
レイ の 平面 鐘 に は , 入力 する た びに 避 の 断面
が 描画 きれ, 入力 値 の 確認 が 行なえ ます 。 間
違え て し まっ た 場合 は , X 座標 入力 時 に キ
ー を 押し て くだ さい 。 間 條 えみ た 線 が 消去 る れ
再 入力 に な り ま す 。
入力 すべ き 胡 が 終わ っ た ら , END を 意味
する [E] キ ー を XX 座標 入力 時 に 押し ます 。 す る
と 座標 計算 が 始ま り , 完成 され た 3 面 還 が 描
画 さ れ ま す 。 描画 が 終わ る と OK か どう か の
確認 が 入り ます の で , 図 か 国 で 答え て くだ さ
い
ロ
いら 。 NN を 押す と , 描画 され た 壁 の 三面 図 は 消
な お , 高 さ (ZZ1,Z2) を 求め て きた と き に
同じ 数 値 を 入力 する と , 壁 の 幅 が 無く な り ま
す の で , 高 さ が 一 定 の 連続 し た 線 の 入力 に な
り ま す 。
72Z
VIEW ?
壁 の 断面 形 が , 三面 罰 の うち
どの 面 に 対応 する か を 入力
HEGHT/T0Z1 ?7
HEGHT/FORZ2 ?
違 の 高 さ は どこ か ら (Z 1)
と こま で ( Z 2) か を 入力
WIDTH X ?
DEPTHY ?
水平 座 電 , 自 行 座標
を 入力
入力 は 終り か ?
座 垢 計算
描 再 (三面 囚 完 成 )
RETURN
※ こ の フロ ー は 平面 図 を 指定 し た 入力 の 場合
色 の 面 を 指定 し た 時 は , XY, Z の 入力 類 序 が
変わ り ま す .
痢 MM キー は 入力 2 回 目 か ら 有 効 .
( 図 5-12 WALL モー ド の 入力 手順)
28 5 草 3 次 元 実 肌 プ ログ ラム 3 串 一 一 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 一
(写真 5-23 WALL の 入力 例 ) (写真 5-24 WALL の 立体 図 描画 例 )
これ は ,。 円 ある いけ は 円柱 の 省力 化 モ ー ド で す 。CIRCLE (円 ) と し て あり ます が 。 正確 に は 多
角形 入力 と 解 生 し て くだ さい 。
[CH キ ー を 押す と , WALL の と き と 同 様 。 円 の 形 が 3 面 図 の うち どの 面 に 投影 する の か 聞い て
終了 位置 を 決め ます 。 普通 の 閉
ヽ 朋 昌
きま す 。 1…3 の うち ひと つ を 指定 する と , 次 は 円 の 職
じ た 円 の 場合 は 0' と 360' を 入力 し ます 。 入力 する 角度 を 変え 0 る こと に より , 任意 の 円 弧 が 設
定 で きま す 。 た と えば , 左 半分 の 円 弧 の 場合 は 90′ と 270', 右 半 分 の 円 は 270" と 450' と いう
ョ ュー 一: ー ー テリ ー ン コ ーー gr + ヒ ディ ーー 三 ゴメ 人
具合 で す 。 こ の よう に 。 好 き な 角 度 を 持つ 円 弧 を 指定 で きま っ ] 開始 角度 が 終了 角度 より 大
に 2 ーー ーー ME っ に ー 7 ルー テヒ ピーン ミ ヽ コ ュー-
ご な る 入 力 値 は 受け つけ ませ ん 。 この 指定 を 行 な の 5 中 に 指定 ミ れ た 円 弧 が 表示 さ
れ ま す
次 は
: 平 面 囚 入 力
: 正 面 久 入 力
: 側 面 罰 入力
の Q の ち
( 図 5-13 CIRCLE の 3 図 対応 例 )
729
DIVIDED ?
と , 円 を 何 度 ずつ に 分 ける の か を 聞い て きま す 。 これ に より , 多角 形 の 角 数 を 決め ます 。 前 記
で 0 一 360'" の 閉じ た 円 を 指定 し た と き に , ここ で 45′ を 入力 する と 正 8 角形 。 15 に する と 正
24 角形 に な り ま す 。 小 さい 角度 を 指定 する ほど , 角 数 の 多い 多角 形 に な り ま す が , その 分 大 量
に スモ リ を 消費 し ます 。 画面 上 で は , ドッ ト の 分 解 能 の 関係 ちあ っ て 16 角形 ぐら いて 円 に 見 え
て きま す の で , ノ モ リ 効率 を 考え て 適度 の 角度 を 指定 し て くだ さい 。 メ モリ の 消費 ステ ッ プ は
多角 柱 に し た 場合 。( 角 数 +1) 4 と な り ま す 。 こ の 入力 時 に 団 キ ー を 押す と , 円 の 開始 角度 の
指定 か ら や り 直 すこ と が で きま す 。
以上 の 設定 が 終わ る と 次 は , 円 柱 の 高 ほ , 中 心 座標 , 半径 の 入力 で す 。
TO Z12 FOR Z22
と 円 柱 の 高 さ を 求め て きま す の で ,。 それ ぞ れ 入力 し ます 。 円 柱 で は な く , た だ の 円 に し た いと
き は 。 選 1, 2 と も 同じ 数 値 を 入れ て くだ さい 。
挫 に ,
WIDTH/CNT.X ? DEPTH/CNT.Y ?
の 表示 と な り , 円 の 中 心 座標 を 聞い て きま す の で , それ ぞ れ 入力 し ます 。
最後 は 半径 を 入力 し ます 。 3 面 図 の 範囲 を 超え る 大 き な 半 径 を 入れ る と 再 入力 で す 。
この 入力 を 終え る と, あと は 自動 的 に 円 の 座標 が 計算 され , 3 面 較 に 円 が 拉 画 きれ ます 。
WALL, CIRCLE と も に , 平面 図 入力 を 例 に あげ 説明 し まし た が , 正面 図 , 側面 図 の 場合 も
株 行 な っ で くだ きら: た PCSY。 2
文章 に する と 。 と て も めん どう な 感じ に 受け 取ら れ て し まい そう で す が , 実際 に や っ て みる
と すぐ に 慣れ る と 思い ます 。 複雑 な 曲面 を 持つ モデ ル 以 外 で し た ら , この 2 つの モー ド で た い
て い の も の は こなせ ます の で 。 積極 的 に 活用 し て くだ さい 。
730 5 意 3 次 元 実用 プロ グラ ム 3 題
正
面
VIEW ? AN
多角 形 の 形 が 三面 図 の う ち 問
どれ に 対応 する か を 入力 面
|
90"
ANGLE/TO ?
ANGLE FOR ? 180 O"
円 の 開始 角度 と 終了 角度 を
入力 -
270
この 場合 0' 一 270'
を 指定 し た と き の 倒
DIVIDEDCIRCLE ?7
何 度 き ざさ み の 多 角形 に する
か を 入力 DIVIDED =45"
角度 の か わり に N を 入力
する と 再 入力 に な り ま す .
HEGHT TO Z 1 7
HEGHT FOR Z27
( 高 さ は どこ か ら ど こま て で か
を 入力 )
WIDTH CNT.X ?
DEPTH CNT.Y ?
(中 心 の X, Y 庶 哲 を 入力 )
RADIUS ……… 7
(
高 さ の 違い は
ある か ?7
Z1 ぐ >Z2
( 図 5-14 CIRCLE モー ド の 入力 手順
&K 2 邊
テー
写真 5-25 CIRCLE の 入力 タ
(写真 5-26 CIRCLE の 立体 図 】
Rn
737
較 アク ショ ン モ ー ド
人力 ほれ た 3 次 元 デ ー ク を 加工 し , きま ざま な 角度 や 大 き さ の 立体 図 を 描か せる の が この モ
1RKG2
メイ ンズ メス ニュー で 「AC 2 の] と 信 力 する と , 図 5-15 の 画面 に 変わ り ま す 。 右 上 の 十字 線 の 入
っ た ワク は , 現在 の 視線 の 位置 と 立体 了 図 の 大 ほ きる を 表わし ます 。
19J HOCTcUH
101007I74
剛 町 馬 攻 89
j
! ! の 2
9 007 日 :
その 下 の 2 行 は , SPIN (左右 の 回 転 角 ), TILT (上 下 の 回 転 角 ) の 表示 で す 。SPIN の 初期
値 は 90 で , この 値 は 真正 面 か ら 見 る 形 に な り ま す 。0' て 右側 , 180' で 左側 , 270' て 裏側 か ら
見 る こと に な り ま す 。TILT は 0' で て 水平, 90' で 真 上 か ら と な り ま す 。
角度 や 大 き さ を 変化 さき せる た め に は , テン キー, カー ソル キー, ファ ンク ショ ン キ ー の 計 16
ー を 使用 し ます 。 こ れ ら の キー は 。 押し た 回 数 分 だ け 角 度 や 大 きる の 比率 が 加算 まほ た は 減算
され る ろ 仕 組み に な っ て いま す 。
732 5 章 3 次 元 実用 プロ グラ ム 3
[Al[6] SPIN (左右 の 回 転 ) の 角度 を 与え ます 。1 回 押す ご と に 22.5 度 ずつ 変化 し ます が ,
| PF 10 |, [PF5 | で こ と の 単 1 TA を 調 事 交 で きま まあ
DTPHOT Ui 『SJ RGTiOHH
1
4S(AE 8 PO5IIOH 6
。SPIlls 22.5
/ TJLTs 22.5
人 AE.017s 22.5*
6 SCGLE 01fs 29. 区
: 人 TION REI 人 IIOHees ET
問 介 衣 M83 LUDO9 た 】
関 LU AD | HADCOPeeH
( 図 5-16,.17 SPIN の よう っ 3
図 [8] TILT (上 下 の 回 転 ) の 角度 を 与え ます 。 [PF10」, [PF5] で , 一 度 に 変え る 角度 を 調
整 で きま す 。
DRCT 0
0544E SFSIIOI 1
SPlill= 67.5
ITILT= 67.5
人 AE 01 22.
AE 0 29.07
胡 IIMeeees RE
衣 加 困 誠 eS
受 0.(frr
( 図 5-18 こ 19 TILT の よう す )
733
[上 立体 図 の 大 きる が 調整 で きま す 。 1 を 押す と 小さ く な り , 7 は 大 きく な り ま す 。 一 度 に
変え られ る 大 きる の 比率 は [PF9], [PF4] で 調整 可能 で す 。
9 の し 23 休 由
96E2 PIT 6 455E2 首 全
・ 9PI 有 ls 675 5PIls 975
! ILf= の 5 TILTz 225
(リコ ゴン た 』 前 EE 2
| SE だ 2 の 色 UTM の
公 T 大 rec 必 f IIOOOUM|
随 町 大 導 B9 DO
受 7 0097 H
( 図 ぉ -20,21 天 ほ きる の 変化 )
と 視角 が 狭く な り , 9 で 広く な り ま す 。 前 記 の [1 [ 思 と 組
ます が , 視覚 を 広げ 過
yt
い
No)
yu
仙
志
(Y
rl
ご
も SE を FIT
SPIli=6
!
TILT= 25
giE TE 2
SME 6T'=2. 角
-E 和 Eee 下
記 GUOO た )
本 飼 ・ H
久 HW に me ET
回 下 … BS5
WOP・ H
( 図 5-22.23
734 5 章 3 次 元 実用 プ ログ ラム 3 題
ーー 視線 の り . 7 四 を 変え ます 。 立体 図 を 大 きく する と 3 図 の 周辺 は 画面 内 に お さま
た 部 分 を 中 央 に 持っ て くる こと が で きま す 。
4 SRLE は FO5IIWI 6
Pills 7.5
ILT= 88.5
LE 01 22.5!
SWE OTs 29.067
IIUOCLUOUI 44 6
癌 川 癌 上 E5
0 COU」
?
$
・ 1
LE TE 22.9
SrE 0fE 29.K
IM RI
NRWUe 8 5
HMD (0 H
( 図 5-24.25 視 球 の 移動
回 前 記 の 各 き イトー (2 R 描画 さ (ーー せ る 角度 度 で ンク 大 き ニ を 設定 と 終 シダ 7 ら ) リ タ こっ 。 ク キ デー で 描画 開始
回 メイ ン メ ニュ ー に 戻り ます 。
団 ハー ドコ ピー を 取り ます 。
この プロ グラ ム で は 。X,。Y,Z の 3 座標 を 1 ステ ッ プ と し て 。 700 ステ ッ プ (2100 デー タ )
まで の 入力 お よび 描画 が 可能 で す 。 入 力 中 は 3 面 図 下部 に ステ ッ プ 数 が 表示 る きれ て いま す の で ,
700 を 超え そう に な っ た ら 。 い っ た ん ディ スク に デー タ を セー ブレ し, WORK 1 か ら 入力 の 続き
を 行なっ て くだ さい 。 次 節 で 述べ る ハイ スピ ー ド バー ジョ ン の プロ グラ ム で 。 これ ら の デー タ
に
を LOAD 2 で 連結 すれ ば , 最大 1200 ステ ッ プ (3600 デー タ ) まで の 描画 が で きま す 。
な お , デー タ を ディ スク か ら 入 力 し た と き に ,。 そ の 3 面 図 を を 描画 ミ せ る 場合 は 。 WORK 2 を
\
> リリ
E し て くだ さい 。WORK 1 に する と 。 せ っ か く 読 み 込ん だ デー タ が 消 る れ て し まい ます 。
735
但 エラ ー の 処理
700 ス テッ プ 以 上 の デー ク を 入力 し た り , Drive Not Ready 等 ディ スク 関係 の エラ ー が 発
生 し た と き は , メッ セー ジ を 表示 し て メイ ンス メ ニュー に 戻り ます 。 エ ラー の 原因 を つか み ,。 そ
れ を 多 理 し た うえ で , 再度 メイ ン メ ニュ ー か ら 始 め て くだ さい 。
人 得 ディ スク が 無い 場合 の 実行
し た が , カセ ッ ト テ ー プ で の 実行 も む
ィ ス クベ ペ ベーシック が 無い 分 フリ ー エ リ
9
ディ スク を 使う 前 提 で プロ グラ ム の 説明 を 続け て き
さ
ろ ん 可 能 で す 。 テープ 使用 の ROM モー ド の 場合 は ,
ア が 広く な り ま す の で , 描画 ステ ッ プ 数 が く 確保 で きる メリ ッ ト も あり ます 。 プ ログ ラム 先
頭 の CLEAR 文 を , CLEAR, 必 H 7 FFF と し , 1810 行 の 配列 を 大 きく すれ ば , さら に デー ク
が 入り ます 。 な お , プロ グラ ム 内 の 「DISK」 の 文字 は 「CASSETE」 に 置き 変え て くだ さ
読む だ け で よく わか る 山海 党 発 行
ン ペ ーー ンク Ni
小笠 原 一 ・ 柳 谷 浩三 著 /B5 変 形 220 真 1800 円
人
く 使う 命令 122 語 を 選び , 意味 と 使い 方 を 説明 し て いる 。 ま た , の 3
の 機能 を 理解 し て も 、 一 本 の プロ グラ ム を 作る こと は 大 突 を こと で す 。 本 書 で は , プ
と ・
甘 本 的 な 命令 ・ よ
ログ ラム の 組み 立 方 や 設計 の ポ イン ト に つい て も 説明 し て お り ま す 。 応用 と し て 名
刺 管 理 プ ログ ラム と 汎用 集計 プロ グラ ム の 2 本 を 収載 し て いま す 。
DASMGMGRS23 @ サ ブフ ルー チン
@ 出力 命令 @ 表示 ・ 印 刷 の 制御
@ 入力 命令 @ フ ァイル 処理
@ デー ク の 型 と 表現 @ コ マン ド と は
@ 証 御 命令 @ 応 用 尊
736 5 章 3 次 元 実 用 プロ グラ ム 3 順
(写真 5-30 て 32 シェ ー バ ー の 措 画 例 )
(リス ト 5-2 3D WORLD Ver2)
【 File Hamg : 3D 販 02 】
3 に eg る D MOURKLD
CL5S: IDTHB の , 2 の 9: CLEaR の の ,%H6FFF : DEFSNB 人 -Z
GBDSUB 181 の
CL5S: CLX= ニ 444: し Y ニ 199: レム ロー ニコ: ビアー. フェ じ X ニ 222: じ Y= ニ 99
DN EEY(6) BUSBUE 4 る 4 の :DN じ EY(9) GODSUB 444g:UN EEY(4) BOSU
E 4469
DN EEY(1 の 9) GBDSUB 4 ラ 89:DN じ EY( 弓 ) BUSUB 4419
じ EY (6) UN : ラニ 1 : ビニ 5: BUTD 154 の
GUSUB 2 フ 6 の : BUSUB 19 の の : じ UNNEPT (222 。) (222 199) 一 (の ,199) 一 (
の ) 一 (444 の) 一 (444 。99) 一 ( の 。99) 。 う
LTNE (の ,49) 一 (444 。49) 。PSET 。 1 : LINE( 111 の) 一 (111 ,199) ,PSET 。 1
LINE (の 。 149) 一 (222 。 149) ,PSET 。 1 : LTNE (3 うう の) 一 (3 ろう,99) ,PBET 。 1
: RETURN
^ 基 穫 基 天天 区 基 天天 天天 MHRE に TNG 区 革 天 基 甘 基 基 基 英 基 基 天天 区
GUTOU 12 の の
じ メ ニュ ユマ う = じ Y ニ 1 4 ワ
ロニ 1 そつ 2 : 王 ビニ ー1 。 1 71 : 5GD=1 。 ワク フフ ア : D= ワ フウ の の
1= 己 IN (5G じ ) =: じ ヒ 1= じ 0 (SC ) : ら 2= ら IN (SD ) : じ 2=C じ DS (SD ) : RETURN
FOUR に = ア TO 18:LUCATE 58。 じ に :PRINT SPACE も (22) 』 :NEXT ド
CULURK 4:LUCATE6 の , 9: PRINT "PEN GET・・・・・・ ※ げ
LUCATE ら 9 。 1:PRTNT"D 0D 因 ・・ーー・・ /" LOCATE6g ,2: PRINT"I 1 5S
Go が oeiio Ge
LUCATE 6@, さ :PRINT "RELTNE・・・・・・・ KR"
LUCATE 69,4:PKINT"MRLL・・・・・・ーー ・ W"
LUCATE 69,5:PRINT "CIRCLE・・・・・・・ C*
LUCATE 6 。6: PRINT"MRIN MENU・-・ B 8"
LUCATE 2 つ 9。19:PRINT "STEP/NEXT"』 CU+1 3 :FDR 1=g TO 6:BEEP
: BEEP の :D$=INKEY ま
LOCATE 7 フ 6,。T:PRINT"< く ":FUK TM=g TU 59:NEXT TM:LDCATE 7 ら 。+
:PRINT" "
*BEEP BE
IF D ま ="%"THEN LUCATE フ 6。g:PRINT"< く ": BOTD 1389
IF D ま ="/"THEN LHCATE 76。1:PRINT"< く <": BHTU 1389
IF D ま ="H"THEN HARDC1
paQe
1 3 の
ささ
1 さ 4 の
1.3 コ @
1 さ 6g
1 さ 7 相
138g
1 ふさ 9g
14⑦
141 の
142 の
143g
144@
1 4 コ 5
1469
147g
14 ヨ 9
149g
15@
151 中
15S の
153g
154
1 ココ 9
1 コ 69
1 ロ 7 の
15 ヨ 9
159g
169 の
161g
1 6
1 6 う 3 の
16 う ロロ
1 ら 64 の
1 65g
1 66
1679
1 6 女
1 6 ヲ ウ
【 File Nams : 3DMLD2 ]
EZ ング 73 し ニニ EE
D ま ="RK"THEN LUCATE 76。 さ PRINTVTSS く TsGUTO 13B@
IF
IF D ま ="M"THEN LUCATE 76。4:PRINT VS く P EGOUTOU 138
ITF D ま ="M"THEN LUCATE 76。SsPRINT VSS く STsGUTO 1 さ 38 の
IF D ま ="C"THEN LUCATE 76,S:FRINT VSS く VsGBUTO 138Bg
IF D も = じ HR も (SH) THEN BEEP の :GUTOU 1540 の
NEXT IiGBOTOU 17 の
GUSUB 437g: CU= ニ COU+ 1
IFD$="R"THEN CH ロ =CUー1 : GUGUB 全 の 99: GUTU1S ウ の
IF D ま ="M"THEN BUSUB 214 の 9:GUTOU 12 の
IF Ds="C"THEN BUSUB 3639: COU=CUー1 : GOUTU1 15@
ITF D ま ="M"THEN GUSUB 91 の :GUTOU 12 の 9
GUSUB 4 さ 7@
LUCaTE 5。 日 : INPUT "MIDTH.X
ITF F=1 THEN 144g
MX (CU) =VQL (B ま ) : IF D 和 も ニ リリ
"*E 和 ま : GUSUE ふさ 2 の の
THEN MX(COU)= ニ MX (CO) +1 の の の
LOCTE SB ヨ ,9: INPUT "DEPTH.Y "、B も > BUSUB 32 の
MY (COU) =VaL (BE も ) = ITF F=1 THEN 147@
LUCATE SB ヨ 。19: INPUT "HEGHT .Z "3B 和 も : GUSUB さ 2 の の
MMZ (CU ) =VAL (B ま も) : IF F=1 THEN 149g
ITFD$="*※"THEN GUSUB2 ウ 2BELGE GUSUB 1929
GUTHU12G ウ
" 半 基 天天 天天 MRTN MENLU 区 区 天 基 基 交 共著 基 基
GUSUE 19 の 6
UN ERRUR _ GOTU 1769 の
CULUR 7:LUCATE 6g。9:PRINT"3D ACTEUN・・・・・・ 人 ビ "
LUCATE 69。1:PRINT "SAVE 3 さ D DQTA・・・ Sa"
LUCATE 6g。 う :PRINT"MURE 1 (NEM) ・・・ 四 1"
LUCATE 69。4:PRINT"MURE 2 (CUNT)・・ MM2"
LUCaATE 6g。6:PRKINT"LURD 1 (NEM)・・・ し 1『"
LUCaTE 6g。7:gPRINT"LURD 2 (CUNT) ・・ L2"
LUCATE 6 9:PRINT"LLIST 3D DaTA・・ LD"
LUCATE 6g。1 の 9:PRINT"E_N_D ニー ニー コー
LUCATE 69。19:PRINT "STEP/NOUM" = CDs
GUDSUB 4 ミア
LOCEaATE 6 。12: INPUT D も
IF D 和 を も ="C" THEN GUSUB 2259: GUDSUB 227g
1F D も =" ら 人 a" THEN BUSUB 4529
IF D を ="M2" THEN BUSUB 117 ウ : GUSUB 2 の 9 の : GUSUB 12 の の
pa0e3 [Fiig Mamg i 35ML02 1
17 の の IF D 和 も "170 THEN GOSUB 117 の : GUGUB 183 の
171 の IF D 和 も =" リ L1"7 THEN BUSUE 462 の
172 の 9 TF D も ="L2 リ " THEN GUSUB 464 の
173 の ウ の IF D 和 も ="LD" THEH BUSUB 425 の
1735 1F D 和 ま ="E ビ " THERH FURK ビ Y=1 TO 6:EEY(EY) UFF:NEXT:END
174 の 9 GOTOU 166 の
1 / ら のり (ーー ここ ここ ここ ご EKRODUR
176 の CL5S: BEEF : IF ERKK= ワ THEN PRKINT" コ レイ シル” ョ ウ テー の) バイ リフ センリ ュ ェ ピロ ニ ビ
0 ロー1 : GUTU 18 の の
1779 の 1F ERK= ニ 72 THEN PRKINT" テ ~ ィ ラフ カ " UFF デ デ ス リョ:BUTU 1 の
178 の IF ERKK= ニ 6 うろ THEN PRKINT "ファ イル カ " ミリ カリ ッ マセ フリ ョ = GUTU 1 の 9
179 の ITF ERK= ニ 64 THEN PETINT "ファ イル ノ ニシ ト ュ ウト ウロ フク テス" ョ GUTU 1 の
1 ヨ Hg の PRINT" メニ ュー ニニ モト “リラ タリ": RESUITE 154 の
181 の ウ DIINM MX(7 の の ) 。MY(7 の の ) , り Z (7 の 9) : EETURN
1 ロジ の ーー ニー テー ラニ ーー ニニ ーー Y/N MDREE 1
183 の 9 IF CO0< ニ 1 THEN 188 の
184 の LUCATE 6 の g。12:PKINT "と yoOu =ur “で (Y/N) "
185 の 9 じ も = ニ INEEY 和 も = エ F じじ 和 も ニ リ イ アリ THEN 188 の
186 の IF じ 和 ま ="N" THEN LUCATE 6 の 9。12:PRKINT SPACE も (22) : GUTU 1899
187 の 9 の GOUTU 1859
188 の 9 ERQSE MX 。MY。MZ: GUSUE 181 の : じ 0D= ウ : GUSUB 111 の 9:GBOUSUE 1299:GUT
ロ 189 の
189 の 9 RETURN
19 の の LINE(445。 の ) 一 (639 。 199) 。PSET 。。BF : KRETURN
191 の
192 の "区区 天天 天天 区 DRUMI 贅 殖 区 区 区 区 基 基 交
193 の IF CU= の THEN ヒロ =1
194 の WMX 三 内 X( ビ ロー1 ) : MY= ニ MY ( ビ ロ ー1 ) = 内 Z 軌 7 (CUー1 ) : IF MX>= ヨ の 9 THEN MX ニ M
メー1 の の の
195 の ソ メ X ニ MX (CU) : TF ソ メ >= ニ ヨ 四 の THEN ソ X= ニ VXー1 の の
196 の LINE (MX+1 1 1 。 一 (中 アキ 。 4 王 ) 49) 一 (VX+1 1 1 。 一 ( 罰 Z (CU) *. 45) +49) ,PSET
,MC
197 の LTNE て (MX+111 。 一 (MY-4 王 )+149) 一 (VX+111 。 一 (MY (CD) *.45)+149) 。F5
ET 。MC
198 の LINE (MY+ さ ささ 。ー (MMZ*。 4 王 ) +49) 一 (MY (CD) + う ささ 。ー(MZ (CD) *. 45) +49) 。
PSET 。MC
1999 LUCATE 3 ヨ 。19:PRINTCOs
RKETURKN
740 5 章 。 3 次 元 実用 プロ グラ ム 3 題
{File NamE : 3DML02 ]
* 共 天 基 基 基 天天 区 基 PUTNT 共著 天天 基 間 基 基 天天
PSET (MX (CO) 一 1 の の +1 1 1 一 (MZ (CO) *.45) +49。MC )
PSET(MX (CO) 一 1 の + 1 1 1 。 一 (MY(CO) *。45)+149。MC)
FSET (MY (CD) + さ ささ ミィ ー(MZ (CU) *。45) +49 MC)
LUCaTE 3 ,19:PRINTCOs
RETURN
" 基 共 天天 REL TINE 共 共 基 基
IF CHS=1 THEN GUGUB 111 の :CU= の : RETURN
JJ=COU: GUDSUB111 の 9:FUR CU=1 TOU JJi IF MX(CO) と = ニ B ヨ の 99 THEN GUSUE
292 の 9 の : BUTU 213 の
BUSUB 193g
NEXT CO CH=CU-1 : KRETURN
"天天 MLOG 天天 共 天天 天天 共 基
IF CU= の THEN 219 の 9 の ELGE CU=CU-1
MC= の : IF MX(COU) := ヨ の の THEN GUSUB 2 の 2 の 9: GUTU 18 の
GUHSUH 193@g
CH= ビ ロー1 : MC ビ = コ : IF C ロ = ニー1 THEN CU=g
Z ビ = ローX CC 1 *G フ 2ーYxG 1 *G ロ 2 コー7※ じ 2 ミロ Xー ニ (D※( 一 X※ 避 1 上 Y# じ 1) /Z じ )+CXsGY=
CY-ー. 449 コ (DX( 一 XX じ 1X じ フーYx ロ 1 C+ZxG2) /Z じ ) : KETURN
* 北 基 天 天天 区 天天 CTTUN 天天 天天 基 基 基
BUSUB 4 ミ 79: BHTU 2270
CX= ニ 222: じ Y=99 : HM=19: D=15 の の : 5 ビ ニー1 . 7 の 8: SD=1 . 57 の = SG1=SIN(SC
) : C1=CnS (SC)
EEY(1g) UN:KEY(5) UN: に KEY (9) ON: KEY(4) UN: 2= ニ STN (SD ) : C2= ビ 0
(SD ) : RETURN
BUSUB 1999:LINE(445, の ) 一 (6 ミ 9 。 199) 。PSET 。4 ,BF: CDLUR12: SGYHBO
し (467。1) 。"D RETIUN" 2。1 。1: BYMBDL (4655。1) 。" ラ D ACTION" 。2
5 一 9 よう
ふ
BUSUB 443 の gz: GUSUE 448g:LTINE(46g 。 ワ 96) 一 (62 ウ の 。 12 の ) 。PSET 。2。E
LUCATE 58.8:PRINT"% SCALE & PUSITUN "=:LTNE(46 の 。78) 一 (62 の
, ヨ 8) ,PSET 。 1 ,B
GUSUB 2529:LUCEITE 69.16:PRINT "ACTTUN・・・・・・ RET"sLOCaATE 6
17gPRINT "MNTIN MENU・・・ B S"sLUCATE 6 の 9。19:PRKINT "HARD COPY
PE 生 。 日 『s
台 多 INEEY 名 : TF 人 も = リ る"THEN UM= ニ UM+TUM* に EZ: BUSUEB 2 つ 52 の
747
30LD2 】
File
Ma 1
2 ラウ 2 の TTF 明 凶 リウ ワリ THE ト UI4 モ UIF4ーU ト 4 を EZ : GU0SUB 252
ノ 2 る ITF 本 モリ アリ THE ト NH D=D+D テ FEZs BUSUB 252
タラ 4 の エエ F 月 生 三 リ 1 7"THEF ト RI D= ニ D ワ ーD テ ビビ Z : GU5SUE 252
235 の 9 T エ F 申 も リリ "THE じじ + ォ ラ 。 14159/E 人 RG1=SIN(SC) :C1=COUS (SC ) : GUT
ロリ 24g の
Z36 の の 了 F 馬 三 "4"THEH 5 ビニ 5 ビー ラ . 14159/ だ 人 弓 1=SBIN(SC) : じ 1=CHS (SC) : GUT
ロ 24 の
2 う 7 の TTF ロ 生 = ニ "B"THEhH 5D= ニ 5D+ ラ 。 14159/ ヒ 52=5TIN(SD ) : C2=CHS (SD ) : BOT
2Z48 の
TIF 如 和 も リン "THEH
ら D= ニ 5 リーラ 。 1 4159 ワ /:G2 ニ SIN (SD ) : C2=CUS (SD ) : BUT
人 Q ま = ニ ビ HKR 多 (を H1 じ ) THEN じ X= ニ ヒメ X+49: GBDSUB 2529:GUTU 259 の
24 の の TF まじ HR 多 ( 叶 H1D) THEN ビ メ ニ ビ メー4 の = BDSUB 2529:BUTU 25g
241 の IF ま =CHR 和 (を 日 1 ビ ) THEN ヒマ = ニ ビ マー2: BUSUBE 2529: BUTU 2599
242 の [F 人生 = ニ ビ HER 和 (を 日 1F ) THEN ビニ ビ マ + ィ 2 の : 5DSUB 2529:BDTD 2599
24 う の IF 内 生ま ="H" THEN HARDC1
244 の 1TF ロ 生 = ビ HR 条 (1) THEN BUSUB 2659:GDTU 2 る 1 の
245 の 9 IF =CHK 和 (を HH の B) THEN ビ EY(19) DFF: じ EY (5) DFF: KEY (9) DFF: KEY
(4) DFF : COLHRK 4:GDTD 1549
2469 LUCATE 6@。1 ニ :PRINT "NGBLE DTY="s:PRINT USING" 提 提 。 社 "NgP
RINT"C "s
247 の 9 LOCATE ら 6 の 。14:PRINT "SCALE ロ TY ニ " ェ :PRINT USTNG" 提 寺井 "Li =P
RTNT" ア リュ
248@ LOUCATE 6 の 。1 の :PRINT"G F 1T N ="::PRINTUGTNG" 提 電 提 振 。 蘭 "』 (SC/(
. 14159/ . ) ) *ー1
2499 LOCQATE 6 。1 1 :PRINT" 丁 了 L 丁 =":=PRKINTUSTND "電電 草 #。 提 "』 (SD/( マ
1415 ワ / 1 ヨウ ) 9 の ) *ー1
259 の 9 GHTD2 ミ 1
251 の "ーーーーーーーーーー SENTER . SFALE
252 の LINE(46g 。1@) (629。7) ,PSET 。 1 。EF
25 う の ビビ X ニ 16/444*CX+46: TF CPX<46 の THEN CPX=489
254 の 9 IF CPX>6 コ ワウ THEN CFPX ニ 62
255 の じ PY ニ 6 昌 / 199*CY+1g:TF CPYZ1 の THEN CPY= ニ 1
2569 IF CPY:7B THEN CPY= フ 紀
257 の し INE(CPX , 1 の) 一 (CPX 。78) 。PSET , 弓 :LINE (469 ,CPY) 一 (529,CPY ) ,PSE
T。55
589 PP=(D/1 王 の g) * (1 の 9/ ロ NM)
599 FOR ヒビ =2 TOD 5 STEP =
ら 69 PX1 ニ = じ ビ メー ビビ xxPP: ITF PX1<469 THEN PX1=46g
PY 1 = ビビ PYーCPGX2*PPs IF PY1< く 1 の THEN PY1=1 の
26 さ 3 四 PY2=CFPY+CPG#2 つ PP』 ITF PY2>7B THEN PY2= ニ 7
264 LINE(PX1 。PY1) 一 (PX2 。PY2) 。PSET 。CPS 。BE: NEXTIs RETURN
つら 6 らら 切 "区 区 区 天天 区 区 ツ 1 選 WM いい ロレ に 革 導 基 基 共 天天
2669 GUSUB 2769:LINE( の の, の) 一 (444。199) 。PSET。4。E:FUR 1=1 TO CO
267 の IF MX(I)=: ヨ gg THEN 275
ご 6 ヨウ X=MX(I) / 1 の 9: Y= ニ MY( 1 ) / 1 の の: Z ア =MZ (IE ) /1 の の: GUSUB 221 の = X1 ニ DX: Y1=
QY
うつ 69 IF MX( エ I-1 ) > の の THEN X ニ (MX( エ ー1 ) 一 1 の 99 ウ ) / 1 の 9 の ELSE X=MMX (エー1 ) /
1 の 9
27 Y=MY( エ ー1 ) / 1 9: Z ニ MMZ (エー1 ) / 1 の : GUHSUB 2 つつ 219: X=QX s Y ロ =QY
271 四 IF (X 四 >)+(X 四 444)+ す (YO の の) +(Y の < く 199)+(X1 > と)+(X1 く 444)+(Y1 > の
) す (Y1 ぐ <199) = ニー THEN27 ア 4 の
マ /72 IF (XOEO QRND X1<) UR (Xg ウ >444 QRND X1> と 444) UKR (Yg ウ < の QAND Y
1 の) UKR (Y の >199 AND Y1:>199) THEN BEEP HB: BEEP の =: GUTOU 27 の
マ 73 の の GUGUE 79 ウ : GMRFP Xg。X1:GMQRP Yg。Y1 : GUSUEB 2 つ フ 9 の
274 LINE(X。Y ウ ) 一 (X1 。Y1) 。PSET 。7 ア
275 NEXT TGBUSUE 4 さ 7@: RETURN
LINE (Kg. の 9) 一 (444.199) 。FPGET 。。BF:RETURN
ええ じ し TPPTNG 区 共 区 区 区 基 基
7 IF X1 の THEN XX=d: GHTH 2829
< IF X1ECLX THEN XX=CLX: GUTOU 2829
21 切 XX ニ X1
ご 2 IF X1 ニ XX の THEN YY=Y1 : BHTU2869
2 ヨ 3@ YY=Y1 一 (Y1-Yg) *(X1 一 XX ) /(X1 一 X の )
<4 IF YY く < THEN YY=g: GUTU 2B7 の
< 日 5 ら g IF YYECLY THEN YY=CLY = GUTU2 ヨ 7
269 X1 ニ XX:Y1= ニ YY: GUHTUD 289@
2 コロ 7 TF Y1=Yg ウ THEN XX=X1 =: GUTU 2 ヨ 6g の
< は の 9 XX ニ X1 一 (X1 一 Xg)\※(Y1-YY) /(Y1-Yg) : GUTU 2869
9 の RETURN
ゼ ワ 1 人 切 大 区 区 区区 基 基 天天 人 し し 区区 区 基 天天 天天 天天 区区
292 の BUSUBE 416 の =: IF じ ま こ "NPD THEN KRETURKN
マン ワウ IF VaL(C じ を):4 UK VAL(C も ) く 1 THEN 292
デ ウ 4 の の UN VaL ( じ ま ) GOTU 296 。 う つう の 。 さ 4 る の
マウ 5 BUT ロウ ジロ
[Fijig Hame : 30 02
LUCATE 58。11:TNPUT"HEGHT/TU 71 ":B$:BDSUB さ 299:TZ=VaL (B
る ) : TF F=1THEN 296g
LOCaTE 58,12: INPUT "HEBHT/FDR Z2 "』B ま :GBUSUB さ 299:IF F=1 丁
HEN 297 の
FZ ニ VaL ( 王 名 ) : B ロ = ニ ビ 0D : B じ = の : GUSUB 3929: MX(CD) =MX (CD) +1999: GSU
B 2 の 2 の
CU=CO+1 : LDPaTE 58,14:PRINT SPC(29) : LUCATE 5B。,15:PRINTSPC
(2 の) : GDBUB ラ の 2 の :TF B 和 ="E" THEN CU=CO-1: IF TZ<>FZ THEN GOS
UE る 149: RETUEN
IF B 和 ="E" THEN RETURN
GUSUE 1929: GUTU 2999
LOCATE 58,14:PKINT " 因 IDTH. .。 X "』: INPUT B も :BODSUB 32
F=1 THEN うろ の 2 の
IF E 生 ="E" THEN ユ の 89
IF BB 多 ="P" AND CU>Ba THEN GBDSUB 2149:C0U=CD+1:BDTU 3
MX (CO) =VaL (を )
LOCATE 58,15:PRINT "DEPTH. .. Y "』:INPUT B*:GUSUB 32
F=1 THEN の 6 の
MY (CD) = ニ VaL (E 多 ) : MZ (CD) =TZ
RETURN
Y/N RELINE
LUCATE 5,17: INPUT" ロ . に (Y/N) "も : BUSUB 4379: IF C*="YP TH
EN RETURN
: ビニ の: FOR C ロ =BA TD BF:TF MX(CO)<B9 の THEN GUSUB 1939
NEXT ヒロ: CD=Baー1 : ビニ 5: RETURN
MAEE DATA/MALL
愉 メ (EQ) ニ MX (Ba) 19 の 9: BUSUE 4599: EC= の : B5=CD+1 : BE=B5+ ビ ローB 生 :
= ローEBAz FUR C ロ =BS TO BE:MX(CO) =MX (CD-BM) : MY(CO) =MY (COーBP)
: MMZ (CD) =FZ
ED=CD+ BI+E ビ : BF ニ ED+1 : MX(BD) =WX (CD) : MY (BED) =MY (CO) : MX(ED) 三 M
X(BD)+1g の 9
MZ (ED ) =TZ : 山 Z(BF ) =FZ : MX(BF ) = 上 MX (CD) : MY(EF) =MY (CD) : EC= ニ ECT+1:
NEXT CO: MX(BS) =MX (BE) +1 の gg: MX (BA) MX (Ba) +190 の
FUFR CO=RS TU BF: ITFMX(CO) <B9 の THEN BUSUE 1939
NEXT CO: ヒロ ーBF : GDSUE 199: RETURN
FLUGB . 一 1 1 の <B も >+11 の
GUSUE 4 コア ェ ビ ニ ( (日 本"") す (VaL (日 多 ) <ー1 1 の ) + (VaL (昌和) >119) ) ※ー1:
F F=1 THEN BEEP
RETURN
sg LUESTE 58。11: INPUT "MIDTH/TOU X1 "BB も : GUSUE う 2 の 9 の: TX= ニ VaL (B
ーー ニー ニニ エーー ニ ーー ニー ニー ーーー FRUNT VIEM
LUCRTE SB8。11: INFUT "DEPTH/TOU YY1 "4E ま : GUSUB 2 の 9: TY=VQL (E
名 ) ょ IF F=1THEN 3 ジラ
LHCRTE SB。12sTNPUT "DEPTH/FUR YE "HB も : GUSUB 3 さ 299: IF F=1 征
HEN さら 4
FY=VaL (EE 生 ) : BR= ニ CU: BE じ = の ウ : GUSUE 329: MX (CU) MX (CU) +1 の の : G0SU
BR 2 の
CH=CH+1:LUCATE 58。14:PRKINT SPC(2g) :LUCATE 58。15:PRINT らら P
C(29) : GUSUBH させ 9 の 9: ITF E ま ="E" THEN CH=CU-1 : TF TY く >FY THEN BOD
SUB 337 の : RETURN
IF HE* ま ="E" THEN RETURN
GUSUBR 172: UTU 3269
LOCRTE 58.14:PKINT "MEIDTH。。。 X "ETINFUT HB$: GOUSUB ささ 2 の の : 【F
F=1 THEN 329
IF BEB も ="E" THEN GUTU ささ 5 の @
IF B ま ="M" aaND CO ジ EER THEN GUGUB 全 14 四 :C ロ =CU+ 1 : GUTU ミニ 29g
MX (CU) =VQL (B ま )
LOCRTE SB 。19:PRINT "HEBHT。..。 Z " ェ : INPUT BE も ま : BUSGUE さ 2 ロ の : エ F
F=1 THEN 3 さ 3g
MZ (CO) =VQL(B ま も ) : MY(CU)=TY
RETURN
ーー -ーー-ーHARKE DaTA
MX (Ba) =MMX(BA) 一 1 の 9 のり: GUSUE 4 ロウ : ビビ = : BG= ニ ビ ロ + 1 : EE= ニ BS+CUーE 人 Rs BE
M=BS-Ba:FUR CU=BG TU BE:MX(CUH) =MX ( ビ ロ ーBI) : ZZ (CO ) 三 り 7Z (ヒロ ーBN )
: MY(CU) =FY
BD=COU+ 3M+BC: BF=BD+1: MX(ED) =MMX (CO) +1 の 99: !Z(BD ) 一 MZ (CO )
MY(BD)=TY:MY(BF ) =FYs MX(BF ) MX (CO) : !Z (BF ) =MZ (CDO) : B ロ ビニ B ビ 了 ナ 1 :
NEXT CU: MX(BS) =MX(EBS)+1 の 9 の 9: MX (EAR) =!X (En ) 1 の の
FDR CU=ES THU BF:IFMX(CU) < の THEN GUSUB 19 ラ の
NEXT COU: Cd=BF : GUDSUB 19: RETURN
an ラニ ーー ニー ニー ニー IDE り ヵ jEM
生 ) : 1F F ニ 1THE ト 343g
LUCATE 5,12: INPUT "MIDTH/FUR XS ":B ま : BUSUB ス 2 の の : ITF F=1
HEN 34499
F メニ VaL ( 選 名 ) : B ロ =C ロ : E ビ = の: GHSUB さ 499: MX(CU) ニ ビ X+19 の 9 の: GUSUB 2
ロロ
CU=CU+1:LUCATE 58.14:PRKINT SPC(2g) : LUCATE 58。,15:PKINT ら P
じ (2 の 9) : BU0GUB 49 の =: TF B 和 ="E" THEN C ロ =CUー1 : ITF TXZ テ FX THEN GO
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 一 』45
{Filg Mame ! 3DMLD2 ]
SUB うら 7 の : RETURKN
IF HE も ="E ビ " THEN RETURN
G0SUB 1 ワウ 2 の : GUTU 46 の
LOUCGTE 58,14: PETINT "DEPTH. ..。 Y "ikTNPUT B も : GUSGUB 329: IF
F=1 THEN う 47 の
TF 日 も =" リ ビリ" THENM うら 5 の
IF 日 も"147 NMND CUO>BR THEN GUSUH 214 の 9』 CH=CU+ 1 : GUTH 3490
MY(COU) VaL (B 多 )
LOUC じ CTE 58.15: PRKINMT "HEBHT。。。 Z " ョ ETINPUT B も : GUSUB 3299: IF
F= ニ 1 THENH うら コラ
ZZ( じ OU) ニ ソ nL (日 多 ) = メ ( ビ ロ ) ニ F メ
RETURKN
3 IaEE DaTa
MX(E ロ ) ニ リロ X メ (BE 全 ) 一 1 の のり: BUGUB 45 の 9 の: B じ = の : B5=CH+ 1 : BE=BG+CU-BRz B
NM ニ = ニ ロ ら ーBa: FOUR じじ 0U= ニ 5 TU BE:MMY( ビ OU) =MY (CU-BH) : 7Z (CHU) = 罰 Z (CU-BN)
: MX(COU) ニ TX
ED ニー じ リナ BE オビ = ロビ ニー ロ D す 1 : ロイ (BEBD) ニア (COD) : 軌 ZZ (BD) =MZ (CD)
MX(BD) ニ T メ + ィ 1 の の : り X( ロ F ) ニ ビ メ = 凡 Y(BF ) ニ 還 Y (CD) : 7 (BF ) =MZ (ED) : B じ =
EC+1 =:hIEXT CU: MX (BE ) 三 軌 X (所 弓 ) 1 の 9 のり: 四 X (BA) = りり X (Ba) +19 の 0
FOUR じ ロ = ニーロ T ロ PBF: TFMMX (CDU) く ヨ 9 の THEN BUHSUB 193 の
NEXT _ CO: ビリ ロニ BEF : GSLUE 1 の: EETUEN
/ 芝 基 基 革 芝 天天 芝 基 基 し じ T 民 し じ し ビ 革 甘 甘 天 革 基 基 基 区
G05UB 416g:= TF じ も = ニ "N" THEN RETURN
IF VaL (も ) エニ イオ OK VaL (も ) く 1 THEN 649 の
LINE (らら の の 。 1 7 弓 ) 一 {6 1 7) 。PSET 。 1:LINE (55 の 。 152) (559 , 197) ぅ P
SET』1:LUCATE ヨ 。1 フ :PRINT "18 の? " ュ LHCRTE 76。17:PRINT" の 7"s
LOUCATE 5.1 全 = TNFUT "ANGBLE/T ロ DU・・・・・・ "も : AT=VaL (B 多 ) : BUSUB
4 ス る 7 の : LUCATE 58.。1 さ =: INPUT "NBLE/FUR・・・・・ り ェ 日 多 : 人 F= ニ VAL (PB 多 ) : BU
GUE 4 ミエ フウ ITF AT> と AF OR AF> フ 2 DR AT=AaF THEN BEEP: 5BDTU う 679
人 T じ ビ ニム: エビ ー RT ビ - に そら の THEN GT ビニ AT そら の
nnF ビ ニー 全 F = エ F 人 F ビ そら の THEN ロビ ビニ AF 計ら
CIKCLE @G(55g 。 175) 。5 。 さ 。 。 1 一 全 F ビ / ミ 69 。 1 ATC/ さ 6 の
LUCARTE 53。14: INPUT "D エ TV り IDED CIRKCLE " ュ B 殺
ITF BE まま ニ "NNU THEN BDDSU 王 47 ア 56: GUTH さら 669
TF いし ( 己 和 まあ) で 1THEN コア 19
D じ ビニ い ム 人 L (互生 ) : DSUE 4 さ 7 ウ : IF DC=g HK (AF-AT)*19 MHD DCX19 < テ
の THEN BEEF : GODT う 7 ア 1
FURK に デニ 1 用 T ロ 19:LOCATE コ 8』E: PRINTSPACE も (21 ) s : NEXT
5 草 3 次 元 実 用 プ ログ ラム 3 題
【 File Name 20MLD2 1
UN VaL(C*) GDTO ミア 7 の 。 さ 910 。 494
LUCQRTE SB,1@:PRINT CHR 和 (SH95)
LUCATE SB,11:INPUT "HEGHT/TU Z1 "HB ま : GUSUB さ 2 の の : 7Z=VnL (BE
本 ) :。IF F= 1THEN さ 7B9
LCATE 58,12: INPUT "HEGHT/FUR ZZ "リュ HB も: GUHSUB
争 ) = IF F=1THEN う 79 の
LUCQATE 5 ヨ 。1 さ : INPUT "MIDTH CNT 。 X " : 日 も : GUHSUE
) :・ IF F=1 THEN 3 の
LUCATE SB,14: INPUT "DEPTH _ CNT 。 Y "BE ま : BUHSUE さ 2 の の : Y=VAL (B も
) : IF F=1 THEN 31 の
LCATE 58。18: TINPUT"RRDTUS. - . "sE ま : GUSUE 4 ささ 7 の: Rn=VAL (B
あう F ABS (RQ) +ABS (X) >11g OUR ABS(RA)+aBG(Y) >:11 の THEN 32
ニニ ニニ ーー MEE _ DATA/CIRCLE
=BakFUR 1=aT TU aF_ STEP DC:MX(J) ニ X+RAxCUS(T う 。 14159/ 1
):IF MX(J) テー. の 1 AND MX(J) の THEN MX(J) = ニ g
MY (J) =Y+RR#GIN(T※ コ 。 14159/18 の ) : TF MY( ゴ ) テ エー. の g1 QRND MY(J) < の
THEN MY (J ) =@
WMZ () = ニ TZ ょ = ニ J+1:NEXT 1:MX(BR) 三 MX(ER) +1 の の の : : ゴ ニ ゴ ー1
FUR CU=BR+1 TU JiGUSUBE 193 ウ 9:NEXT COU:TF TZ< テ FZ THEN COD=CO
ー1:GUSUB さ 14 ウ : CU= ニ CU+1 : GUTOD さ 8B9@
BEF=COU: BR= ニ BE! 1 GUSUE さ 1 ウ 9: GOTOU 389g
LUCATE SB。1 ウ :PRINT" "ERETURN
ーー ニーーーー FRONT VIE
LUCATE 2B。1@:FRINT CHR 和 も (SHEF )
LUCATE SFB。11: INPUT "DEPTH/TOU Y1 "B 和 も : GO0SUB 2 の: TTY=VaL (H
も) : 1F F=1 THEN さ 92
LUCATE 58。12: INPUT "DEFTH/FUR YE も: BUSUE 32 ウ の ウ :FY=VAL (BE
和 ま ) :・ ITF F=1 THEN 393@g
LUCaATE 58。13: INPUT "MIDTH CNT.。 X "EE を: BUSUE 32 の の : メニ VAL (日
) : IF F=1 THEN 394 の
LOUCATE 58。14: INFUT "HEBHT CNT.。 Z ":B 多 : GUSUB うろ 2 の の : アニ VaL (BE$$
) : IF F=1 THEN ミ 959g
LUCRTE 58。15: INPUT "RADIUS。 。 。。.。 「「E 和 も : BUSUB 4 ス 7 ウ : RA= ニ VaL (HB
生 ): IF BE5(RR)+aBS(X) >11 UR aBG(Ra)+aABG(Z) >11 の 9 THEN 969
ンー ン ニニ エニ ニュ esse ARKE DRTR
リー ニ BE ビ 人 as FUR テニ RT TU aF STEP DC:MX(J) ニ X+RACOUS( エ テテ 14159/ 18 の
):TF MX( ゴ 5) テー. の 1 QAND MX(J) < ミウ THEN MX(J) = の
中 Z (J) ニ Z ィ Ra# 己 TH( エ ※ う 。 14159/ 1 の ) =: TF 内 Z( け ) ジー. の 1 aND MMZ(J) の
THEN MMZ( け ) =
さと の の:FZ=VaL (BE
さ 2 の の : X ニ VQL (B$
74/
『 1a as ィ rgi nh2 1
Filg 用 0 コリ 9 し // 4
りり イ ( ゴ ) ニ イイ =: ゴ ニ J+1 =: NEXT Ts 軌 X (BA) 三 MX (BR ) + 1 の の の: ニー1
FOR ロー ロロ + す 1 TO JJ: GUSUB 193g:NEXT CU: IF TY く <>FY THEN COU=COU
ー1 : 508UBE ニラ ラプ Z の : じ ピロ デ テ ビ リィ 1 : GUDTU 3 ヨ 89 の @
50TOU 3B 選
らら IDE リツ IE
LOUCRTE 2 1 の 9: PETINIT CHR 条 ( 多 H96 )
LUCATE 5,11: INPUT "MIDTH/TD X1 "3』H 和 :BUSUB う 299:TX= ニ VaL(B
生 ) = IF F ニ 1THEFH 4 の 5 の
LUCATE 58。12: INPUT "MIDTH/FUR X2 "』B 和 も :GUSUE 3299:FX=VaL (B
外 も) = IF F= ニ 1THEI】 4 の 6 の
LUCATE 58 。 1 る: INPUT "DEPTH CNT .。 Y " ョ HB 多 : BUSUB 209:Y=VaL(B も
) = IF F= ニ 1 THEFH| 4 の 7 の
LUCATE 58。14: INPUT "HEGHT CNT。 Z "』E 多 : BUGUB 32 の : 7=VL (PB を
) ・ IF F ニ 1 THEH 4 の の
" ュ B 多 : BUGUB 4379: RA=VAL(B
41 1 の ゴー ニ Bn: FDRE エニ RT TD 人 F
)
MMZ (J ) ニア +Ra※ ら TN( エ テニ 14159/ 1 の ) : 財 X (J) = ニ FX: ゴ = ニ J+1 :NEXT TIzMX(B
如 ) 三 只 X(B 全 ) 1 の の の = コー ニ ゴ ー1
413 の FUK C ロ = ニ E ロ +1 T ロ J:GUSUB 19 ミ の :NEXT CD: IF TX<>FX THEN CO=COU
ー1:G0SUEB うら 7 の : ヒビ ロニ ビ ロ + 1 : GBDTH 39
414 の 9 GUTOU ミコ 889
es VIEEMM/ 1 マラ
4169 LUCATE 9. PRINT "2.FRONT
PLRNE " : 所 人 ロニ ビ ロ
4179 LUCGTE 9 9:PRINT"1.PLANE" : BA=C ロ
STEP DC: MY (J) =Y+RaCUS (T* う る . 14159/ 189
る .S1DE": LODCATE 59,9:PRINT"1・
418 の LINE(464 。 ア コ ) 一 (61 の 9,8) 。PSET 。,B:LINE (464 。7B) -(549 98) ,PSE
も
4199 LUCATE ら 9。9:FRTINT"VTEM つり": 多 =TNPUT も (1 ) : BUSUB 4 さ 79: IF じ
SPPTHEN 4 つの ELGE 4199g
429 の 9 LUCATE フ 4 。9: ビ RINT C 和 も: RETURN
421 "
4229 PRINT "/" ェ PRTNTUG TNG" 半井 提 基 振 . 牛 " ュ MX (DL) :
423 の ・
424 の
2 コウ 天天 基 芝 芝 基 区 DRTA/ し し 1 コ T 贅 交え 区 和
4269 LPRKINT" No- 4 X だ まけ ( Y ) (アッ
し し 。。 {6 {6〈#《#《 。 。、 = EURO デー
748 5 章 3 次 元 実用 プロ グラ ム 3 呈 ニ 一 一 一 一 ーーーーーーーーーーーーーーーーーーーーー
padE 19 [File Nsmg ij 39NL82 ]
7 FUR DL=1TOU CU:LPRINTUSTNG" 提 揚 壮 拓 "』DL <
< IF MX(DL) >:B の 9 THEN LFRINT" LX]1"s:LPRINTUSING" 拉 提 韻 提 提 。 提
"saMX(DL ) 一 1 の: : GUTOU 43@ の
人 499 LPRINT" [/]"』:iLPRINTUSTNG" 拉 拉 持 持 提 提 。 韻 "=MX(DL ) ェ
4 の LPRINTUSTING" 拉 提 提 提 韻 持 。 菩 " ュ MYK(DL) :MZ(DL ) : NEXT
4 さ 31 RETURN
介さ さ 急 「K 基 天天 REEP GMTICH 天天 区
介さ 4 ロニ ロ +1 :TF ロニ 2 THEN = の g
さ 35 四 RETURN
4 さ 7 加 BEEF HBsFUR BT= の 9 TU 5g:NEXT: BEEF の :RETURN
4 う ヨ 軌 「%※※※※ 人 QNGLE。 SCALE 。 夫 半 共著
4 さ 99 に ロニ KR/2 ュ TTF ド EK。 1 THEN に ド 人 Q=1
44 の 9 GUSUB 44 さ gg:RETURN
441 ドニ KR2s ITF KFE12H THEN に KaQn=12
4429 BUSUB 443: RETURN
44 さ の AN= う 14159/ ド /( さ 。 14159/ 18 の の) : RETURN
人 444 に KZ ニ に ド Z*2s ITF EKZ>1 THEN ド Z テ 日
4459 GUSUB 448 ウ :RETURN
446G に Z ニ ドア /2 ェ TEF に Z く 。1 THEN に に Z=. 1
47 BUHSUE 448g: RETURN
44 ロ の し = ビ に Z*19g: RETURN
45 ら 99 LUCaATE SB。17:PRINT "BUSY !! 9 RETURN
人 4 ロコ 区 区区 区 天天 そる D DRQT GAVE # 半 天天 基 天天 基 基 天天 区
453 四 COULUR 弓 :LUCATE 6g。18: INPUT"FILE NAME"sTITLE も : IF LEN(TITL
E も ) 日 THEN BEEF: GUTU 45 さ の @
442 TITLE 和 =TITLE ま も +GPACE ま (ヨーLEN (TITLE も ) ) :LUCATE 69。14:PKINT"R
ERDY D E SE ! "giLUCATE 69。15
455g LUCRTE 69.17:PRINT "HIT RETURN EEY":COLUR 2
456 BEEP の ウ : じ 和 を =INEEY も :LUCATE 69。15:FRINT"( KRECORD )『"
47 婦 FUR BE=g TU 5g9:NEXT:BEEP 1:IF じじ も マン CHRK 多 (1 う ) THEN LUCATE
6 。15sFRKINT" "gi GUTU 4569 の
4589 LUCATE 6g。17:PRINT" "。 BEEP の ウ の:UPEN"OU" 。#1。TIT
し LE 争
45 ら 9 PRKINT 社 1 。TITLE 各 =PRKINT#1 CU:FUR 5=1 TO CO:PRINT 后 1 。MX(5)
PRKINT#1 MY(5) : PRKITNT 革 1 MMZ() LUCEATE 75。17:PRINT Gi:NEXT
し 312 朋 d 弟 1 うり LUZ 】
じ LOU5EE 失 1】: ロ DD5UE 476 の : RETURN
/ 攻 攻 革 デ デデデ し ロロ 如 D 1 基 共 基 基 基 革 区 区 基 基
じ ロ ニ の : 己 チ ニレ ロ ェ ロ D5UB 467 の : RETUKRN
/ 革 攻 基 攻 攻 攻 えと 区 し ロロ 折 日 の 務 基 基 基 電光 基 基 基 基
ウル = じ ロ : GU 467 の : EETUERIJ
CDLOE 呈 :LUPTE 6 の 9。14:PFEINT"REERDY D E8BE 17"giLHEATE 69,15
:LUDCPaATE 6 の 9 の.18: INPUT "FILE HaE" ュ TITTLE も IF LEN(TITLE も ) :B TH
EF) EEP ェ 5 イロ 4467
T IT「L し ビ 和 モニ 出 UI ビビ 和 も すら ビビ (ー し EE すし E 多 ) ) :LUETE 69,17:PRINT"H
IT RETURRN EEY"
BEEP の : じ も ニ INEEY 和 も : LUCATE 6 の 9,15zPKINT"( P し Y )7
FUF ロニ の TO 5 ら の : 和 M ビ メ イ : EEP 1:IF じ 多 マラ ヒ HR 和 を (1 う ) THEN LOCaTE
ら 6, 15: PRINT" ": GUTU 4699
LODCATE 6 の 。17:PEINT" り : BEEP 9:DPEN"[ リ 。 社 1。TIT
1 ビ 衝
INFUT 半 1 。 丁 1TLE 和 も : LDCaTE 6 の 。17:PRINT "Founds "iTITLE 多 INPUT
1 , ヒ T : C ロ = ヒロ D+CT : FDR し = エ +1 TO COs INPUT#1 。MX (L)
INFUT#1.MMY( し ) ェ THNPUT 和 1 9Z( し ) sLUCATE 75。17:PRINT LiiNEXT L
1 : 選 D り UE 476g: PETURN
445 。 1 つの ) 一 (ニワ 。199) 、F' ら ET 9 PF : GBDSUB 4 う 79:RETURN
@ サ プル ー チ ン と ジェ ネ レ ー タ を 使っ た
F-BAS1C (FM-NEW 7/-77/-7)
ゲー ム 作 り の ノー ハウ
ナラ シノ マイ コン クラ ブ 著 /B5 判 208 頁 /2300 円
ゲー ム 作 り に こそ プロ グラ ミン ググ の 真髄 が ある と いう 人 も お り ま す . し か し , 和 反 用 の
骨折 り は ムダ その も の で す . 本 書 で は 数 多く の サブ ルー チン と パタ ー ン ジェ ネ レ ー ク タ ,
サウ ンド ジェ ネ レ ー タ の プロ グラ ム と , それ ら を 使っ て 作っ た ゲー ム を 収載 し て お
し プー ム を 作っ て みよ うと いう 人 , 効率 的 に 作ろ うう と いう 人 に 役立つ 本 で す .
ユー
@ ゲ ー ム ・ プ ログ ラム を 作る 前 に @ バ パパ ターン ・ ジ ェ ネ レー タク
@ プ ログ ラム ・ テ クニ ッ ク あ れこ れ @ UFO と ミサ イル
eHANOI の 供 @ 15 バ ズル
@UFO と レー ザー 砲 @ サ ウン ド ・ ジ ェ ネ レー タ
750 5 章 3 次 元 実用 プロ グラ ム 3 題
3 次 元 高速 描画 バー ジョ ン
(3D WORLD Ver2.1 HMDeedD CDO
この プロ グラ ム は 前 節 の Ver 2 と 併用 し て 使い ます 。Ver 2 で 作成 し 保存 し た 3 次元 デ ー タ
の ディ スク を ,。 こ の プロ グラ ム で 読み 込む と 立体 図 の 高速 描画 が 可能 と な り ま す 。 また 。Ver 2
- 無 い 機能 も 加え て み ま し た 。
(ハイ スピ ー ド バー ジョ ン の 機能 と 特徴 )
(1) マシ ン 語 に よる 高速 描画
(2) 立体 図 を 動か す オ ー ト アニ メー ショ ン
(3) プロ ッ タ へ の 出力
(4) 画面 の 保存
(5) 描画 ステ ッ プ 数 の 拡大 (1200 ステ ッ プ )
以上 , 5 つの 主 な 機能 ・ 特 徴 が な あり ます が 。 3 面 図 モ ー ド の 入力 ルー チン は 省き まし た 。 で き あ
ティ マン 1 っ
7 こ ご で ご ざ Y2o
が
1 議 r374
ビン ペペ ハ
っ た デー タ の 描画 専用 プロ グラ ム と し て 利用
圏 プロ グラ ム の 実行
RUN 直後 は メニ ュー か ら 始 まり ます
Oo メニ ュー の 内 容 は 。
図 5-26 で 示す よう に ,
3D ACTION 。 …………… AC
SAVE 3D DATA …… SA
LOAD 1(NEW) …… バ ドド … L 1
RO 訪 2 人 CDNT)……… こ ムー… L2
V-RAM COPY 0 ………… VC
と な っ て いま す 。V-RAM COPY 以外 は Ver 2 と 同じ で す の で , 前 節 を 参照 し て くだ さい 。
ここ で , いき な り 「AC⑳」 と アク ショ ン モ ー ド を 指定 し て も , デー タ が 入っ て いま せん の て で
モー ド の 移行 は で きま せん 。 ま ず LOAD 1 を 指定 し , デー タ を 読み 込む こと が 先決 で す 。
V-RAM COPY は , 画面 を そっ くり ディ スク に 書き 込む こと を 意味 し , 第 3 章 の 絵 を 描く
ゲロ グラ ム 「 ス ケッ チ ポ ボー ド 2」 で 使用 し た 画面 保存 と 同じ 動作 を 行ない ま
757
ファ イル 名 を 入力 する と , 画面 上 部 か ら 1 ライ ン ず つ デ ィ ス ク に 保存 し ます 。 こ の ディ スク
を ,「 ス ケッ チ ボ ポー ド 2」 プロ グラ ム で 読み 込め ば 画面 の 再生 が で き , その 立体 図 に 色 を 塗っ た
り 。 細 部 の 仕上 げ も 可能 と な り ま す 。
3 TIOHrees 胡 5 乱 30 導 仙 っ 8 『-RMH (On W
L0 和 0 1 ( 代 須 : U LM 2 (60 有 05 12 DE [SEPE8】
( 図 5-26 ハイ スピ ー ド パー ジョ ン の スイ ン メ ニュ ー)
画 アク ショ ン モ ー ド
デー タク の LOAD 後 ,。 メ イン メニ ュー で AC 2 と キー イン する と , この モー ド に 入り ます 。 描
画 シ ルー チン は マシ ン 語 で 組み まし た の で , Ver 2 の ベー シッ ク だ け で 組ん だ も の に 比べ る と 。
その 速度 差 は 歴然 と し た 違い が あり ます 。 ベ ペ ベー シッ ク で は 。 ポツポツ と 描い て いた 立体 図 を ,
マシ ン 語 ,「 ダ ーッ 」 と いう 感じ で 描き 上 げ て し まい ます 。 し か し , 完全 な クリ ッ ピ ング
処理 まで 手 が 回 ら うな か っ た た め , 作画 範囲 を 超え る 線 は 省略 され ます の で , その 点 は ご 容赦 く
だ きい 。 作画 範囲 内 で の 描画 は 何 の 問題 ちあ ありま せん の で , 必要 以上 に 拡大 し な い 使い 方 を お
すす めし ます 。
また 。 マシ ン 語 で 実数 演算 の ルー チン を 組む こと は と て も 大 変 た こと な の で ,F-BASIC の
ROM 内 ルー チン を 使用 し まし た 。F-BASIC (Ver.3) は 。 幸い に マシ ン 語 エン トリ ー の アド レ
ス ま で 同一 で す の で 各 機 種 で 走 ろう せる こと が で きま す 。
TILT や SPIN。 また は 図 の 大 きき 等 を 操作 する キー は Ver 2 と 同じ で す の で 前 節 を 参照 し
2
て くだ さい 。 た だ し , 作画 範囲 は Ver 2 と 異な り , 横 640 ドッ ト を フル に 使 )
計
(一
人
%
1
5 章
』 52 3 次 元 実用 プロ グラ ム 3 順
の た め , 角度 や 大 き さ を 表す 数 値 は 表示 し て いま せん 。
IION ぃ (KEI)
放 IURN ぃ (8 5)
仙 0w【A
UN(4
WINw【4)【6)
IILie(2)(6)
DOet7【5)
KN)【3)
( 図 5-27 ハイ スピ ー ド バー ジ
3
旨 2 が ン が ビ ー ド
744 け |
(RS)
アク ショ ン モ ー ド 時 に [キー を 押す と この モー ド に 入り ます 。 この モー ド で は 立体 図 を コマ
送り 風 に 動か し て 見 る こと が 可能 で す 。 動き を 決め る キー は 。 ア クシ ョ ン モ ー ド の 角度 や 大 き
さ を 設 定 す る キー と 同じ で , キー が 押さ れる と 次 の キー 入力 が ある まで ,。 回 転 ま た は 移動 ・ 拡
大 な どの 動作 を 続け ます 。 回 転 角 度 等 の 単位 は PF キー で 調整 で きま す 。
コマ 送り は ,、 パレット と SCREEN を 併用 し た た め 緑 の 単色 画面 に な り ま す が 。 画面 の 切り
替え は と て も 自然 で 、 ち ら つ き な ど は 起こ り ま せん 。 瞬時 に 次 の 画面 に 変わ る た め , いか に も
動い た と いう 感じ が 味わえ ます 。
回 転 方 向 や 移動 等 は 、 キー 操作 に よっ て いつ で も 変更 可能 で す 。[ 思 バッ クス ペー スキ ー を 押
す と ,。 通常 の アク ショ ン モ ー ド に 復帰 で きま す 。
アニ メー ショ ン 効 果 は ステ ッ プ 数 の 少な い 立 で 多 の
ーー
ーー 近 ロ の 月 日記 っ ミノ と 。 |
y 送 り の 間隔 が 長く な り ま
938100 放 テッ プ
数 の 多い 複 術 な 図形
753
略 プロ ッ タ モー ド
休 図 を プロ ッ ク に 描か せる こと に より , は じ め て 実用 と し て の 価値 が お 生まれ て きま す 。 ド
ッ ト プ リン ク で の ハー ドコ ピー で は , 縦 と 横 の 比率 が 変わ っ て 印字 され る うえ , ドッ ト の 分 解
能 ち 十分 で は あり ませ ん 。 その 点 プ ロッ ク は , 正確 な 描画 は むろ ん で す が , 分 解 能 に 至っ て は
数 干 ド ッ ト メ 数 千 ド ッ ト と いら う 能 力 を 持っ て いま す 。
虹 近 は , プ ロッ ク の 値 彼 もち 安 々 な っ て き て ち おり, 1 台 そ ろ え て お く < と 重宝 する と 思い ます 。 本
書 で 使っ た プロ ッ ク は , ペン の 最少 可動 範囲 が 0.05 ミリ と 0.1 ミリ が 選べ , 約 A 4 サイ ズ ま で
2
( 図 5-28 ブロ ッ ク の 作図 例 )
の 描画 が 可能 な カシ オ の FP-1018 と いう 機種 です 。 こ の プロ ッ ク タク は, プリ ンタ の 機能 ち 兼 ね そ
に プク の W じ ズ
> テア し ゝ 幸 こ
gp 人 人 。 に マー と
さて, プロ ッ タ へ の 出力 で て です が , アク ショ ン モ ー ド 時 に [所 キー を 押す と 作図 を 開始 し ます 。
作図 内 容 は ディ スプ レイ の 画面 と 同じ も の で す 。 テ ン キ ー な ど で 任意 の 向き の 立体 図 を 画面 上
に 高速 で 描か せ , 好み の 向き に な っ た 時 点 て [キー を 利用 し て くだ さい 。 な お , プロ ッ タ に よ
5 章 3 次 元 実用 プロ グラ ム 3 題
る 立体 図 の クリ ッ ピ ング 処理 は 完全 に 行なっ て いま す 。
園 ロー ラン ド D.G 製 プロ ッ タ 使用 時 の 変更 点
現在 で は 手 に 入り に
前 述 の り の プロッタ FP-1018 は , た また ま 筆 者 の 手元 に あっ た も の で す が 、
ヽ い 機種 か も し れ ま せん 。 そ こ で 促 数 ベー ス で 最も 売れ て いる と いわ れる ロー ラン ド 製 の A3 判
リス ト 5-3 の
2070 一 2220 行 を 下記 の リス ト に 改め る こと に より DXY プロ ッ タ が 使用 で きま す 。 委 者 は DX
Y880 で 動作 を 確認 し まし た が , DXY シリ ー ズ な
DXY プロ ッ タ を 使用 する 場合 の 。 ブ ログ ラム 変更 箇所 を つぎ に 示し て お きま す 。
系 提 3 番 h ノ フ リエ ナー ドー ニー ゴー-
吉相 て 6 動 ) く は す で す 。
ご く 基 本 的 な コマ ンド し か 使っ
デー いま ん / の て 全 粒 務 へ の ma7E ュ 穴 中 ) っ レー テラ
て いま せん の で ,。 他 機 種 へ の 改造 も 容易 に で きる
さい 。 な お 。 ドッ | ブリ ンタ を 接続 し て いろ とき
2 ドコ 則 ご が 取れ ます 。
DXY880 フロ ッ タ (ロー ラン ド DG 製 )
207U "米村 玉林 玉林 玉 末 PLOTER ネネ * キ 本 玉 玉 * ネ キ
2080 CLX=3B00 : CLY= CLX:HM=B39/CLX ネ 100: HX=CLX/539 : HY=CLX/1 75
200
2120 FOR 1=1 TO CO
2130 IF WX(1I)=>BDO THEN 2210
っ 1 40
と 150
2150
2170
どら 180
ら 61830
と 200
と と 05
メ =WX( 1 ) /HM: Y=WY (] ) /HM: Z=WZ( 1) /HM: GO0SUB 2240:X1= ロ X:Y1=QY
1F_WX(1-1)>BUU THEN X=(WX(1-1)-1000) /HM ELSE X=WX(1 1 )/HM
Y=WY( 11 ) /HM: Z=WZ ( 11 ) /HM: GO0SUB 2240:X0= ロ X: YU= ロ Y
IF (X0D>0) 二 (X0<CLX) 二 (YU>0D) 二 (YU<CLY) 二 (X1>0D) す (X1<CLX) 士 (Y1>D)
+(Y1 く <CLY) =-B THEN 2200
IF (X0< く 0 AND X1<0) OR
<0) 0R (YO>CLY AND Y1>CLY)
OR (YOS<UD AND Y1
(XD>CLX AND X1>CLX)
THEN BEEP B:BEEP 0D:GOTO 2210
E0SUB 19350:SWAP X0U,X1:SWAP YU,Y1:G0SUB 1950
2 ル 100D ga ビ aa 6.
5 の VHisie ラビ ルーバ Ys
LPRINT*M
LPRINT*D
2210 NEXT 1:LPRINT*H*: <
と 20 GO0SUB 2300:CLX=539: CLY=175: RETURN
らい
圏 マシ ン 語 プロ グラ ム の 入力 法
ハイ スピ ー ド バー ジョ ン は ベー シッ ク と マシ ン 語 か ら な り た っ て いま す 。 リ スト 5-3 の 後半
が マシ ン 語 プロ グラ ム の ダン プリ スト で す 。
グン プリ スト と は , ノ モ リ の 内 容 だ どの アド レス (メモ リ の 番地 ) に 格納 され て いる か を 16
進数 で 書き 考 し た ちの で チ 。 左端 の 4 桁 の 文字 は アド レス を 示し , その アド レス の 内 容 が その
右 に 2 桁 で 表示 され て いま す 。 次 の アド レス の 内 容 は , さら に その 右 に 表示 され て お り , 1 行 で
い
Ng
ユ
い
N
NN
No
os
に
(1
や で
wt
8 アド レス 分 (8 バイ ト ) の スモ
番 右 の 2 桁 の 文字 は チェック サム で ,。 8 バイト を 加算 し て 得 ら れ た 合計 の 下 2 桁 を 表示 し
て お り ,。 正しく 入力 で きた か どう か の チェ ッ ク を 行ない ら ま す 。 チ ェ ッ クサ ム は 入力 する 必要 は
マン ン 語 の } 守 ち 込 み は, 指定 し だ アデ アド レス の メモ リ に 16 進 の 内 容 を 正しく 入力 する わけ で す
が 。 普通 は ベー シッ ク の コマ ンド レベ ル か ろ で は 入力 で きま せん 。 マ シン 語 モ ニタ を 起動 する
提 マン シン 語 モ ニタ
MION
と キー イン する ろ る と, マシン 語 モ ニタ が 起動 し ます 。 量 0 ーー マシ ン 語 を &H 6900 番
地 以降 に 諾 開 ミ せ て いま す の で , 打ち 込む 前 に その アド レス 近辺 を の ぞい て み ま し ょ う 。
D6900 2
よう に &H 6900 番地 か ら 64 バイ ト 分 の メモ リ の 内 容 が 表示
リ に は 何 も 入 っ て いな いた め ,。 すべ て 00 の 表示 に な っ て い ゆい
ト 5-3 の ダン プリ スト の 内 容 に 変え て いか な けれ ば な り ま せん 。
756 5 学 ー9. 次 光 実 用 グロ グラ ム 3 項 一 ーーー ジ ポ バ 上 バ バ パ ビ 玉 六 テ ッ ス 有 プ の て ーーー 一
の 表示 に な り 。 デ ー タ を 入力 する こと が 可能 に な り ま す 。 た と えば ここ で ,。12 ざと キー イン す
る と
6900 00 一 12
6901 00 一 計
この よう に &H 6900 番地 に は &H 12 が 書き 込ま れる と と も に 、 次 の 番地 &H 6901 番地 の 入
力 待ち と な り ま す 。 マシ ン 語 入力 は この 作業 を 繰り 返す わけ で す が , 入力 を 終了 し た いと き は ,
16 進 以外 の キー を 打 て ば 入力 コマ ンド M か ら 抜 け だ せま す 。
こ で 再度 ,
D6900 9
と キー イン する と ,。M コマ ンド で 打ち 込ん だ 内 容 の メモ リ ダ ン プ が 表示 され , 入力 し た デー
以上 の 入力 法 は 、。 マシ ン 語 モニ タ の M コマ ンド を 使用 する 最も 手軽 な 手段 で す が , チェ ッ
クサ ム の 確認 まで は で きま せん 。 打 ち 込 み に 自 信 お が ある の で し た ら , この 方 法 で も 一 向 に か ま
いま せん が , 市 販 の マシ ン 語 入力 ユー ティ リティ を 利用 する の も ひと つの 方 法 で す 。 ユー ティ
リティ は , 入力 し や すい よう に 工夫 され て いて ,。16 進 の AF も テン キー 部 で 入力 で き , か つ
1 行 入 力 す る と チェ ッ ク サ ム の 表示 も し て くれ ます 。
で の 入力 は 。 打 ち 込 ん だ デー タ が 正しい か どう か を ダン プリ スト と 見 比べ て ,
テ ュ リ オ うっ リ ギ テ ヽ に チュ ーー ーー こ プ ュ ナ 寺 ォ デ レス ー に
な けれ ば な ら な い の で す が 。 チェッ クサ ム が あれ ば ,。 それ を 見 る だ (
GWSSSSS3
SSSS る る 88
NGSSSSSS
Ett て 11111
Ft て tttt1]
SS8 る る 8888
SSSS88888
SSS8 る 88 る 8
Ftt tt1111
る 3333355
SS858356 WSSS558S
し )
.@@
@@
@@
@@
@@
69
1 し. コ
3 人
69
7F
@@
6 る
@ き
合
7
SS5838855 放
8158SSS よ
75/
イ < - 確 HI カカ : 串 角 と な り ま 9999 7 (あの 5 5 ツク クサ ム の 人 名 合致 が 100 % の 正しき さ 3 を 証明 する と も 限ら
な い 点 は 含ん を で お いて だ る の 。
入力 を 終え た ら ,
SAVEM "MSUB 639"。&H 6900, &H6C76, &H6900
と し て , かならず SAVE し て お く と と ち も に , ベー シッ ク プ ログ ラム と 合わ せ て 。 もう 1 枚 コ ピ
ー を 取っ て お いて くだ さゆ
ベー シッ ク プ ログ を RUN る せろ と , この マシ ン 語 は 自動 的 に LOAD され , アク ショ
ン モ ー ド 時 に 働き 始め ます が , 1 字 で ち 間 大 えろ る と 雄 走 し , ディ スク の 破壊 に ち つ な が る 可能 性
が あり ます 。
マシ ン 語 の ミス は , エラ ー メ ッ セ ー ジ も 出る ず に , いき な り 雄 走 し 始め メモ リ の 内 容 を メチ
ャ プチ ャ に し て し まう 仕 末 に 負 を な いち も の で すか ら 。 デ バグ は 細心 の 注意 を 払い , 充分 に 行 な
ーー ノ ナ ェ タン
0 WC ご し うぅ 。
較 ハイ スピ ー ド バー ジョ ン の 構成
( 図 5-29) ハイ スピ ー ド バー ジョ ング の 構成
7 ルー トー ホネ ーー か 型 計 Ne
LLIUIL_I 症 1 に -
ーFHHH 一 本 1 1
要り (|
0 0
(写真 5-38<40 家 の 間 取り の 描画 例 )
759
1]
(リス ト 5 て 3 3D WORLD ハイ スピ ー ド バー ジョ ン )
[ File Nane : DM/HS ]
8 に 1 さ D M U R L D ver2.1
” 。 HiBpeed Drawing ( じ )G. Tajima
CLEAR 5 ,&H6 ヨ FF: MIDTH ヨウ 2 の 9: CONS ロ LE の 。1 昌
DINM EX(249) : DM ま =SPACE ま (24 )
FOR 1= ロ TU 17:READ PD:PUKE &H6D4+1 。PD:NEXT
IF PEEK(&H69 さ の) < >&HBE AND PEEK(&H69 ミ B)<>&H5 THEN LOADNM"
MSUB6 さ 39"
BUSUB 1 さ 7g
CLS: CLX=6 さ 9: CLY=17: K 人 = ニコ: に アニ .2: CX ニ さ 22: CY=B ヨ
UN KEY(6) GUSUB 227 の 9: UN KEY(9) GUSUB つう 7 ウェ DN KEY(4) GOSU
E 2 さ 9g
DN KEY(19) GUSUB 231 の :UN KEY( 呈 ) BUSUE 234 の :KEY(1 ) UN
KEY (6) UN: =1 : MC=: BDTU 114 の
/ 共 基 天 天天 天天 天天 基 区 MAQTIN MENU 基 基 基 基 基 基 天天 天天 天天 基
GUSUB 13Bg:LINE (の 。17) 一 (639 。 17 日 ) 。PSET 。 1
DN ERRDR BODTU 1 さ 1g
COLUR 7:LOCATE の 。18:PRINT" さ D ACTIDN・・-・・・ aC"
LUCATE 25,1H:PRINT "SAVE さ D DATA・・・ Ga":
LUCRTE の @。19:PRINT"LUAD 1 (NEM)・-・ L1":
LUCATE 25。19:PRINT"LUAD 2 (CUNT)・・ L2":
LUCATE 59,18:PRINT"V-RQAM CUPY・-・・・ VC":
LOCATE 5 ,19:PRINT"END・・-E":
LOCATE 62。19:PRINT"[ STEP: "CO "]" ュ
BUSUE 2 る の
LOCATE 75。19: INPUT D$
IF D を ="AC" THEN BUSUB 1 さ 99
IF D$="SA" THEN GBDUSUB 245g
IF D も ="L1" THEN GBHSUB 255 の
IF D ま ="L つ " THEN GUSUB 257 の
TF D 多 ="VC" THEN GUSUB 269 の
ITF D$="E" THEN FDR KY=1 TU 1g:EEY(KY) ロ FF:NEXT:MIDTHB ヨ の :E
CLS: BEEP : jF ERR=9 THEN PRINT "コレ イミ ョ ウ テ "ー タ ハバ バイ リマ セン " ュ ェ ビ ロ = ピロ
ロー1: GUHTO 136@
IF
IF
242 デ アル
ERRK ニ 6 う
IF ERKK ニ 64
IF ERK= ら の
PRTHNT"
22
DTIH4 MX(12 の の )
「 Filg Mamg : 23D
PRKTINT "ファ
リフ ブフ 。
モト “
ぅ うり 7 (12 の の ) 。
PRINT" テ ^
ィ メ フ カカ ~ UFF テ “ ズ リュ ョ ュ ミ BUT ロ 1 ミ 6g mn
イル カ “
PRKTINT "ファ イル ノ ニシ ド ュ ウト ウロ フー テス リュ ュ BHTU 1 テ うら
PRKTINT" テ ーー タク ヲ LOUAD シテ ウフ "サイ リュ ェ BUTH 1 ミ 6g
ミリ カリ ッ マセ フリ" ョ ュ ミ BUTH 136g
ErrorNo=" ERR: CLOSE : RESUME 114
罰 Z (12 の の) : KRETURN
FUR ドニ 18 TU 1 ワ 9:LDCaTE の , ビ :PRINT BPRCE も (79)
: NEXT: RETURN
北 を. 六 却 : 芝 / 肖 寺 21D 練 SD 還 EE そそ テテ テテ そそ:
IF CU22 THEHN EERKUE の
EEY(1 の ) ON:
EEY (55)
Di: EEY(9) 0N: EEY(4) UN
BUSUB 2 う 3 の の :LTINE (の 17) 一 (6 う 39 。 17d) 。PSET 。 の
LOUCATE の ,18:FRKINT
N・・・[4]E6]
PRKINT
了 ・・・[2][B]
240 。 1 98) 。P
全 じ T
E メ PaND・・・[ フ 7][ ラ ]
" RETURKN・・・FB 5]
REDUGE・・・[ 1 コラ]
SET ,4
TDN・・・[RET] 人 UTU・・・[aa]
[PF91LPF 1 の ]"
PLUT・・・[P] TIL
[PF4JLPF5]"』 LINE (17) 一 (
SFPI
じ メ ニラ の : じ Y ニ B ロ : DM ニ 1 の : D=15 の の : 5 ビニ ー1 . ら 7 の 8 : SD=1 579: 1= 紀 IN (SC
) : じ 1= ニ CDS (5
52= ニ ら TN (SD )
GUSUE 178 の
ビ )
: じ 2 ニ ビ 0S (SD )
1 に 多 三 INEEY も = TFT に 多 ニ "" イ HEN 148 の
THEN GUSUB 167 の
TF に も 三 "人 n"
TF TI に に 凶 三 "日 "
TF TK も = ニ じ HK
Y(4) DFF = G0
TF IT に 和 ま ニ " ビ ピリ
TF TK 生 = ニ じ HR 和 (1 マ )
THEN HARDC1
も (SH の 8 )
TU 114g
THEN じ EY(19) UFF EEY ( 己 ) DFF: EEY (9) DFF EE
THEN BUSUB 2 の 7
THEN BUSUB 1799:GUTU 148 の 9
全 生 [に 生 : BUSUE 1549: GUDTU 148 の
も ー" さ "
も ー リ " ワ "
ct リル ムル
生 "1 "
F AA$ も ="6"
="4"
Q$*=" ヨ "
も ー" つ "
介 生 ニー じ HR も ( 多 日 1 じ )
人 生ま = じ HR 和 も (H1D)
折 和 ま ニ じ HR 和 ま (H1E )
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
D=D+D テ に Z
D=DーD テ に KKZ
ご じ ニ ラビ ナラ 。
ら じ = ニ 5 ピー マラ 。
ど D=D+ る 。
ら 5D= ニ SD 一 う <。
0MM= ニ UNMT+UNM テ に Z
0= ロ UNM テ EZ
14159/ に = 1= ニ 5TN (SC) : じ 1= じ UBS ( じ )
14159/ に Ai51= ニ STIN(SC) : じ 1= じ US (SC)
1415 ワ / ビ に コロ 2 ニラ IN(GD) : ビ 2 ニ ビ ロ DS (5D)
14159/ に Aa 52= ニ 8IN(SD ) : C2= ニ CUS (SD )
THEN CX= ニ ビ メ X+49
THEN CX= ニ ビ メー4 の
THEN CY= ビ Yー2
IF まま = じ CHR ま (&H1F )
RETURKN
THEN _CY=CY+2
PURE Ho6C6 。 1 : BUSUB 1 の : SCREEN 1 。1:CULUR=( 1 。4) : SCREEN 2
1
9
LINE (1 。1 ) (53 日 。174 )
FORE
BUTU 167@g
, PSET , 9 。BF
BUSUB 174 の :TF 1T ま =CHR$(%HOB)
[も =INEKEY 和 も =: TF エ 和 ま ニ リリ THEN 1769@
人 本 ニ [ 生 = TF [ 生 = ニ じ HR 和 (HO の )
BUSUE 1549: RETURN
FUR T= ウ TU 7:COLUR=【( 1 。 1 ) : NEXT : SCREEN7 。7 ェ FOOK
UEB 17 ヨ 9: RETURN
"区 北 天 天 天天 天天 天天 ツ 1 巳 9 ロビ に
LINE( 1 ,1 ) (63 日 。 174 )
に 1
し
PUREE HG691。VARPTR(UX ( 1 ) ) \25
MD 256
PUKE SH6914』VaRPTR (MY( 1 ) ) \25 コ
MOD 286
THEN_RETURN
エエ テ エ テテ マエ:
sFSET 。9。BF:LINE (の の, の ) 一 (639 ,。 1 7)
6: PUKE
6: PUEE
FURE &H6916』VRRPTR(MZ (1 ) ) \256 : PU に KE
MOUD 2S ら 56
POUKE SH69184VaARFTR(CX )
MOUD 2
PURKE &H691Q。VaRPTR(CY )
IMUD 6
PUKE H691C。VaRPTR (CO )
MOUD 2556
PUEE SH691E 。VQRPTR (NH)
MOUD 25 る
POUKE Ho929 。VaRFTKR (D )
IOD 2 る
POUEE SH69S2 。 MARKPTKR(G1 )
MOUD 256
FUEE を H6924 。VaRFTRK(S2)
MDD 2 ご 6
PUEE %&H6926 VaRKPTR(C1 )
\ ぞ らら 6: PUFEE
\ ギ 2 ご 6: PUEE
\ ギ 56: PUEE
\256: PUKE
\ ぞ 6: PUEE
\2 ロ 6: PUEKE
\ ぞ コ ら 6 : FUKE
\2 ら 56: PUEE
THEN 177@
&H6C6a ,。 己 : GUSUE 189 の の: SCREEN 2
SCREEN 1 2sLINE(1 1 ) 一 (6 。 174)
GOSUE 174 の : IF 1 生 ニ CHR* (HB)
2 。2: CHLUR=(2。4 )
,PSET 、 。 BF
THEN 177g
%H6C6a , さ =: GBDS
,PSET 。7
&H691 さ 。VARPTR (MX (1 ) )
&H69155。VaARPTR (MY(1 ) )
&H6917 。VaRPTRK(MZ (1 ) )
&H6919 。VARPTRK (CX )
&H691E,VARPTR (CY )
gH691D 。VaRPTR (CD)
&H691F 。VARPTR (NM)
&H6921 。VARPTR (D )
&H692 く 。VaRPTR (1 )
H6925 。 VaRPTR (SG2 )
%&H6927 。VaRKPTR(C1 )
763
[ Fiig Magg ! 20/H5 }
IMUD 256
POUFEE を H6928 , ソ KRPTR(C2 ) \2 コ 6: PUEE &H6929 VARKPTR(C2)
IDUD 256
EXEC 多 昌 6 ワラ の
GU5UB ラウ の の : REETURN
7 基 基 基 基 基 基 基 基 区 じ L し TP ピピ TNG 区 区 区 共 区 基 区 基 基
IF メ 12Z の THEN メメ ニ の =: GUTD 199 の
IF X1 > じ LX THEN X メ ニ じ LX: GUTU 199 の
メメ ニ メ 1
IF X1 ニ X の ウ の THE ト | YY ニテ Y1 : GUTD2 の る の
YY ニテ Y 1 一 (1 一 YY の) ※( メ 1 一 XX) / ( メ Z1 一 X の )
TF YY の ウ の THEN YY= ニ の: GBDTU 294 の
IF YY> ビ LY THEN YY= ビ LY: GUTU2 の 4 の
X メ 1 ニニ XX:Y1 ニ = ニ YY: GUTU 2 の 969
ITF Y1 ニ Y の THEN メメ ニ メ 1 : DUT ロ 2 の 9 うろ の ウ
メメ ニ メ 1 一 (X1 一 X ウ ) %(Y1 一 YY) / (Y1-ーY の ) : BUTU 2 る 3 の
KETURN
/ 共著 区 基 基 基 基 区 区 PL し ロビ R 区 区 区 区 区 区 区 区
じ L メ ニ 1 ワ 2 ウ = CLY=CL X = 日 M ニ 6 ら う ワ / じ LX テ 1 の の : HX ニ じ LX/6 う 9:』HY= じ PLX/ 175
LPRKTINT CHR 和 も (&H1C) 』 CHR も (&H2 ) : "ーーーーーーーーーー 一 raph1C mOdg
LPRKINT "PU" ョ 3 の" リョ じ ビ LY= "一 ーーーーーーーーーーーーーーーーー 一 一 上 rin
に PRKINTIANSOa TO TIEX ィ は sg 三 RY3 補 ニー ジ ニラ quad (box )
FOUR TL=1 TO CO
IF MX( エ ) ニ >Bg9 THEN 221 の
メニ MMX( エ ) /HNM: Y= ニ MY ( エ ) /HM: 7 アニ Z ( エ ) /HM: BUSUB 224 の : X1= ニ XY1=DY
TF MX( エ ー1 ) > ヨウ の THEN メニ (MX( エ ー1 ) 一 1 の 9 の) /HM ELSE X ニ MMX( エ ー1 ) / 日
NM
Y ニ MY て (エー1 ) /HN : Z ニ MMZ (エー1 ) /HM: BDSGUB 224 の : X ロ = ニ ロ X = Y ウ =DY
TF (X の > の 9)+(Xg く CELX) 二 (Y の > の )+(Yg<CELY) す (X1 > の)+(X1<ZCLX) す (Y1 > の
) 二 (Y1 く CLY) = ニー THEN22g の
IF (XX の _ AND X1 ぶ @) UK (Xg>CLX AND X1:CLX) OR (Y の < の AND Y
1 く g) DUR (Yg>CLY aND Y1>CLY) THEN BEEP BE:BEEP 9 の:GUTU 2219
BUSUE 1969:GMQP Xg。X1:SMQAP Yg。Y1 : BUSUE 1969
EPRTNI SD の 3X の 3 リリ ューY ロ 1 sc ご 三 dr2ayi
NEXT TsLPRTNTPMNP の "MrGEBY タ 4 ココ ーー ラー ニー ニー ニニ ニー ニュ mOV
GUGUB 2 う の の = CLX ニ 6 る 9:CLY= ニ 1 75 弓 : RETURN
Z ビ ニーロ MI※H ロ メーX% じ 1 メーY テ 選 1 *# 己 フー アビ 2 = ロ X ニ (DXHX※ (一 X テ 1+Y テ ※ じ 1 ) /Z ビ )
が Obt 癌 mdtX20 身 用 2 ログ ツジ : バ 9)hーーーーーーーーーーーーーーーーーーーーーーーー デ ーー デー で
5
Rase : 3⑳ 有 HHS
CXXHX: BY ニ CYXHYー(DXHX テ (一 X# じ 1# じ デーYK 避 1% じ ロ +ZXGS) /ZC) : RETURN
* 共 革 天天 天天 BEEF GTCH 天天
H= ニ ロナ 1 = TF ロニ 2 THEN ロニ
RE TURN
BEEF_ BEB:FUR BT=g TU SiNEXT: EEEP ⑦:RETURN
"区 天 贅 区 NGLE 。 GCALE 。 光 区 区 天 基 区
KA= ド 人 R/ 人 =TF ESRE。1 THEN ドニ 1
BUGUB で そら 6 の 9: RETURN
ドニ ER*s IF ド RE12B THEN ドロ =12
GUGSUB ご う 6 ウ : RETURN
全 N ミ モミ 。 14159/ ド R/ (さき さ 。 14159/ 1d2) : RETURN
に Z ニ ビア ※ や ュ TF KZ:1 THEN ド Z テ =.
GUSUBE 人 241:RETURN
EZ= ニ EZ/B ェ ITF EZ ミニ 1 THEN ド Z ニ . 1
GUSUE 241:RETURKN
GL= ニ に Z テ 1 (2: RETUKRNI
LUCATE 5B。17:PRINT "BUSY ! ! "9::KETURN
^ 共 基 共 天天 基 天 区 くさ D DQTR SQAVE ※※※※ せ 区 共 天天 天天 基
GUSUB 138g:COLUR LUCaTE の g。1 ヨ : INPUT "FILE NAME" TITLE 和 ま : 1
F LEN(TITLE ま ) :B THEN EEEF: BHTU 2469
TITLE も =TTTLE 和 ま +5GPACE 和 まま ( ヨ LEN (TITLE も ) ) =:LUCATE 25。1 昌 :PRKINT "KR
日 DJDES RT?
LOCATE 59.18:FRINT "HIT RETURN EEY":COULUR 2
BEEF の : じ 和 ま = ニ INEEY も =: LUCATE 19:PRINT"[ DISE <ーーー DaTA _]"s
FUR BE=g9 TO gi:NEXT: BEEF 1: 1F じ 和 も マテ CHR 和 も (1 用 ) THEN LOUCATE
の ,19:PRKINT" り s :GDTU 2499 の
) LUEATE 59。18:PRINT" "・: BEEP の :UPEN"OU" 。 提 1 TI
TL ビ $ も
PRINT 提 14TITLE ま :FRINT 持 1 、CH:FUR S=1 TU _ CO:FRINT 井 1 。MX (5)
PRENT せ 1 MY(G) : FRINT 間 1 。 軸 Z( 己 ) :LHCATE 5 の g。19:PRKTINT siNEXT
じ LUDSE 提 1:RETURN
" 基 基 穫 攻 基 子 芝 芝 区 し 介 如 D 1 ※※ 贅 区 区 天天
じ ロ ニー9 : 1 ニモ じ 0 USUB で ら 629: KETURN
" 基 区 共 基 芝 基 基子 し ロ D つ 甘え 基 革 基 天 基 基 芝
1= ニ ピロ : GOGUE 26 の の 9: KETURN
765
GUSUB 138 の :CUOLUR 5:LUCATE の ,18:PRINT"READY D ES5K !"gLO
CaTE 25。18: TMPUT"FILE NAME"』 TITLE も : IF LEN(TITLE も ) 2 ロ THEN
BEEP: GUTU 26 の の
TITLE 和 も ニ 了 [ITLE 称す PaCE 多 (ローLEN(TITLE も ) ) : LUCATE 59,1 コ :PKINT"H
IT RETURHN EEY リ ュ
HEEP の : じ あ = ニ TNEEY イ 多 s LUCATE の ,19:PRINT"[ DIBE -ー- テ > DATA ]"』
FUR ロビ = の 「 リ コウ:NHEXTzBEEP 1: 1TF じ 和 ま <> CHR も (1 る ) THEN LOCATE
の 9,19:PKINT" "s 5 BUTOU 262 の
LUCTE 59,18:PEINT" "j: BEEP の :UPEN" エリ 。 拉 1,T エ
TLE 条
INPUT 提 1 TITLE 多 =LUCTE 25,19:PRKINT "FoOundi "TITTLE も 』: INPUT
#1 。 じ CT: じ CU= ニ じ U+ ナ ビ T = FOUR し ニラ エ +1 TU CU: INPUT#1 。MX (L)
ITNPUT 持 1 。M7( し ) ETNPUT 提 1 MMZ(L) :LUCATE 59。19:PRINT し Li:NEXT し
CLOSE #1: RETURN
^ 基 基 基 天天 基 基 基 基 基 基 攻 芝 芝 ソー ドド 全 内 じ ロ UPY co18S 仙 E 聞 テテ テテ テテ テテ テ そ そそ テテ そそ スコ
GODSUB 1 る 8g:LHCaTE の ,。18
INPUT "SAVE/FILE NaME " ェ FIN を
DPEN" ロ " 。 韻 1 。 FIN
FOUR Y= の TU 175:LUCATE 9,19:PRINT"1 ineNo=" ョ Ys
GET@A(,Y) 一 (6 ろ 9 。Y) 。EZ 。B
PUEE &H6D9 の VQAKPTR (EZ( の 9) ) 壮 256
PUKE &H6Dg1 ,VaRPTR (EZ( の 9) ) MDD 256
PUEKE Ho6D92 , FEE に (VARPTR (DM も ) +1 )
PUEE &H6D の 3 。PEE に (VAKPTE (DM も ) オフ )
DQTA 198,249 , 199, 19, の 。16,19 の 9,1 の 9,2,166
DATA 128。167 。169」192。1 ,3B。24 昌 ,57
766 5 章 3 次 元 実用 プロ グラ ム 3 題
3D WORLD ハイ スピ ー ド バー ジョ ン の マシ ン 語 ブロ グラ ム
add + の +1 + つ + マ +4 +5 +6 +7 5um
69 の の の の の の の の の の の の の の の の の 9 : の の 6nCO BE 69 B4 BD HB こ の 1 BE 69 =73
69 の B の の の の の の の の の 9 の の の 9 : の 9 6nCB SE BD B2 さ 4 BE 69 AB BD :BD
691 の の の の の の の の の の の 9 の 9 の の : の の 6QD の 。 HB っ ユ 7 BE 69 9C HBD B う の 1】 :1E
691 日 の OO の の の の の の の 9 の の の の : の の 6QD ヨ B BD BED C9 BE 69 26 BD B :FD
ら 92 の の の 9 の の の の の の 9 の の の 9 の の : の 9 6nE の EE BE 69 24 BDD BO EE BE :52
6928H QO の の の 9 の の の 9 の の の の の の : の 9 6nEB 69 9 の BD BS さ 7 BE 69 2 s69
69 こ の 。 BE 69 1C BD BS の 1 BD 90 : の B 6nFO BD BH> の 1 BRD BD C9 BE 69 sDB
693 晶 BF 6nFB 24 HBD
6949 SC
6B9 さ 7
694 日 BE 69 16 BF 69 SE 7F 69 :^aB 6BOB BE 69 QH BD BS3 の 1 BD BD BA
6959 SB 7F 69 59 29 64 の 9 の の :1D 6H1 の 9 C9 BE 69 2H BD BO EE BE : さ 1
675H の の の の の の の の の の の の の の の =: の 9 6R1B 69 96 BD QAF 1 BE 69 9 の : く CC
ら 6969 69 62 の 9 の 9 の 9 69 68B :9C 6B2O BD AF 1 BE 69 1E BD AF : う 7
96H の の の 9 9 の 69 6E の の の の :DZ 6RZB 1 HE 69 6 ED BS 37 BE :@6
697 の 69 74 7F 66 24 DD :CS る RE この 9 69 9C BEBD B く の 1 BD BD C9 :B9
6978
6E っ 8
に と ん に ! り 6EB49
6?BB OO 9 69 BC の の の 9 の の の の :F5 6B4H B こ 9@1 BE 69 26 BD B の EE sz:5C
679 ロ 69 92 の の の の 9 の 9 69 98 :FC 6ERSO EE 69 9 BD QAF 1 BE 69 :64
6998 OO の の の の 69 9E の の :9Z 6ESB 20 BEBD BO EE BE 69 9 の BD :EF
ら 69 gO 9 69 An4 99 の の 9 g9 :@9D 6B69 B こ さく Z7 BE 69 69 BD ES の 1 :E2
67AB 69 QQ の の 9 の 9 の 9 69 BO :2 6E6B BE 69 99 BD B2 34 BE 69 =:B1
ら 69BO BA 7Q gg の 9 69 B6 BZ7 4 :F2 6RB7Z@ _ 18 BD AF 1 BE 6 66 BD >:EB
67B
6E78
67CO る Eo9
co7CH 22 の 6 BE 69 SQ BD BS :B9 ら 6EBB EE BE 69 2 BD B の EE BE =: ら 56
ら 69D9 g1 BD 9 95 BC の ミ 2 の 1 の =:1C 6E9O 69 99@ ED B= さ 37 BE 69 2 =:69
67D ヨ 2E @@ 7 BE 69 SQ BD B3 :97 6E9B ED B< 91 BD BD C9 BE 69 :DB
67EO @1 17 gO B2 BE 69 66 BD :1i4 6BQO 22 BD EO EE BE 69 2 BD :8B9
65E 日 さ 1 BE 69 4 BD B3 37 :@6 6EA ヨ BEO EE BE 69 96 BD BS 3Z =: の 2
69FO BE 69 6C BD BS @1 BE 69 :2 6EEO EE 69 QB BD B3 の @1 BE 69 =:6Z
65FH Ba BD B っ 37 FC 69 Sn BS :7 さ 6PEBB 24 BD BEO EE BE 69 96 BD :F
6Q99 9QO 4 FD 69 Sa FC 6 SC =:B5 ら 6ECO QF 1n BE 69 9 ED AF 1 : の 6
6AOB ヨミ g9@ 4 FD 69 5C FC 69 :@E 6BCB BE 69 2 BD B の EE BE 69 =:C9
6a19 ら 5 さ ゥ 9 94 FD 69 SE 17 :Cg ら SBD ロ 99 ED B< っ 7 BE 69 6 の BD =:7B
6R1H 9 58 BE 69 66 BD BS @1 :56 6BD8 っ ら 1 BE 69 9 BD B2 34 =: の E
ら a2Q EE 69 78 BD BS 37 EE 69 =:6D 6EEO BE 69 72 BD BO EE BE 69 =:1B
ら 6Q2 ヨ 6C BD B3 g1 BE 69 7E BD : さ SF 6BEB 1 ED ム F 11 BE 6 6C BD :EZ
6 ふ 9 = ミユ 7 FC 69 5Q CS gg @8B =:74 6BFO っ っ 7 うっ 9 BE 69 7 BD B3 :32
6 FD 69 SaAFCco95 っ う gg :44 6BFB 1 BD 9 5 PF 6C 6D BE :B く
ら 6a49 8FD 69 SC FC 69 SE CS 59 6COO 69 7E PD B っ の 1 BD 9 の 5 :B4
6R4 日 g@ 9 FD 69 5E 17 @1 の < =: 昌 7 6C の 8 EF 6C 6F PE 69 4 BD B3 :B5
ら RS9 16 FF 67 FC 69 5A C ミ @ :FE 6C1O の 1 BD 9 の 5 PBF 6C 71 BE :BZ
665 ヨ コ 94 FD 69 5 FC 69 5 っ :48 6C1B 69 Bn BD B っ 2 の 1 BD 9 の 5 :C の
ら Q69 9 94 FD 69 5C FC 69 SE :8B9 6C29 BF 6C 7 マラ BE 6C 6D BC の の =:C1
ら ロ 6 日 こ g の 9 @ ら 4 FD 69 SE 16 FF :a9 6C2 ヨ ウ ウ 2D 4 BC の 2 7F 2E 45 :FZ
ら 6Q79G 49 29 EE 69 5 BD ES @1 :74 6C こ 9 BE 6C 6F 8C @9 99 2D うぅ D >:BF
6a7B BED 9 5 8C @> 2 2E @B =:41 6C2H BC gg aF 2E こ B BE 6C 71 : っ
ら 889 BE 69 5 BD BB? 91 29 の CE =:2 6C49 ヨ C @O @O 2D この @ 8C の 2 7F =:F6
6888 BE 6 aE BD BE っ @1 BE 69 =:oD 6C4B 2E 2B BE 6C 7 うる BC の の の 9 :B2
ら 899 5a BD aF 11 2 の 9 BE 69 =:1E 6CSO 2D 2 く < 8C @9 AF 2E 1E BE :65
ら の 9 ワ 8 9 ヒ BD BE マ う ラフ 7 BE 69 B4 BD :DB 6CSB 6C SF BD の @ の DE 2 の 16 1 の :aC
ら ム ng こさ 91 BE 67 9C BD E2 34 :1a 6 じ 6 ワ 9 @9 6C 67 GO CE の 9 の 9 @ の :E1
6AA ヨ BE 69 9 ヒ BD B う マフ 7 BE 69 :91 6C6B の の 16 の くっ の の の 2 の 9 の の @ の :1B
ら 全 BE の B4 BD BE こ 91 BE 69 5C BD >:65 ら C79 9 OO OO の 9 の 9 <9 9 の 9 : こ 9
1 に 】 2 う 4 BE 69 A2 BD B? う 7 =:S56 6C7 ヨ B の OO OO の の の の の の の の の : の 9
76/
| 立体 図 の 陰線 消 法 と ペイ ント 法 |
1
3D WORLD 2 と その ハイ スピ ー ド バー ジョ ン お よび 第 3 章 の スケ ッ チ ポー ド 2 プロ グラ
ム は , 保存 し た デー ク の や り と り が 可能 で す 。 この 3 つの プロ グラ ム を 利用 する こと に より ,
際 影 を つけ た 立体 囚 の 作成 が で きま ます 。
( ハイ スピ ビー ド バ ー ジ ョ ン (3DW/HS) の 起動 )
3D WORLD2(3DWLD2) の 起動
町 且 … 貸 ) 重 …0 lrrr(OKGJ DPWS--DXD 33 叶
LO 人 Pe TMPOCD RONE…[DCJ [OU
立体 図 の 高速 措 画
(デー タク の 読み 込み 後 AC 選 )
ざさ 出 GO
3DWLD2。 3DW HS。 SKETCH は フロ グラ ム の ファ イル 名
768 5 竜 3 次 元 実用 プロ グラ ム 3 題
次 に その 手順 を 紹介 し ます
この 方 法 で 作成 し た 立体 図 を いく つか ディ スク に 保存 し て お
く と 。 わ か りや すい 立体 図 の 提
供 が す 早 く 行 な ぇ , 建築 や デザ イン の プレ ゼン テー ショ ン に は 最適 で す 。
「 プラ リー と し て 保存 する の
また さま ざま な 大 き さ や 角度 か ら の 立体 図 を 作成 し 。 個人 の ライ
も し れ ま せん 。 手間 を か けれ ば その 分 だ け 良 い 画質 が 但 ら れ ま す 。
も 楽し いこ と か ワイ ヤー フ
レー ム の 立体 図 に あき た と き は , この 方 法 を 試し て くだ さ
ヽ いい 。
(スケッチ ポー ド (SKETCH) の 起動
ー ソ ル で な ぞ る よう に 白 な ど
ほ い 場合 は ,。 この 処理
ベイ ント の 実行
3 次 元 デ ー タ サン プル |
3D WORLD Ver2 で 使用 し レ し た モデ ル
の 3 次 元 デ ー ク を 以下 に 収載 し まし た 。 こ の
リ 還 は メス イン シン ーー の (MS
DATA) で 打ち 出し た も の で , 左端 か ら ス テ
ッ プ No (これ は 打ち 込む 必要 は あり ませ
ん ),[*j PENSET, DRAW の 選択 。X 座
標 。 Y 座標 。Z 座 標 の
NO- ( X ) 4 Yic2 ( .Z。4
1 L%] ー16.9 1 の 9.9 9
2 E/] ー16. の っ 9.9 8.@
さ 上 #] 16.9 19.9 日. の
人 4 上 /] 16。.9 うさ 9- 9 8-9g
に [*] 16.9 19.9 8.9
に ) L/1 ー16.9 1 の 9.9 8.9
フ [ テ %] 16.9 さ 9. g -9
8 上 /1 ー16。@ さ 9-9 8.9
9 L*] ー4 9 19.9 ー6- 9
1 の L/] ー4 。g 2.9 2.9
1 1 EL/] ー4 9 19. の 9
12 上 *] 4.9 19.9 ー6。g
さ 上 / ュ 4.9 2.g 2.9
14 L/] 4.9 19.g 日.9
15 L\] 4.g 19.9 ー6- 9
16 E/] ー4 9 19.9 ー6- 9
17 L\] 4.9 2.9 2.9
18 上 /] ー4 。g 2.g 2.9
19 [#] 4.9 19.9 8.9
シン 上 /] ー4 9g 19.9 .9
21 L#] 4.9 19.9 ヨ .9
ス っ 2 上 /] 4.9 ー9g. の g.9
つく L/] 4.9 1 の 9. の ー6.9
2 っ 4 上 /] 4.g 1g. の に 軸 り
2 [#] ー4 9 19.9 日 -g
26 F/1 ー4 9 ー59g. の g. の 9
2 フ E/] ー4 9 1 の 9.9 ー6.9
1
テ ビ ト ) ト ) |!
ー ト ) ト )
QmQOQOOQQQOQOO
QQGQQQGQQGQGQQ
1 NN Il 1NDNI
ょ CQQpQcQQpQQQQmOo ひ OoQmorummoQmo
iFPIEEH
QhDQGQGQGQNDQQGQGQQGQGQGQGQGQGQGQGQGQGQGQGQGQGQQ
ーー ゃ
QO い ひら らい DNー 妥
f
0
B の g.9
B の - の ウ
B9. の
の. の
1 の .9
18. の
18. の
1 の . の
1 日 . の
の. の
18.9
ヨウ . の
呈 都 心 の 高層 ビル 群
( X )
ー199。 の
ー49。 の
ー49. の
ー199.g
ー1 ロ gg. の
ー さ 9 。 9
さ g。 9
さ の 9
ー さ の 。 9
ー さ 9。 9
49.9g
199.9
199.9
49.9
4g.9
ー199.9
( Y )
Bg. の
B9.9
49。 の 9
49、 の
に し 問 り
B9. 9
B の .g
( Z )
ー さ 2 。 9
ー さ 2 の
ー さ 2。g
ー さ 2 。 9
ー さ 2。9
ー さ 2 。 9
ー さ 2.9
ー さ 2。9
ー さ 2。 9
ー32 9
ー32 9
ー さ 2 。 9
ー さ 2 。 9
ー32。 9
ー さ 2。 9
ー さ 2 。 9
ー さ 2 。 9
ー さ 2. 9
ー さ 2 9
ー さ 2 。 9
ー さ 2。9
ー さ 2。 9
ー さ 2。 9
ー さ 2 9
ー さ 2。 9
ー さ 2 9
ー さ 2 。 9
ー さ 2 。 9
ー さ 2 9
ー さ 2 . 9
ー マ 32 9
ー さ 2 。 9
ー さ 2。 の
ー さ 2 。 9
ー マ 2. 9
[#] ユ
E/]
L/]
L/ ュ
L/1
[/}
[*]
L/]
/]
[/]
L/]
/1
13. の
4 日 . の
48. の
4 日.。 の
15.2
13. の
ー1 く の
ー4 日 の
ー4HB. の
ー4 日 . の
ー15.2
ー1 さく 。g
199.9
199.9
49.9
49。.9
ー199.9
199.9
ー199.9
199.9
ー199。g
199.9
ー199. の
199.9
56.9
74. の
74.9
56.9
56.9
56.9
74.9
74. の 9
56. の 9
うっ 6. 9
56.9
56- 9
74. の
74.9
74. の
74. の
56.9
56. 9
っ ら 6。 の
56.g
69. の
79g. の
79.9
6 り .。 の
69.9
69.。 の
7 のり .9
79. の
69. 9
5 の . の
ら コウ. の
1 の 9. の
さ の . の
14. の
So. の
S ら の. の
に し 過 り
1 の 9. の
さ の の
14.9
ら 59. の
NN ムー
ト mm ひ の omoQQQoo
SO
QQQQQQQSQSQSQQSQSGSQSSSG
QQQQQQQ
ビビ
ト N ぉ QQQQOOOmOO
QQQQGQQGQQGQGQQGQQQQQQQGQQGQQ
こつ は は
IE
ee
7Z7
N
っ
SQQGQESEQGRQGQQGSQGQGSQGQGSQQGQSRSQGQGQGQSRQ
NN い
陣地 02 に お まめ (9 ・ 介 ま っ
DDNDD
に
-8B4. の
ー84. の
ーB ヨ 4 の
ー-B の . の
ーBg. の
ーB9.。 の
ーBg. の
ーB4 の
ー-B ヨ 4. の
ー-B4. の
ー-B4. の
47.9
6 さ 。 9
68.9
68.9
6 さ 3. の
47.9g
47。9
47。.9
6 さ 。9
6 日 。g
6 9
6 さ 。@
47。.9
47。g
47。.9
47.9
6 さ 。@
6 さ . 9
68.9
68. 9
68.9
68。 の
6 さ . の
6 さ . 9
47.9
47. の
47.9
47。. の
うっ 1 . 9
64. の
64.9
ら 51 . り
ら 1 - の
64 。 の
64. の
51 .g
っ ら 1 。 り
ら 51.9
64. の
64 の り
64 . 9
64。 の
うら 1 . 9
51 .g
48.9
92. の
92.。 の
6。@
74.9
66. 9
NN ビー
っ 感 二天 六 ) 雪が GL
QQQQQQGQGQGQGQQQGQQGQGQGQGQGQQGQQGQQQBS
NNDDD) に ヒー ヒビ
い ビ ビー お お
74.9
B4.9
に に デア 4*」
らら 6.@
36. の
66. 9
66。9
74.9
74.9
84 .9g
4 。g
56-@
うっ 6. 9g
ー-88.@
ー64 。 9
ー64 .9
ー88. 9
ー-8- 9
7 74 5 章 3 次 元夫 用 プ ログ ラム 3 凍
周 家 の 間 取 り
No- SYS 中 ZZ)
1 L*] -69.9 192.0 9.9
2 t/] 62.9 192.9 9.9
に t/] 62.0 2.0 の 9. の
4 [/] 192.9 2.9 9.9
5 [/] 192. -1092.9 9.9
6 [/] -B2.g -192.0 9.9
7 t/] -B2. の -18.g g- の OBCM2BIRIN
B E/] 42.9 -18. の g.9
9 L/ コ 42.9 -78.g 9.9
19 t/] SB.9 -78.g 9.9
11 t/] SB.g 98.g g.9
12 L/ コ 2.9 98.9 9.9
1 t/] 2.g 69. の g.9
14 t/] -2.9 69.9 g.9
15 E/ コ -2.9 98.9 9.9
16 t/]〕 -69.9 98.9 g.9
17 [/] -69.9 1 の 2.g 9.9 区 CO
18 L*] -69.9 192.0 52.9
19 上 /1 62。9 1 の 02. の 52 9
29 L/] 62。 の 2.9 52.g
21 [/] 192。 の 2。9 52. ロ g
22 [/] 12.9 -192.0 52.9 | 5 た 9 St
2 さく [/] - ヨ 2. の -192.9 52.9 7 [*] っ. の 9 昌 。 の g.9
24 [/] ー ヨ 2 。 9 ー18.9 52.9 | に 1:| [/] 2.9 9. の 2。 の
レッ 上 /] 42。.9 ー1 日 。g 52. ロ | 9 [*] 2。g 6 の 9。 の の の. の
26 /1 42.9 ー7B. の 52. の | 69 [/] 2. の g 69。 の 2。 の g
2 上 /] SB-9 -78.9 コ 2・9 61 [*] ー2.g 69. の 9g.9
2 は /] S ヨ .9 98.9 S2.9 62 [/] ー ク 2。g 69。 の 2。g
29 【/1 2。9 9 日 .g 52.g | 6 さ [*] ー2。 の 9 コ 。 の の の. の
39 /] 2.9 69。. の 52.9 64 [/] ー ク 。 9 98. の 52. の
さ 1 [/1 ュ ー2.g 69.9 52。9 65 [*] ー69。 の 9 9 昌 。 の の . の
さ 32 上 /] ー2.9 98.9 っ 2・9 66 E/] ー69 . 9 98. の 52. の
ささ 上 /} ー6 の . 9 98。.9 S2.9 6 フ 7 [*] ー6g. ウ 1 の 9 の 2. の 9. の 9
34 上 /1 ー69. 9 192.9 52.9 68 E/] ー69。 の 1 ワ 92.9 52。 の
35 [*] ー69. の 192。9 9.9 | 69 ま | 62. の ー2。 の の. の
っ 6 上 /] ー69g. の 192.9 52.9 ん ン | [/] 98。 の ー2。 の 9. の
さき 7 [#] 62.9 192.9 9.9 フワ 1 [/] 9 昌 . の ー-5 昌 . の g. の
38 上 /1 62.9 192.9 52.9 フク [/]1 62。9 ー-58. の 9. の
vi [#] 62.9 2.9 9.9 フ さ [/]1 62。 の ニーク の の. の
49 [/] 62.9 2.9 5S2.9 74 [*] 62。 の ー2。 の ら 52. の
41 [#] 1 の 2。9 2。. の 9. の 9 75 [/] 9 ヨ . の ー2。 の 52. の
42 [/] 192.9 2.9 52.9 76 [/1 98. の 9 -5. 9 52. の
人 4 る [=] 1g2.g -192.9 9.9 ファ [/] ら 62. の ー5 日 - の 52.。 の
人 4 上 /] 192.9 -192.9 52 9 78 L/] 62。9 ー2。 9 52. 9
45 [ テ ] ー ヨ 2.g 一 1 の 2.9 り . の フ 9 【*] ら 62。 の ー フ 。 の のり . の 9
46 [/} ー82.9 -192.9 S2. 9 9 [/] 62。 の 9 ー2。 の 52. の 9
4 フ [#*] ー コ 2. 9 ー1 昌 . の g.g 1 [上 *] 9 。 ウ ー2。 の り . の
4 上 /] ー82 . 9 ー1B。 局 52.9 82 t/1 98。9 ー2。 9 52 9
49 [#] 42.9 ー1 ヨ 8. の 9.g 8 さ [#] 98。 9 ー5 日 。 の .9
5 [/} 42。9 ー18。.9 52。9 4 [/] 98。 の 9 ー-5 ヨ . 9 52. の
51 [を ] 42。g ー フ 78. @g り .9 85 上 #*] 62。 の ー-58. の ワウ .g
52 [/] 42。.g ー78.@g 52 の 86 【/] 62。 の -58. の 52 。 9
に た ・ [ *] 5 ヨ . 9 ー フ 7 日 - の g.9 に 4 【*] 62。 の ー2。 の のり.
54 [/] 58.9 ー78. 9 52.9 88 [/] 62。 ウ ー2. の 52。 の
0 _ QNO _ Q0 _ Q _ dmmdd
NQNQNQNQSGNQSNNNNNSSSSS
DE * O 二 い 間 CR 二 こ * * D
OOQN OO
NNNNNQGQQQQ
UN
nm _ OUOUOOOUOOU 0 _
NRNQRNQNDNNDDDNDNNQQGQQQQQNQONQSNQNSNQ
OCROSDEED hi 5 3 地 」 *
QQGQQQGQGQGQGQGQGQGQGQGQGQGQGQQGQGQQQQQQQGQQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGSGQGGGQGGQGQGGQGGQGQGQ
19|
9]
9
19」|
NNSGNQN
H
RGQQGQGQGQGQGQGQGQGQGQ
Q __ QOOU U_U
9!WYNIU る PS Wi D h
9
QRQQGQQGQSGNSNQGNDNSNNNSGQG
D
QQGQQQQGQQSGQGQGQGQGQGQGQGQGRGQGQGQGSQGQGG
61
DOESEDIE)
(
QNQNQNSNS
19」|
UI
9
h
QQGGQGQQGGQGQGQQGQQGGQGQQ
呈 _ _
NQNSNDQGNSDN
9
|
に 」
h の 7
QQQGQGQGQQGQQGQQGQQ
P コ
トコ コ
QQQQQQGQQGQQQQ
1
OO と こう ち - ま - に
QQQQQGSNSNQSGNNSSSSGSSSSSSSSS
SQSQGQGQGQGSQGQGSQSQSSSSGSSSSSSSSSSS
UI
まう ちち お らら 9
半生 し 前 請 1 2
も よら
RSRQGSQQGQGQGQGSGQGSQSGRRGG
お お お
CESCSPTSCE に CE
っ
こま コ
EE
QRQQQQQQGQQGQGQGQGGQGQGQRGSGQGQGQGQGQGQGGGQRGGSGQSGSRG
む
まま コ
CEC
お
QQQGQGQQQQGQGQGQGQGQSEQGQG
お
46.9
4246. の 9
46。9
46。.9
46。 の
うっ 6. 9
56.。 9g
46.9
46. の
12.9
5 9
58. 9
12.g
12.9
12.9
58.9
に に 有り
12.9
12。.
12.9
12。.9
58.9
9. 9
69. 9
69. 9
69. の 9
9.9
9.9
56. 9
356.9
44。.9
44。g
56.9
49.9
49.9
24.9
24 .9
49.9
4g。9
49. の 9
24.9
24.9
49.9
4 の 9. の
49.9
49.9
し つ つつ トコ ご テー ビー テー ビビ .
> orPoQooononeoQo
QQQQGQGQQGQGQSGQSSQSQGQGGSGSSGGSGQGRGGQ
NNOQOQo
ほ ーー は
こう
pre な
ma
や や お ひ QQO
だ - コ
ESECECECECE h
QQQQGQGQGGGQRQGESQQGQGGGGQGQGQGQGQGQGQ
と SQQQQQQQQQQGQQGQSGQQQ
ココ
778 5 意 3 次 元 実用 プロ グラ ム 3 題
44 さ 上 /] ー69。g 18. の 44。 の
444 E/] ー69。 の ー18. の 44. の
445 L/] ー71 . の ー18. の 44. の
446 E/] ー71 。 の 18。. の 44。. の
44 フ F#] ー7 1 の 1 昌 。 の の り . の
448 E/ コ ー7 1 . の 1 昌 . の 44. の
449 L[*] ー69。 の 18H. の り . の
45g E/1 ー69.09 18. の 44。 の
451 【#] ー69。 の ー1 昌 の のり . の
452 [/1 ー69。 の ー18. の 44。.9
45 さ [#] ー71 。 の ー18. の の. の
454 F/] ー7 1 。 の ー18. の 44.0 の
455 [#] ー71 。 の 18. の の 9. の
456 [/] ー71 .9 18. の 44. の
457 上 #] ー709. 6。 の g.9
458 [/] ー79. の 9 ー1 日 . の の. の
459 【 テ *] ー7 の の 6. の 42.0 の
46 の /] ー7 の . の ー18. の 42.9
461 【#] ー79。 の 6。 の 9. の
462 /] ー79.9 6. の 42. の
46 さ [#] ー7 の . の ー1 昌 の g. の
464 L/] ー79.9 ー18. の 42.9
金 F-BASIC 活用 ソ フト 3
ワー プロ と グラ フ
湖
FM-7・NEW7・77 で 使え る プロ グラ ム の リス ト と その 使い 方 ・ 操 作
@ 庄 革 付 簡 易 日 本 語 ワ ー プ ブロ. 縦 印刷 も で きま す 。
@ ビ ジネス グラ フ と 統計 表 ・ 統 計 グ ラフ . 捜 合 グラ フ も 表示 で きま す .
@ デ ィ ス ク ユ ー テ ィ リ ティ 。 ア クセ ス の スピ ー ド を アッ プ す る フォ ー マ ッ ト な
ど 8
人 FM と PC 間 で 相 末 に ブフ ログ ラム を 読み 込め ます .
@ その ほぼ ほか, グラ フィ ッ ク バ ネル ・ 金 利 計 算 ・ オ ル ガ ン な ど 計 11 本 収載 .
空 フロッピー ディスク 頒布 サー ビス
全 プ ログ ラム 17 本 を ディ スク で 頒布 し て お り ま す . 3.5 チ と ら る 7000 円 で す
(送料 当社 負担). も の 2 に 現 谷 苦闘 に て
申し 込み 先 東京 都 文 京 区 本 卿 5-5-18 山海
本 書 を 暗 入 され た 読者 が 使用 する 場合 を 除き , 本 和書 収載
の プロ グラ ム の 一 部 また は 全部 を (株 ) 山海 堂 の 許諾 を
得 な いで , いか な る 方 法 に お いて も 複写 複製 し た り ,
他 に 転 蓄 ・ 転 用 する こと を 禁じ ます 。
拘 作 上 の 質問 は 具体 的 に 記入 し て 「FM グ クラ フィ ックス 」
係 宛 お 願い し ます 。
な ぢ , 入力 ミス や 改造 に よる 質問 は 一 切 お 断わり 致し ま
す 。
FM 実践 グラ フィ ックス
[定価 は カバ ー に |
左 天 か らら 3 天元 C.CG ま で 一 一 | 表示 レ し て いま す 」
昭和 60 年 1 月 30H 切 販 第 1 喘 発 行
昭和 62 年 4 月 30H 弧 第 3 列 発 行
ス ま 行者 川井 正男
印刷 所 拉 光 合 印 刷 株 式 会 社
〒113 東京 都 文 京 区 本 郷 5- 5 -18
発行 所 と 山 海 宣 振替 東京 4 一 194982 符
営業 直通 電話 03 一 816 一 1617 一 9
1985 Tajima 落丁 本 ・ 乱 丁 本 は お 第
ISBN 4-381-09007 -1
わか る ・ 楽 し い ・ 役 に 立つ
[ 山海 堂 発行 ]
FM-7 プロ グラ ミン ク グ 入門
高橋 三雄 著 プ B5 判 240 頁 2300 円
は じ め て プロ グラ ム を 作っ て みよ うと する ユー ザー を 対象 に , 旅費 計算 や 野球 選手 の
打率 計算 な ど , 身近 に ある 題材 を と りあ げ て , 考え 方 , 組み 立て 方 , 命令 の 意味 ・ 使
い 方 等 を わか りや すく 説明 し ます 。 読 者 は し ら ず し ら ず の うち に プロ グラ ム 作 り に な
じ め る よう に 工夫 され て いま す 。 巻 末 に は . ラリ ー ゲ ー ム , お 絵かき , 音楽 。 ス ロッ
トマ シン , 成績 処理 、 家 計 注 , タテ 横 集計 、 グラ フ 作 成 な ど 15 本 の プロ グラ ム を 収載
愉 い まず 。 (NEW7/77 に も 使え ます )
金 ビ ジネス マン の た め の
パソ コン 入門 術
シス テム 科学 研究 所 編 プ B5 変 形 210 頁 1500 円
現代 は ニュ ー メ ディ ア の 時 代 , 情報 化 社会 …… と 呼ば れる 新しい 時 代 に 移行 し つつ あ
り ま す 。 こ の ニュ ー エ イジ に 生き る ビジ ネ 導い も の の
ー つ に パソ コン が あり ます 。 し か し 、 こ れ ま で は 。 バ ソコ ン へ の 対応 に 間違い は な か
っ 6 対応 の 仕方 に は 、 お か れ た 立場 に より 、 人 それ ぞ れ に 違い が あっ
当然 で は な いで し ょ うか 。 こ の 本 は 新しい 視点 に 立っ て , 人 それ ぞ れ の 対応 の 仕方
考え る 手がかり を 与え て くれ る で し ょ う 。
6 取り 組む た め の 新 し い 発想 @10 語 で ルン ルン プロ グラ ミン グ
@ パ ソコ ン の 仕組 み と 働き @ お も な 周辺 機器 の は な し
@ す すむ 0A と メカ トロ ニク ス @ ミニミニ 用 語 し て ん
@ パ パソ コン を 操作 する に は
に
念 対 話 形 式 に よる 山海 堂 発行
FM-7 わく わく 活用 入門
青木 徹 著 プ B5 判 226 頁 2100 円
入門 の 失 階 か ら 抜け 出 た いと 思っ て いる ユー ザー を 対象 に し た 本 。 洪 字 の 簡単 な 入力
法 。 表 の 作り 方 , 並べ 芋 え 、 検索 法 。 中間色 の 出し 方 、 ミ ュー ジッ ク の 楽し み 方 , 画
面 の モー プ ・ ロ ー ド ルー チン , 部 分 スク ロー ルル ー チ ン , クイ ッ ク ソ ー ト ルー チン ,
数 値 編集 ルー チン な どの 人 各種 ルー チン 。 グラ フィ ッ ク シ ン ボ ポル エディ タク プログ ラム
スロ ッ ト マ シン ゲー ム プ ログ ラム な ど , 内 容 型 富 な 12 詞 で す 。
(NEW7/77 に も 使え ます )
金 BASIC か ら 入 る
FM マシン 語 入 門 の 手引 き
鹿野 哲郎 著 / B5 判 変形 200 頁 / 1900 円
人 傘 々 の マシ ン 語 の 仙人 に 入っ て み ま せん か . BASIC も マシ ン 語 に ホン ヤク さ
れ で ば は じ の め て ラジ ピュ ー ダ 和 理解 され る の で す . この 本 で は , みな さん が 知っ て い
る B A S I C を 使っ て マシ ン 語 を いじ し る こと か ら ス ター ト し ます . そう すれ ば 意外 と
近づき や すい の で す . 雑誌 の マシ ン 語 プロ グラ ム を 打ち 込ん て 使う 時 の チェ ッ ク サ ム
0 簡易 アモ ンプ ラ の プロ グラ ム , マシ ン 語 を 楽に 入力 で きる プロ グラ
等 も 級 せ て あり ます . これ ら を 道具 と し て 使っ て マシ ン 語 に 親しん で み ま し ょ う .
ノ N ド ソ コン を 久 「 ま で し ゃ だ る 使い 方 ち マ シン 語 を 使え ば で きる の で す . この 本 で , そん
な パソ コン ライ フ の スク ー ト を 切っ て は どう で し ょ う .
念 FM-7・NEW7・77
活用 ソフ ト 1
F IMI: ププ
シス テム 科学 研究 所 編 プ B5 判 192 頁 ノ 2100 円
F M-7 シ リー ズ は , ゲ ー ム マシ ン と し て ば か り で な (間瀬 な : 力 を 持っ て お り ま す . スモ
ー ル ビジ ネス に 65 立派 に 使用 で きる の で す . 本 書 で は , 給与 計算 , 項目 を 自由 に 設定
で きる 名 短 管 理 , 販売 管理 , 在庫 管理 の 3 本 の プロ グラ ム を 収載 し , 詳細 な 操作 方 法
を 述べ て お り ま す . 名 簿 管 理 は 項目 を 自由 に 設定 で きま す の で 個人 ユー ザー に も 非常
に 使 利 を な ちの で す .
ーー フロ ッ ピ ビー ディ スク 当 布 し ます 一 一
5 インチ 8000 円 3.5 イ ンチ 8500 円
詳細 は 本 の 日 次 前 を ご 覧 くだ さい .
金 実 務 に 役立つ フロ ッ ピ ー の 使い 方 山海 堂 発行
F IM テ ディ スク ファ イル 活用 法
竹本 篤郎 著 プ B5 判 176 頁 / !800 円
フロ ッ ピ ー デ ィ ス ク を 活用 する こと に よっ て パソ コン ライ フ は 大 きく 広がり ます 。 処
理 ス ピー ド , 扱え る デー タ 量 か らい っ て も フロ ッ ピ ー な し に は パソ コン ライ フ は 考え
られ な い 段 階 に 来 て いる と いえ る で し ょ う . 本 書 は 顧客 管理 。 単価 表 等 の プロ グラ ム
例 を 使っ て ,。 シー ケン シャ ルフ ァイル , ラン ダグ ム ファ イル に お ける デー タ の 書き 込み 。
読み 出し , 訂正 , 削除 等 の 使い 方 を て いね い に 説 明 し て お り ま す . また , ディ スク 空
骨 を 無駄 な く 使 うた め の 方 法 と そして, インデ ックス ファ イル の 作り 方 . 使い 方 も 述べ
て お り ま す . 各 意 と も 基礎 か ら 応 用 に わた っ て 入門 者 に も 理解 で きる よう に 工夫 され
た 好 入 門 書 です
金 わ か る ・ 楽 し い ・ 役 に 立つ (FM-7・NEW7・77)
F M-7 フロ クラ ミン ク 入 門
高揚 三雄 著 プ B5 判 ノ 2,300 円
お 遊び , 家庭 。 仕事 な どの 身近 に ある 基 材 を と り 上 げ て ,
プロ グラ ム を 作る 時 の 考え 方 , 作り 方 , 欧 展 の させ 方 等
を や さ し く 脱 明 . 巻末 に プロ グラ ム 集 付き .
久 F-BASIC 活用 ソフ ト (FM-7・NEW7・77)
ワー フロ と グラ フ
潮 守 奏 ノ B5 判 2,100 円
@ 辞 交 付 日 本 語 ワ ー プ ロ @ ビジ ネス グラ フ
@ 統計 表 と 統計 グラ フ @ ディ スク ユー ティ リティ
@ FM< 一 >P で 変換 プロ グラ ム は か
※ デ ィ ス ク 頒 布 サ ービス あり ます .
人 対 話 形式 に よる (FM-7・NEW7・77)
F M-7 わく わく 活用 入門
育 木 役 蒼 プ B5 判 ノ 2,100 円
@ グラ フィ ックス を 楽し も う @ 表 を 作っ て みよ う
@ 江 字 の 使い 方 @ 簡易 ソフ ト VIP の 活用 法
@ 活用 テク ニッ クル ー チ ン 便利 な 付録 ・ 楽 し い 付 録
久 基 礎 か ら 3 次 元 CG まで (FM-7.NEW7-77)
F Me 有 グ ラフ ィ ッ クス
田島 清司 著 B5 変 形 プ 1,800 円
グラ フィ ッ ク の 共 環 か ら 始 め 、 せ ず か し い 数 学 を ど は 依
わな いで 3 大 元 を 実数 す る 、 カン ド つ コロ を 押さ えて 平易
に 解説 ジィ スク 布 サー ビス あり ます .
念 F-BASIC (FM-7・NEW7・77)
ゲー ム 作 り の ノー ハウ
ナラ シノ マイ コン クラ ブ 著 ププ B5 ン 2,300 円
BASIC だ け を 使っ て 。 ゲー ム 作 り の テク ニッ ク や ノー ハ
ウ を 明らか に し ます .。 パタ ー ン ジェネ レー タ ,。 サウ ンド
ジェ ネ レ ー タ の ほか サン プル ゲー ム の リス ト を 収 僅 .
金 ビ ジネス に 役立つ (FM -7・NEW7・77)
FM 活用 ソフ ト 1
B5 判 192 頁 2100 円
スモ ー ル ビジ ネス 用 に プロ グラ ムリ スト を 収載 し , その
使用 法 を 述べ ます . 給与 計算 ・ 販 売 答 理 ・ 在 庫 管 理 ・ 全
貞 名 和 澄 笠 理 な ど .
金 実務 に 役立つ (FM-7・NEW7-77) | 金 BASIC か ら 入 る (FMI-7.NEW7-77)
(そり ディ スク ファ イル の 活用 法 (で ゆい マシ ン 語 入門 の 手引 き
B5 判 176 頁 BS 変形 200 頁 プ 」900 円
ディ スク を 使う こと に よっ て パソ コン 活用 の 範 環 は 大 き
く 広 が り ま す . 実務 に 役立つ 使い 方 の 基 喝 か ら 応 用 まで
を 入門 者 に も 分 か る よう て いね い に 解 説 し て いま す .
論 味 津々 の マシ ン 艇 を 読 者 の な じん で いる BASIC か
ら ア タッ ク 。 初め て マシ ン 政 を か じ し っ て みよ うと 思っ て
いる 人 , 足 路 み し て いる 人 へ の お すす め 本 で す .
人 ビ ジネス マン の た め の
パソ コン 入門 術
シス テム 科学 研究 所 B 5 変形 1,500 円
情報 化 社会 に お ける パソ コン と の 対応 の 仕方 ・ 使 い 方 ・
簡単 を プロ グラ ミン グ ・ 周 辺 機 宮 の 話 ・ 授 作法 ・0A と
プ メカトロニクス の は な し な を ど 洪 僚 、
山海 営 発行
親子 で 楽 しめる (1Z-700・MMZ1500)
MIZ-70 は プロ グラ ミン グ 入 朋
高 描 三 雄 著 ノ B5 判 2,300 円
各 機 種 と 互換 性 の 高い HuBASIC を 使い , プロ グラ ム の
作り 方 , 並べ 碧 え や 欄 索 の 仕方 , 血 易 旨 請 HuCAL の 使
い 方 を 往 高 実例 で 解説 プロ グラ ム 集 付き .
第 3 意
実践 プロ グラ ミ シ グ
第 4 章
次元 ク グラ イッ ク ヌ %
ISBN4-381-09007-1 C3055 \1800E
山海 堂 定価 1800 円