フォーラム - neorail.jp R16

「A列車 色がおかしい」を越えて進もう


いま問うA9のココロ
信号機のG現示の色がこんなにメロンソーダなわけがない
ATC・ATSの「Aの字」も出さずに効果音と動作を実装するには
「場内信号機 作り方」「信号機に名前をつける機能」とは


発行:2019/12/30
更新:2024/3/31

[3868]

【ゲームで追体験する鉄道工学と鉄道史】 【A9R:データで遊ぶA列車】

まだ見ぬ「ドリームかまち」を探して(インサイト編)


“2面指し”
ゆるシミュ(2020)
「インサイト」とは何か
「R with Excel」
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)

(約26000字)

 [3861],[3862]からの続きです。「A列車で行こう9 地形 高低差 ヘリ 台地 温泉 紅茶」の話題です。…紅茶って、なんですかー。


 ゲーム上、「平地」は「0m」など一定の標高でのっぺりとするわけですが、実際には微妙な高低差があるだろうという感覚を持つのが自然です。特に「城下町の復興」では川がわざわざ崖に沿って流れているので、これはもう、そこが低くて川の東側は少しずつ高くなっていく地形なんだろうと思わせられます。わあぃ水の気持ちになって流れてみよう!(違)

 ここで「ゆるシミュ(8)」([3658])のおさらいであります。…さら〜い!!(違)

[3658]
 > プレーヤーがゲーム内で地形を把握するためには何が必要かを考えます。

 プレーヤーが目で見て目視で視感を言葉で述べ、というのでなく、データをほうりこめば自動で何らかの把握が完了する、というのを目指しませう。それを、最初は対話的に手作業で試してみませう、という「ゆるシミュ」でありました。

 > ゲーム内の地形の標高を画像から読み取って数値化し、統計解析環境「R」に取り込んで、

 > わざわざRに読み込んだということはあれですか。あれですね。

 > 「高さ」が「10m」「0m」「-3m」の点(35488個くらい)は、なかったことにする
 > 「x,y,z」という3列のレコード(行)が縦に30048行くらい並ぶ形式に変える

 この数はマップによって変わります。…山奥の旅館で新鮮な海の幸の刺身!(以下略)

 > 「本来あったはずの起伏を逆算する」アルゴリズムをこしらえる

 これですこれです。

 > ゲームとしてのプレイアビリティのようなものを持たせるため「0m」ぴったりの平地を多くしてあるという理解をしました。じゃあ(※)この「0m」の地点を、k-meansで求めたセントロイドの方向へ引っ張って、山に向かっては持ち上げ、海に向かっては押し下げ、そういうおしあいへしあいで均衡したモーメントみたいなのを求めて、それっぽい高低差をつけようではありませんか。

 > ゲームのマップで「0m」の地点は後にも先にも「0m」より低くはならないと決め(※そうしないと陸上の面積が減ってしまい、ゲームの難易度が変わってしまいます)、基本的には山に向かって持ち上げる方向で、その上限を(斜めのモーメントではなく各地点でのZ軸の変化量で)「19m」(※「20m未満」の意)ということにしましょうか。

 https://youtu.be/gS4_iFLpbDg?t=25s




 メロンパン専用!!(違)

 > 『距離の二乗に比例して減衰!』みたいなことを考えかけたけれど、「距離の逆数」でいいじゃないですか。本当でしょうか。
 > 言葉では「逆!」と簡単に言うけれど、よく確かめないと混乱するよとはこのことだよ。

 すっかり混乱しました。メロンパン専用!!(だから違)

 > いよっ、ろっかくだいおうじ!!

 …『ろっかくだいおうじ』ってだれだよ!!(※表現は演出です。)

 > われわれビー玉。どこへゆくビー玉。

 ついにビー玉になってしまいました。(棒読み)

 http://daiohg.dengeki.com/ss/daiohg/uploads/2017/07/01-300x245.jpg

 > 廻れっ!!

 やーいろっかくだいおうじ。(たぶん違)

 > 32GBのメモリが使用率98%といいながらCPUがうなります。かなり待たされます。

 それは何かが間違っている。だからキャンセルしませう。わあぃキャンセルが出たぞう!!(違)

 > みそ汁にはサツマイモを入れてみせるといいぞ。

 > こんがり焼けた「mydistakari2d」の内容を確かめようとして、いきなり「mydistakari2d」と入力してEnterを押したりしてはいけません。距離行列は、縦に30048行、横に30047列、つまり902,852,256個のマス目があるんですよ。…ええーっ!! さあさあ「mydistakari2d」と入力してEnterを押してしまったフレンズは赤い八角形「STOP」と書かれたボタンを押そうね。…おっと、そっちは「(43)五目焼そば 800円」のボタンだよ。(棒読み)

[3657]
 > > ほえええ!!

 結局どうなったんスか。

 https://neorail.jp/forum/uploads/contour_akari_elv_n25c4.png?ref=3868

https://neorail.jp/forum/uploads/contour_akari_elv_n25c4.png?ref=3868


 …うーん!

・「R with Excel」ぱやっぱ!!(※前回のおさらい)

3軸の座標が入った3列×30048行のテーブル※を読み込む
(タブ区切り)
myakari3d=read.table("clipboard",h=0)
※k-meansを実行しておく
(k=9、nstart=50)
mykmakari9 <- kmeans(myakari3d, 9, nstart=50)
※k-meansで得られた重心の表を
RからExcelにコピーする
write.table(mykmakari9$centers, file="clipboard", sep="\t")
3軸の座標が入った3列×30048行のテーブルから
1列目と2列目を取り出したテーブルをつくる
myakari2d <- myakari3d[ ,c(1, 2)]
myakari2d # 内容を確かめます
2軸の座標が入った
2列×33333行の
テーブルを読み込む
(タブ区切り)
myakari0=read.table("clipboard",h=0)
1行目に重心の1つ目の座標、
2行目から33334行目に
テーブルの33333行を入れた
テーブルをつくる
mytab1x33333 <- rbind(mykmakari9$centers[1, c(1,2)], myakari0)
距離行列をつくり
1番目から33333番目(※1列目)だけを得る
mydist1 <- dist(mytab1x33333, diag=FALSE, upper=FALSE)
mydist1x33333 <- head(mydist1, n=33333)
# 同様にして「mydist2x33333」〜「mydist9x33333」をつくる
自作の関数を定義するmyfunc1 <- function(a,b) sqrt(a ^ 2 + b ^ 2)
# 斜辺の長さを求める
自作の関数を定義するmyfunc3 <- function(delta,max,min,height) ((delta - min) / (max - min)) * height
自作の関数を定義するmyfunc2 <- function(delta,dist) ((delta * 2) * (1 / (dist ^ 2)))
# 距離の2乗の逆数をかけて「減衰」させる
mydeltaakari0 <- cbind(myfunc2(mykmakari9$centers[3,3], myfunc1(mydist3x33333, mykmakari9$centers[3,3])), myfunc2(mykmakari9$centers[5,3], myfunc1(mydist5x33333, mykmakari9$centers[5,3])), myfunc2(mykmakari9$centers[6,3], myfunc1(mydist6x33333, mykmakari9$centers[6,3])), myfunc2(mykmakari9$centers[7,3], myfunc1(mydist7x33333, mykmakari9$centers[7,3])), myfunc2(mykmakari9$centers[8,3], myfunc1(mydist8x33333, mykmakari9$centers[8,3])))
myakari0elv <- cbind(myakari0, myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 18.75))
colnames(myakari0elv) <- c("V1", "V2", "V3") # 列名を揃えておく
mynewakari3d <- rbind(myakari3d, myakari0elv)
等高線を描くcontour(cpmyakari, nlevels=256)


 こういうことですか。


●“2面指し”


 ここまで「ドリーム」「かまち」の2つの地形を同時に見ながら、何かするときは両方に対して同じことをするという“2面指し”をしてきていますので、ここから「R with Excel」していくに際しても、そのようにしていくということになろうかと、たぶんこういうわけです。

・「A9V1」より「大都市構想EX」のイメージです
 https://neorail.jp/forum/uploads/hist_a9v1_dream.png?ref=3868

https://neorail.jp/forum/uploads/hist_a9v1_dream.png?ref=3868


・「A9V5」より「城下町の復興」のイメージです
 https://neorail.jp/forum/uploads/hist_a9v5_kamachi.png?ref=3868

https://neorail.jp/forum/uploads/hist_a9v5_kamachi.png?ref=3868


※地形データの著作権は株式会社アートディンクに帰属すると思われます。(棒読み)

・「PAL8-CNV 〜ぱるはちこんぶ〜」(※機能追加あり)
 https://neorail.jp/fun/PAL8-CNV/

 これに先立って、拙作「PAL8-CNV 〜ぱるはちこんぶ〜」([3796])に「XYZ Coordinates (Tab-separated)」の出力を追加しておきましたのでご笑納ください。

 ただし、ここで出力されるTSVは必ず65536行あるものになっています。標高が「0m」「-3m」となっている行を削除するのもRだけでできるるですか? …できるるです!!(棒読み)

・「44. データの加工と抽出」
 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/44.html

 > 例えば subset(x, id>3) ならば id > 3 となる行のみを抽出する.

 おおー。ここで入力したTSVでは、列名を無名のままにしているので「V3」といえば3列目の標高の値を指します。

■「R with Excel」

3軸の座標が入った3列×65536行のテーブル※を読み込む
(タブ区切り)
myakari3d0=read.table("clipboard",h=0)
3列目の値が0より大きい行を抽出するhead(subset(myakari3d0,V3>0),10)


 こんな感じですか。ここでWindowsが誇るクリップボード経由で読ませるTSVは「ドリーム」のやつなんですけど、書きなおすのが面倒だから識別子は「akari」のままで…まっすぐゴー!(違)「ドリーム」についてぜんぶ終わってから「R」を再起動して新しい頭で「かまち」すればいいんです。…ずっと「akari」のままで!(棒読み)

V1V2V3
229228020
230229020
231230030
232231040
233232050
234233050
235234050
236235040
237236050
238237050


 大丈夫そうなら新しいデータフレームに入れませう。なにをしても「akari」。(棒読み)

■「R with Excel」(続き)

…いちどで済ませてくんない?myakari3d <- rbind(subset(myakari3d0,V3> 0),subset(myakari3d0,V3< -3))
できたかなhist(myakari3d$V3)
行数を調べるnrow(myakari3d)


 「<-」(代入)ではなく「< -3」ですよと明示する記法ってあるんですか&しつれいしました。行数は「ドリーム」が「11233」、「かまち」が「19143」になりました。(※この行数は後で使います。)

・「28. 演算子」
 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/28.html

 ま、スペースで区切ろうじゃないか。そうすると「このフォーラム」の表の表示が崩れる。…えーっ。(※それはローカルな事情なので気にしないでください&もっとしつれいしました。)

 クラスターの数はいくつにしませうか。ここで、地形の複雑度が「2」なら「22=4」、「3」なら「23=8」かなぁ、という気配がありませんか。ありますよね。「地形の自動生成」を目の前で実行したわけでなく、すでにあるニューゲームのマップを使っているので「地形の複雑度」がどんぴしゃでわかるわけではないんですけれど、だいたい同じ気分で「2かな」「3かな」と考えて、2(※縦と横があるので2)をその数で累乗してプラス1くらいのクラスター数にすればいいのではありませんか。本当でしょうか。

■「R with Excel」(続き)

k-meansを実行する
(k=9、nstart=50)
mykmakari9 <- kmeans(myakari3d, 9, nstart=50)
散布図を描くlibrary(mclust)
clPairs(myakari3d, cl=mykmakari9$cluster)
# プロットされた図を右クリックしてコピーや保存をします


・…というか、何も考えず「k=9」にしました@すんません
 https://neorail.jp/forum/uploads/r_dream_km9_plot.png

https://neorail.jp/forum/uploads/r_dream_km9_plot.png


※散布図行列に、クラスタリングの結果を色分けして示しています。左側の中段を見れば、もとのマップと同じ向きで見えます。その下段を見ると高さの分布が見えます。

 ほぅ。ベクトル円海山(違)そらー!(もっと違)「やまー!」「うみー!」をよく分離しているし(…そもそも間違いようがないデータだとは思うけれど)、それでクラスターの数を持て余していれば標高を3段階くらいで分けてくれる。…なるほどねぇ。「k-means(k平均法)」というアルゴリズムを2次元ではなく3次元で最初からとらえるトレーニングにもってこいな題材ではありませんか。これはもう「ベクトル円海山」と呼んで親しむしかありません。(棒読み)

・「ベクトル円海山」のイメージです
 https://previews.123rf.com/images/fisher4/fisher41709/fisher4170900840/86434117-abstract-tech-background-floating-numbers-hud-background-matrix-particles-grid-virtual-reality-smart.jpg
 https://ih0.redbubble.net/image.501336379.4963/cfp,small,black,off_white,box20,product,750x1000.jpg
 http://www.hama-midorinokyokai.or.jp/zoo/kanazawa/1/741a58e181c96667ffe266df5d5a50aa3cd6dfcc.jpg

※「片栗粉R」みたいに「R」はつかないんですかー。そっちはRのプロットを頼っているから「R」とつけるけれど、こちら「ベクトル円海山」は計算のほうに主眼があって、同じことをPythonで書いてもいいので特には…(てんてんてん)。ありがとうございました。

※先にV1とV2を考え、V3は後から見に行くなどという順序性はないと思うんですけど、実はあるんでしょうか。列を入れ替えて実行しても同じ結果が得られますか。…うーん! 面倒だからそれは確かめなくていいや。(棒読み)実行環境やライブラリを半信半疑なところから使っていく場合は、そういう面倒なことも確かめてください。(※恐縮です。)

・…かまち手強い?
 https://neorail.jp/forum/uploads/r_kamachi_km9_plot.png

https://neorail.jp/forum/uploads/r_kamachi_km9_plot.png


 かまち手強かった。…かまち手強かった!! 「川」という線状の水面に「k-means」は通用しなかった。

■「R with Excel」(続き)

主成分分析を実行するmycmpakari3d <- prcomp(myakari3d, scale=TRUE)
主成分分析の結果のサマリーを表示するsummary(mycmpakari3d)
# 各主成分の累積寄与率が表示されます


 ここで「主成分分析を実行する」というのはあくまで『直訳!』であって、これはRの「prcomp関数」が非常にユーティリティーだから、じぶんが用意した行列の回転に使おうということであって、ここで主成分分析と呼ばれるスキームにのっとって考察しようというわけではないことをご承知おきください。

※形動「非常にユーティリティー」(ダ):使いでがある、の意。

■「R with Excel」(続き)

散布図行列を描くlibrary(mclust)
clPairs(mycmpakari3d$x, cl=mykmakari9$cluster)
# プロットされた図を右クリックしてコピーや保存をします


 https://neorail.jp/forum/uploads/r_kamachi_cmp_plot.png

https://neorail.jp/forum/uploads/r_kamachi_cmp_plot.png


 色分けは同じまま、点の座標のほうを「主成分分析を実行する」してセカイをひんまげました。な・・・なんだってー!! 同じく左側の中段を見ますと、「PC1」と「PC2」だけを見れば、「川」をきれいに分離できそうな気配が漂っています。本当でしょうか。

 > > summary(mycmpakari3d)
 > Importance of components%s:
 > PC1 PC2 PC3
 > Standard deviation 1.2213 0.9954 0.7195
 > Proportion of Variance 0.4972 0.3302 0.1726
 > Cumulative Proportion 0.4972 0.8275 1.0000

 「PC3」を使わずに、つまり3次元だったのを2次元に減らしても(⇔減らしたほうが?)特徴が見えますよということである。主成分分析というスキームにのっとれば、次元は必ず削減するものであるぅ。…本当でしょうか!?

・「42. データへのアクセス方法」
 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/42.html

 > x[ , c(1, 2)]
 > 1列目と2列目のデータにのみアクセスする.

 なんでもない、こういうことをぜんぜん暗記していないんで手間がかかります。この子がね(略)大目に見てやってくださいっス。

・「R with Excel」考え中!

主成分「PC1」「PC2」で
k-meansを実行
myakari2dc <- mycmpakari3d$x[ , c(1, 2)]
mykmakari9c <- kmeans(myakari2dc, 9, nstart=50)
clPairs(myakari3d, cl=mykmakari9c$cluster)


 https://neorail.jp/forum/uploads/r_kamachi_cmp2_km9_plot.png

https://neorail.jp/forum/uploads/r_kamachi_cmp2_km9_plot.png


 ふっふーん!(どやぁ

■「R with Excel」(続き)

主成分「PC1」「PC2」「PC3」で
k-meansを実行
mykmakari9c3 <- kmeans(mycmpakari3d$x, 9, nstart=50)
clPairs(myakari3d, cl=mykmakari9c3$cluster)


 https://neorail.jp/forum/uploads/r_kamachi_cmp3_km9_plot.png

https://neorail.jp/forum/uploads/r_kamachi_cmp3_km9_plot.png


 前言撤回。やはり「PC3」も含める、つまり主成分をぜんぶ使わないと「川」を正確に分離できてないとわかります。主成分って、ぜんぶ大事なんですね。(棒読み)詳細は省きますが、ゲーム内で地形を「よく観察し」しながらあれこれ考えたときの、「このへんはこうしよう!」と思った、その「このへん」という認識のしかたと非常によく一致する色分けになっていることを、…えーと、わたしがほしょーしますっ。(※だれでもいいからだれかに言わせようと思ってきょろきょろしてみたけれど、じぶんで言うしかなかったみたいな顔で!)

※主成分分析というのは変量がもっと多い場合に『要約』するものであってだなぁ(略)たった3次元なのだから回転はできるけれど次元の削減はしようがないとわかります。しかし便利なので「prcomp関数」をそのまま使う。しつれいしました。

・標高「-3m」の点を除去したので「川」が細ってる!

 まいっか。(棒読み)

 https://neorail.jp/forum/uploads/r_dream_cmp3_km9_plot.png

https://neorail.jp/forum/uploads/r_dream_cmp3_km9_plot.png


 「ドリーム」(「大都市構想EX」)の地形も同じ処理をして、結果がおかしくならないことを確かめます。(※クラスターの色は実行するたびに変わります。プロットのマーカーが色によって違うので見た目が少し違って見えますが、たぶん同じです。…たぶん!!)


●ゆるシミュ(2020)


 これより「ゆるシミュ(8)」と同じようなことをしてまいります。

行数を調べるnrow(myakari3d)
nrow(subset(myakari3d0, V3 == 0))
nrow(subset(myakari3d0, V3 == -3))


ドリームかまち
【A】「0m」「-3m」を除く1123319143
【B】「0m」5231843840
【C】「-3m」19852553
(計)6553665536
【B】+【C】5430346393


 こういう行数(点の数)になっていました。

・【A】のデータを主成分分析してからk-meansしておきました
・【B】のデータに対して、高さを持ち上げる処理をします
・【C】のデータには何もしません

 ありがとうございました。

 ただし、ここでいう「-3m」というのは、画像のピクセルの色に対して便宜的に割り当てた値であって、実際にゲームのマップで標高が「-3m」というわけではありません。実際には「0m」のエリアのエッジ(縁)が、その色のピクセルになっているようです。▼「0m」と「-10m」の境目と、▼「0m」と「10m」の境目とが、画像の色では区別がつかないんです。な・・・なんだってー!!(※白目)そういうことなら「-3m」ということにした点もぜんぶ「0m」とみなしてもいいのかもしれません。

 前回の「ゆるシミュ(8)」では、結果を大げさにしたかったので「10m」の地点も含めて「20m」まで持ち上げようということになっていましたが、今回は「10m」の地点はそういう繊細な表現がすでになされているとみなして、高さを持ち上げるのは「0m」の地点を「10m」まで、ということにしませう。(※恐縮です。)

・【B】+【C】のデータに対して、高さを持ち上げる処理をします

 しつれいしました。

・主成分分析してからk-meansして得たクラスターのcentersが主成分のままでは困る
・クラスターごとに「k=1」のクラスタリングをすればcentersがついてくるよ

 えーっ…(てんてんてん)。じぶんではいっさいプログラムを書きたくない極まれり!! …「k=1」でk-meansするとかいうぶれーをおゆるしください。(※ひらがな)

※実は、この先の処理を延々としたあとに気づいて、ここに戻ってきたのです。

 > > mykmakari9c3$centers
 > PC1 PC2 PC3
 > 1 1.5082311 0.45410016 -0.74480381
 > 2 2.4076531 -0.42904098 -0.31868477
 > 3 -1.2403147 1.27988424 0.02868430
 > 4 1.4108593 -0.09753942 0.17296904
 > 5 0.8330795 -0.15847497 0.49050686
 > 6 -1.4732912 -0.68974590 -2.26776004
 > 7 -1.4789615 -1.81651662 0.08133161
 > 8 -1.3734172 -0.02883136 0.04696207
 > 9 0.6111852 0.51037235 -0.06079406

 > > mycmpakari3d$rotation
 > PC1 PC2 PC3
 > V1 -0.5024975 -0.7837330 -0.3650463
 > V2 -0.5653311 0.6173030 -0.5471177
 > V3 0.6541384 -0.0685533 -0.7532619

 なるほどk-meansの返り値の「centers」が生の座標ではなく主成分得点での表現になってるのを、「prcomp関数」の返り値として格納されてくる「rotation」を使って元の座標に戻せばいいんじゃないですか。1行でばしっとぜんぶ元の座標に戻りませんか。えー…(てんてんてん)。

・まったくもってそれなことをしておられる(※恐縮です)
 http://sinhrks.hatenablog.com/entry/2014/10/19/000929

 > 主成分得点を主成分(固有ベクトル)と逆に回転すれば元の方向に戻る。また、prcomp デフォルトでは center = TRUE が指定されており、元データの平均値を 0 にする標準化が行われているので、こちらも逆の処理をすれば元データに戻せる。

 > prcomp(scale=TRUE) で標準偏差も標準化して主成分分析した場合は、平均値を戻す前に標準偏差を戻す。

 軽くゾッとできる。(※恐縮です。)

 > # 主成分と逆方向に回転
 > original <- pca.result$x %*% t(pca.result$rotation)
 >
 > # 標準偏差の標準化を元に戻す
 > original <- scale(original, center = FALSE, scale = 1 / pca.result$scale)
 >
 > # 平均値の標準化を元に戻す
 > original <- scale(original, center = -pca.result$center, scale = FALSE)

 うーん。

■「R with Excel」(続き)

original <- mykmakari9c3$centers %*% t(mycmpakari3d$rotation)
original <- scale(original, center = FALSE, scale = 1 / mycmpakari3d$scale)
original <- scale(original, center = -mycmpakari3d$center, scale = FALSE)


 > > original
 > V1 V2 V3
 > 1 10.66414 -146.160354 127.14646
 > 2 17.40309 -245.867978 151.39045
 > 3 46.62034 -19.050856 -53.04632
 > 4 22.30793 -207.189591 74.12020
 > 5 39.99796 -198.256122 28.80102
 > 6 245.60000 -5.701818 73.56364
 > 7 247.86204 -158.937799 -51.82616
 > 8 133.08186 -76.594436 -53.86838
 > 9 23.16213 -133.171206 45.38262
 > attr(,"scaled:scale")
 > V1 V2 V3
 > 0.01255929 0.01290547 0.01352539
 > attr(,"scaled:center")
 > V1 V2 V3
 > -77.69723 133.38770 -15.02448

 これでよかったんでしょうか。なお、y座標はプロットしたときに向きをそうしたいからマイナスにしてました。…数学のフレンズとコンピューターのフレンズとで原点を画面のどこに置くかが違うんですよ!(※恐縮です。)

■「R with Excel」(続き)

…あかりセンターだよ?
センターに、なったんだよ?
だから安心して未来に帰ってね(違)
myakaricenters9co <- as.table(original)


 あかりセンター!!(違)ありがとうございました。以下、「mykmakari9c3$centers」の代わりに「myakaricenters9co」とご指名ください。(違)

※表現は演出です。

 気を取り直して、…まいりましょうか!(棒読み)

■「R with Excel」(続き)

さっきの
「…いちどで済ませてくんない?」の
逆のやつプリーズっす
myakari3dg <- rbind(subset(myakari3d0,V3 == 0),subset(myakari3d0,V3 == -3))
nrow(myakari3dg)
# 行数を確かめます
1列目と2列目を取り出したテーブルをつくるmyakari2dg <- myakari3dg[ ,c(1, 2)]


 ぬおー…。groundの「g」です。あしからず。

・「R with Excel」の下書き(※これは実行しません)

1行目に重心の1つ目の座標、
2行目からg+1行目に
テーブルのg行を入れた
テーブルをつくる
mytab1xg <- rbind(myakaricenters9co[1, c(1,2)], myakari2dg)
距離行列をつくり
1番目からg番目(※1列目)だけを得る
mydist1 <- dist(mytab1xg, diag=FALSE, upper=FALSE)
mydist1xg <- head(mydist1, n=33333)
# 同様にして「mydist2xg」〜「mydist9xg」をつくる


 そのままなんですけどデータフレーム名で「33333」とか名指しするのをやめました。あとは行数を「33333」とハードコーディングしてあるのを「nrow()」しませうか。そうしようといいました。(…だれが?)

■「R with Excel」(続き)

…それもいちどで済まないの?mydist1xg <- head(dist(rbind(myakaricenters9co[1, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
length(mydist1xg)
# 返されたベクトルの要素の個数を確かめます


 ほぅ。16秒くらいかかるのでギクッとしますけどちゃんとできます。「gc()」しませう。(※「ギクッ」に傍点。)

※ここがあまりにも無駄なので(げふ)ちゃんとじぶんで書けばサーバーで動かせるくらい一瞬で終わる計算になるでしょう。それでも、ここではじぶんでコードを書かないことで(肝心の計算部分については)デバッグを不要にする、「いわば既製品を使う」という感覚を徹底します。なあに既製品だからいくらでも代わりがある。じゃぶじゃぶ使いたまへ。(棒読み)

・「12. ベクトルの作成」
 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/12.html

 > ベクトルの要素の個数をベクトルの長さと呼び,ベクトルの長さは関数 length() で調べる.

 「mydist1xg」はベクトルなので、nrowじゃなくてlengthで確かめます。

■「R with Excel」(続き)

コピペだぜ★
コピペだぜ★
コピペだぜ★
コピペだぜ★
コピペだぜ★
コピペだぜ★
コピペだぜ★
コピペだぜ★
mydist2xg <- head(dist(rbind(myakaricenters9co[2, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist3xg <- head(dist(rbind(myakaricenters9co[3, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist4xg <- head(dist(rbind(myakaricenters9co[4, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist5xg <- head(dist(rbind(myakaricenters9co[5, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist6xg <- head(dist(rbind(myakaricenters9co[6, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist7xg <- head(dist(rbind(myakaricenters9co[7, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist8xg <- head(dist(rbind(myakaricenters9co[8, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist9xg <- head(dist(rbind(myakaricenters9co[9, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()


 ぬふっ。

[3658]
 > 「dist関数」が返すのはdistオブジェクトみたいなのではあるけれど、head関数で見に行けばうまいこと扱ってくれて、距離行列として表示させたときの行列の左上から下へ1番、2番、(3番から33332番まで略)33333番の順で、上に戻って右へ1つ進んで33334番みたいな順で読み込んでくれます。…なるほどねぇ! 計算自体を33333番目で終わりにしてくれるオプションとかって、ないんですかねぇ。

 そういうもったいなさはあるけれど、さりとてじぶんでごりごり書いて、それに間違いがないか確かめるのが面倒すぎる。なあにメモリは32GBあるんだ。どんどん使いたまへ。(棒読み)

 https://neorail.jp/forum/uploads/r_memory.png

https://neorail.jp/forum/uploads/r_memory.png

 https://pbs.twimg.com/media/Dk-OHSZUcAAJyuC.jpg

 1度も着ない服(違)じゃぶじゃぶ使って、なんかきもちいい。(※個人の感想です。)

■「R with Excel」(続き)

コピペだぜ★myfunc1 <- function(a,b) sqrt(a ^ 2 + b ^ 2)
myfunc3 <- function(delta,max,min,height) ((delta - min) / (max - min)) * height
myfunc2 <- function(delta,dist) ((delta * 2) * (1 / (dist ^ 2)))


 自作の関数を定義しています。自作の関数は定義するけれど「for」は使わない。これを対話的という。(※恐縮です。)

■「R with Excel」(続き)

mydeltaakari0 <- cbind(myfunc2(myakaricenters9co[1,3], myfunc1(mydist1xg, myakaricenters9co[1,3])), myfunc2(myakaricenters9co[2,3], myfunc1(mydist2xg, myakaricenters9co[2,3])), myfunc2(myakaricenters9co[3,3], myfunc1(mydist3xg, myakaricenters9co[3,3])), myfunc2(myakaricenters9co[4,3], myfunc1(mydist4xg, myakaricenters9co[4,3])), myfunc2(myakaricenters9co[5,3], myfunc1(mydist5xg, myakaricenters9co[5,3])), myfunc2(myakaricenters9co[6,3], myfunc1(mydist6xg, myakaricenters9co[6,3])), myfunc2(myakaricenters9co[7,3], myfunc1(mydist7xg, myakaricenters9co[7,3])), myfunc2(myakaricenters9co[8,3], myfunc1(mydist8xg, myakaricenters9co[8,3])), myfunc2(myakaricenters9co[9,3], myfunc1(mydist9xg, myakaricenters9co[9,3])))


 デルタ航空は定刻通りです。そらー!!(違)そのクラスターが「うみー!」なのか「やまー!」なのか区別せずぜんぶ使います。

■「R with Excel」(続き)

myakari0elv <- cbind(myakari2dg, myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 9.75))
colnames(myakari0elv) <- c("V1", "V2", "V3")
# 列名を揃えておく
マージするmynewakari3d <- rbind(myakari3d, myakari0elv)
等高線を描くために
256×256のテーブルを読み込む
myakari=read.table("clipboard",h=0)
読み込んだテーブルを行列に変換するcpmyakari <- as.matrix(myakari)
行列の要素を置き換えるcpmyakari[(-1 * (myakari0elv$V2) + 1) + 256 * (myakari0elv$V1)] <- myakari0elv$V3
等高線を描くcontour(cpmyakari, nlevels=256)


 うーん。「10m」まで持ち上げるので(持ち上げたときの最大の高さを)「9.75」とかにしてみます。列名を揃えるのは行をマージするためです。

・『ドリームインサイト』のゆうべでしたね(違)
 https://neorail.jp/forum/uploads/r_dream_cmp3_km9_contour.png

https://neorail.jp/forum/uploads/r_dream_cmp3_km9_contour.png


 …デスヨネー。その水面と水面の間には自然の川があるか、ある時代の殿様が運河をつくったり…しますよねゼッタイ。(※イメージ通りの結果に満足しているようすを活き活きと描写しています。)

 https://www.kankou-nichinan.jp/tourisms/316
 https://www.kankou-nichinan.jp/ctrl-nichinan/wp-content/uploads/4-horikawa-benkouikadanagashi-1.jpg

 > 1686年に**藩主****の命により二十八ケ月の歳月をかけ完成しました。
 > 当時の難工事を伝えるエピソードとして、運河を通すには50メートルもの岩盤を掘削する必要があり、工事を命じられた奉行は、運河掘削を断念しようとしましたが、**は「やっていないうちから弱音を吐いては恥ずかしいことだ。何年かかってもやり通せ。」と叱咤激励したと伝えられています。

 28ヶ月は2年4ヶ月です。

 > 昭和35年(1935年)に、大改修が行われ流域に貯木場が整備された。
 > 台風時には、漁船の避難場所としても活用されている。

 http://nippon.zaidan.info/seikabutsu/1996/00111/contents/016.htm

 > **総船頭は殿様の御用関船の管理や、参勤交代どきの船団操船を指揮する藩重臣の位置にあった。**船頭の下には船倉役人などがいた。小船頭衆は**家に直轄していた。日常は鰹釣り漁業、あるいは廻船に従事した。

 > **の****氏が**商船荷客扱店を**に開いたが、翌23年に東海道線が開通して、海路はさびれた。

・なんと『かまちインサイト』がおきあがって(以下略)
 https://neorail.jp/forum/uploads/r_kamachi_cmp3_km9_contour.png

https://neorail.jp/forum/uploads/r_kamachi_cmp3_km9_contour.png


 デスヨネー!! すんごい納得だ。うん。そういう「(わずか「6m」とはいえ“台地”の)ヘリ」に汽車が通るんですよ。これだね。(※個人の感想です。)

 https://neorail.jp/forum/uploads/r_dream_kamachi_map.png

https://neorail.jp/forum/uploads/r_dream_kamachi_map.png


 主成分分析してからk-meansするのと同じことを目で見て目視で視感だけで行なっていたんだなじぶん、とわかります。

・「nlevels=1024」のイメージです
 https://neorail.jp/forum/uploads/r_dream_cmp3_km9_contour_1024.png

https://neorail.jp/forum/uploads/r_dream_cmp3_km9_contour_1024.png

 https://neorail.jp/forum/uploads/r_kamachi_cmp3_km9_contour_1024.png

https://neorail.jp/forum/uploads/r_kamachi_cmp3_km9_contour_1024.png

 https://neorail.jp/forum/uploads/r_dream_kamachi_map_1024.png

https://neorail.jp/forum/uploads/r_dream_kamachi_map_1024.png


 等高線を4倍ほど細かくしたけれど…(てんてんてん)。▼「ドリーム」の「1.5m」の等高線が「川」を強く示唆してくるほか、▼「かまち」の南西部など広いところでは、「nlevels=256」では見えなかったニュアンスが見えてくる。…『ニュアンス』ねぇ。(※恐縮です。)▼「かまち長浜町」は「葡萄畑」になって「ワイナリー」でワインをつくるんだね。…「葡萄畑」になって「ワイナリー」でワイン!!

※先述の“2面指し”によって同じ町名を与えてある([3857])ので、「ドリーム」マップの「四日市」を「ドリーム四日市」、「かまち」マップの「長浜町」を「かまち長浜町」などと表記して区別します。あしからず。

 https://kotobank.jp/word/%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9-1282

 > コマンドやプログラムの名前をユーザーが覚えやすい名前に変更して使用する機能のこと。

 > 覚えやすい
 > 覚えやすい
 > 変更して使用

 https://japan-heritage.bunka.go.jp/ja/stories/story060/index.html

 > **盆地の東部は平坦地から傾斜地まで葡萄畑が広がり、
 > 初夏には深碧の絨緞、秋には紅葉の濃淡が日に映え、
 > 季節ごとに様々な風景を魅せてくれます。
 > 奈良時代から始まったと伝えられる葡萄栽培は、
 > 先人たちの知恵と工夫により、かつて水田や桑畑だった土地を一面の葡萄畑に変え、
 > またその葡萄畑に育まれたワインは
 > 日常のお酒として地域に根付きました。

 > かつて水田や桑畑だった
 > かつて水田や桑畑だった

 「一面の葡萄畑に」変えたのはいつですか。…ギクッ。戦後の稲の品種改良で「架空の佐野」に広がる広大な水田の収量がどーんと増えたら「かまち長浜町」みたいなところで無理して水田しなくてよくなる&そのころには桑畑といっても…(てんてんてん)。…戦後ですかっ!?(※表現は演出です。)

 そして「R with Excel」といいながらExcelを使わせる指示がなかったよ? …がびーん。いえね、「PAL8-CNV 〜ぱるはちこんぶ〜」に読み込ませたマップのビットマップからTSVからRでプロットしたやつやクラスター数を考える時のBCSSとか、そういうのをExcelに貼り付けて1つのファイルにしておいて「野帳(実験ノート)」にしませう、ということなんですよ。(※見解です。)


●「インサイト」とは何か


 冒頭で述べた「プレーヤーが目で見て目視で視感を言葉で述べ、というのでなく、データをほうりこめば自動で何らかの把握が完了する」は達成しました。(キリッ

[3670]
 > 「AI開発プロジェクトは成功までに3回失敗する、でも決して折れてはならない」(2018年9月3日)
 > > データを整理整頓し、分析しやすいよう“質”を高めていく作業は、意外にも理解を得られていません。
 > > AIにどのようなデータを与え、どのようなデータを出力させるのか。そして、そのデータによってどのようなアクションを起こすのか。

 > A9というものはV5に至ってなお「インサイト」を志向する気配が見られず、これから取り組まれて「3回しっぱい!」するのに付き合わされるのが目に見えているのだと、たぶんこういうわけです。…先は長いぞう。

[3739]
 > 「3回しっぱい!」するプロセスは切実なかたちでゼッタイに必要だから、いち早く「3回しっぱい!」してみせるべき。(キリッ

[3539]
 > えー、なになに? 「V5があるなら副題は『インサイト』でどうだい」ですって?

[3654]
 > 『A9V5!』みたいなゲームにむかって「副題は“インサイト”だよね(AIとかついてくるんだよね)」みたいなことを言っても空しいんですけれど、2022年になれば「いまさらー?」みたいな(大巾に中略)2019年くらいに『A9V5!』で「インサイト」みたいなことを言っておくと、2022年くらいに「盤石の体制!」で『A10!』に移行していけるのでは、ないんですかねぇ。

 そういう空気をたたえて2020年であります。

[3662]
 > インサイト!! …両手でぎゃふん(違)

[3513]
 > あるアイデアや方法というものは、「インサイトをそのまま実装したのみたいなの!」から始まって、『セカンドエディション!』みたいなので改良すべき点を網羅的に洗い出し、「3.0みたいなの」(⇒「LISPの洗練が完了するまでには、とてつもなく時間がかかる」[3166])で結実することが期待されるものだという一般化した理解にございます。

[3739]
 > ▼「「わたしたちがAIと呼びたいもの」=「主成分分析(PCA)」+「ファジィC-means(FCM)」!?」については[3676]を参照。…はひ!? この話題ってAIとかにつながっちゃうんですか。はい、そうなんです!(棒読み)

 > > うーん。「IT」と「AI」は時代が15年ほど違うよね。

 > このフォーラムは1999年からやっているのでそういうことが言えるんです。(キリッ

[3514]
 > 「パターン認識」(⇒マイニング)というのは、(「知能を持つ」)人にしかできない高度な知的タスクだと思われていたところ、これが計算機にもできるんですよん=これを「人工知能(AI)」というんですよ。それだけなんですよ、ええ。ですから「パターン認識」を使っていれば(=必然的に、その部分がコアになるわけですし)、そのシステムの全体を「AI!」と呼んで、…まあ、呼んでいいですよね&むしろ呼びたがっているんだ的な叫び(?)はわかりますよね。(※あくまで1つの見解です。)

 冒頭で述べた「プレーヤーが目で見て目視で視感を言葉で述べ、というのでなく、データをほうりこめば自動で何らかの把握が完了する」を果たしたから、これを「AI」と呼ぶか呼ばないかはどうでもいい。(キリッ

[3169]
 > なかなかどうして、私たちはなんとむずかしいパターン認識を一瞬でやってのけているのかと再認識されましょう。

 とはいえ、コンピューターにやらせてみればたかだか主成分分析してからk-meansするくらいのことしかしてなかったのだともわかっての本日「このフォーラム」であります。そもそもゲーム内で地形を「よく観察し」とはいうけれど、それはできてあたりまえというか、むずかしいことはしていないというか、何も考えずに自動的にやってるという感覚があったんですよ。それならコンピューターでもできるはずだと思ったら実際できた。なんか納得した。そういう話題でした。(※恐縮です。)

[3754]
 > 実時間で半日くらいかけて悩もうぜ

 > ぐふっ。いわれなくてもたっぷり悩んでます。マップコンストラクションで最初に列車が走るまでの長いこと長いこと! これを「長考に入る」ともいうよ。

 > > 有馬型温泉
 > > 乱暴に言えば、暖かい海水浴みたいなもの

 …『暖かい海水浴みたいなもの』!! 現在「仕掛かり中」の“鉄の盆栽©”こと「東海道53」「東京コンソメ」「ドリーム」「かまち」のいずれも、まだ列車が走っていません。な・・・なんだってー!!

[3657]
 > 「地形の自動生成」を使うという前提では、それを紙に描き写しているヒマがあったら、何もしなくていいからゲーム画面で地形そのものをよく観察しなさいってこった。観察するだけでも(実時間で)半日かかるとはこのことだよ。そして地形に応じて、320mグリッドどころじゃない細かさあるいは広がりをもって何らかの地勢(土地利用)をゲーム内の要素で表現していくんですよ。あまりにもカクカクとマス目で区切って考えましたみたいなことをすると最終的に不自然なマップになるんですよ。いわゆる「モバイルファースト」ではないけれど、ゲーム内で表現できるものがすべて。ゲーム内で表現可能な形式で最初から考える。これだね。(※見解です。)

 もはや「半日」もかからない。…うーん! それはちょっと興ざめなことじゃあ、あーりませんかぁ(がふっ)いえいえいえ! じぶんで遊ぶときはもちろんじぶんで「半日」かけて「よく観察し」すればいいんですよ。そうじゃなくて、「地形の自動生成」の結果を全自動で取捨選択して、だいたいk-meansでうまく分かれるような地形(≒プレーのヒントになる「わかりやすい地形」が点々と配置されたマップ)だけをポンと出してきて「火力発電所」だけおつけしてクイックにプレーが開始できるとか、何かそういう機能に使ってほしいんですよ。…あざっす!!(違)

[3770]
 > みなさま本件ゲームをおもむろに起動したのち(しばらくお待ちください)大きく「A列車で行こう9」と書かれた下のところ「マップコンストラクション」を選んで「テンプレート1:1」から「平地」を開いてメニュー「Edit」から「地形の自動生成」を思う存分お楽しみになっていただいて、じぶんがしっくりくる地形が出たら赤いボタン「新規保存」(※名前は「平地」のままでいいから!)しておいて(このときは地形だけをじゃんじゃん作成しながら、ちょっとでも「これは!」と思うものを9つくらい保存していく)、その9つのうちに1つくらいはこんな感じのがあるはずだから、それを「広域都市計画」という名のシナリオマップだと思って、じぶんで「提案1」「提案2」を書くつもりでプレーするのです。いいですね?

 > テンプレート「1:1モード」から「平地」を選んで「地形の自動生成」(※20〜50回くらい試すこと)

 現状では、「地形の自動生成」を初めて使おうとした人がたまたま画面を開いたときに、まるでおもしろくなさそうな地形が5つくらい連続して出てきちゃうのはざらであると思われるので、これをもって「地形の自動生成」という機能が過小評価される(つかいものにならない“粗大ごみ!”と誤解される)と思うんですよ。ええ。3秒も待てないような人に「地形の自動生成」を20〜50回ほど試せとは言えない。めんどうなのはきらい!! ゲームまるごと嫌われてしまう。な・・・なんだってー!!(棒読み)

[3770]
 > 本来は海底(の岩盤)から山頂(の山体)まで境目のないカタマリであって、それがこういう高さでこういう形になっているから水面がここにきて、そこが海になる、という順番で考えるところではあります。本件ゲーム「地形の自動生成」では最初から「海」と「山」を分けてつくる、海と山の連続性を欠いた、まことに“都合が良すぎる”地形がつくられてまいります。…われわれはゲームなので!(ぐぇ)

 > 「本来は海底(の岩盤)から山頂(の山体)まで境目のないカタマリであって、それがこういう高さでこういう形になっているから水面がここにきて、そこが海になる、という順番で考えるところではあります。本件ゲーム「地形の自動生成」では最初から「海」と「山」を分けてつくる、海と山の連続性を欠いた、まことに“都合が良すぎる”地形がつくられてまいります。」というところを想像で補うためのイメージです

 > …われわれはゲームなので!(ぐぇ)「平地」がのっぺりと生成されるけれど、その海岸線の形状を見て「ここは岩場に違いない」などと想像で補い、実際にそのような景観にしたければそこだけ手作業で「岩場」をつくればよろしい。(※きわめてメッソウなことを申しております。…通訳はバッチリです!)

 > それ以外の「平地」でも、これはゲームとしてのプレイアビリティのため完全に平坦という表現にはなっているけれど、実際には起伏があるんだという想像をしながら、ここは高台だと思えば城や公園を置くとか、そういうことをしていくんですよ。(※遊びかたは無数にあります。)

 「想像」という言葉で述べると「ただの勝手な想像でしょ?(半笑い)」という反応しか浮かんでこない。しかし、そうではない。

[3793]
 > その先の四角い、ドラえもんの道具をあわてて使って間違えてつくった巨大な地下室…じゃなくて、「一番町」という町名を与えたところは近世以降の「出島」あるいは「台場」であろうとの想像に難くないのはここだけの話な?(※表現は演出です。)その先にも点々と、2か所の浅瀬がある。なるほどマップの下半分で対角線、そういう感じの関数が「地形の自動生成」で作用したんですね、だから沖合(マップの右下の浅瀬)から順に関数のあばれかたが激しくなって、ここ(「飯倉」)みたいな地面ができてくるんですね、わかります。

 実は「想像」なんてあやふやなものではない。「その先にも点々と、2か所の浅瀬がある。」という情報を使って自動的に復元・補間しているんですよ。人力アルゴリズムなんですよ。(どやぁ

[3123]
 > 同じ情報を集めれば誰でも同じように推測できます、という客観的な事実

 そこに情報があるのに気づけないということが「想像」を妨げる。(棒読み)

[3787]
 > そのような考えのもと、この複雑な海岸線が真っ平らなわけがないという想像をして、そこに「青島」と呼ばれる青々とした丘をつくってトンネルを通すというような遊びかたがあるんですよ。…だんだん模型ちっくになってまいりました。

[3793]
 > 「地形の編集」を使ってマウスでぽちぽちとつくる山としての限界とやらを見せてもらいませうか。

 > もてるヘルベチ力をいかんなく発揮してぺちぺちと(違)海岸線を見ながら起伏を『復元!』していった感じと、想像上の「青島八景」のイメージとが混ざりながら、現に画面内で見て不自然さがなくなるまで延々と、何種類かのナイフやこての類を使い分けてプラスターを盛ったり削ったりするんです。

 https://www.tomytec.co.jp/tomix/products/img/8141.jpg

 何の変哲もないプラスターだけど「TOMIX」と書いてあるだけで…(てんてんてん)。

 > 最初にだいたいの最高地点を決めておく:ここでは景色が見えすぎないように遮る目的があるので「80m」とした&山の中腹に「高速道路」のジャンクションをつくるとかいうケッタイなストーリーであるので「40m」の平地をつくった:さらに途中に駅をつくるということなので「20m」の平地もわずかながら山かげにつくった(棒読み)

 https://upload.wikimedia.org/wikipedia/ja/5/5b/%E6%96%B0%E4%BF%9D%E5%9C%9F%E3%83%B6%E8%B0%B7%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%81%E3%82%A7%E3%83%B3%E3%82%B8_01.jpg
 https://upload.wikimedia.org/wikipedia/commons/9/97/Maioka-Sta-1.JPG

 > 隆起する岩になったつもりで鋭く凹凸をつけつつ
 > 岩を削る水になったつもりでなだらかに高低差を埋めたり
 > しばらくお待ちください
 > しばらくお待ちください

 https://www.timesclub.jp/sp/tanomachi_ex/kanagawa/yokohama/images/011_ph033.jpg

 > 何がどうしてこうなったか記憶にない。わるぎはなかった。(違)
 > セーブデータのタイムスタンプによれば30分が経っていた

 > ま、途中からは岩と水になりきってマウスを動かすのである。ほとんど何も考えていないし、途中のことは覚えていない。本当です。およそ30分ほどで「円海山」の完成です!

 「およそ30分ほどで「円海山」の完成です!」は、非常にうれしそうな声でナレーションしてください。ありがとうございました。なお、今回の「R with Excel」は、細かい説明は抜きの手順だけの骨格はおよそ7時間ほどでできあがったことを申し添えます。このあと『赤いバス』のツアーに参加されるかたは受付のあたりに集合してください。以上です。(違)

 https://www.expedia.co.jp/Things-To-Do-In-Yokohama.d6048260.Activities

 > 横浜で人気の現地オプショナルツアー

 https://opt.jtb.co.jp/special/hatobus/area10.html

 > 現地観光プラン・レジャーチケット・定期観光バス
 > 横浜中華街を巡るコース
 > 横須賀軍港めぐりと無人島「猿島」探検ツアー
 > 記念艦「三笠」の中で、横須賀野菜をふんだんに使った「よこすか海軍カレー」をお召し上がりください♪

 http://www.welcome.city.yokohama.jp/ja/tourism/transit/akaikutsu/
 http://www.welcome.city.yokohama.jp/ja/tourism/transit/akaikutsu/img/img01.jpg

※表現は演出です。終わりのほうで何か重要なことを言っても、帰りかけの客は何も聞いてないよ?、の意。


 「ボロノイ編」([3869])に続きます。


この記事のURL https://neorail.jp/forum/3868/


この記事を参照している記事


[3869]

まだ見ぬ「ドリームかまち」を探して(ボロノイ編)

2019/12/30

[3870]

【A9・Exp.】「国鉄と私鉄」こもごも(己)

2019/12/30

[3872]

いま問う『東海道53』のココロ(ボロノイ編)

2020/1/1

[3875]

【A9・Exp.】ここまででできるる「地形の自動生成」

2020/1/3

[3879]

【A9V1】「広域都市計画」を斬る(至)

2020/1/4

[3882]

【A9・Exp.】ニューゲームを自動分類するには(仕込編)

2020/1/11

[3917]

【A9・Exp.】「発展係数」どんぶりの疑い(丼)

2020/2/7

[3941]

まだ見ぬ「ドリームかまち」を探して(広域ドリーム編)

2020/2/29

[3957]

まだ見ぬ『御池1400』を探して(ボロノイ編)

2020/2/29

[4011]

きょうは県庁前でカツカレー。

2020/4/1

[4012]

きょうは府中で酢豚。

2020/4/1

[4049]

いつかどこかの「新橋立」で(インサイト編)

2020/5/7

[4050]

いつかどこかの「新橋立」で(ボロノイ編)

2020/5/7

[4074]

「照焼大橋」不滅なれ(AA横横編)

2020/5/21

[4078]

「照焼大橋」不滅なれ(ばりばり編)

2020/5/21

[4132]

実例に見る日英対訳(21) むさぼり系「Savory crepes」がっつりぃ?

2020/7/28

[4160]

なぜ「路線図」と呼んでしまうのか(談)

2020/8/1

[4173]

きょうは新札幌でバウムクーヘン。

2020/8/25

[4227]

【理数探究】「3一銀」を「1/3(さんぶんのいち)」で読み解く(仮)【固有ベクトル中心性あり】

2020/10/1

[4234]

きょうは南栗橋でぎゃふん。

2020/10/1

[4235]

きょうは天下茶屋で有楽町層。

2020/10/1

[4242]

つけたし『3面指し』(2)

2020/10/1

[4376]

あらぶるアートディンク有床道事件その顛末(Wチーズ編)

2021/1/1

[4394]

超展望「すももコース」(後編)

2021/1/16

[4408]

きょうは片岡でココア。

2021/1/16

[4440]

きょうはハウステンボス町で型ぬきバウム。

2021/2/1

[4474]

【A9V1】いまこそ「大都市構想R」のびのびワイド(後編)

2021/3/21

[4692]

【川上様夏祭り】「読んでいない本について堂々と語る方法」とは何か(談)【韮生太鼓あり】

2022/1/1

[4713]

「A列車で行こう9 公式エキスパートガイドブック」(再)

2022/4/1

[4725]

「かまちM」を再起動しました(中編)

2022/5/1

[4736]

【DX】「A列車で行こう9 印刷」への答えはYESなのだ(談)

2022/5/1

[4772]

アスパラが育つ(談)

2022/6/1

[4776]

時間の関係で午前1時と午前5時のローソンから(談)

2022/6/1

[4777]

【牛乳新幹線】飛鳥山が高野川で【サンドイッチ新幹線】

2022/6/1

[4778]

Re:[4741] A列車で行こう「みたいなゲーム」はこれだ(談)

2022/6/1

[4781]

鉄のソルフェージュをさがして(探)

2022/6/1

[4896]

最新最高「A列車で行こう9 MOD テクスチャ ダウンロード」最終解答(範)

2022/9/1

[4982]

ベクトル新浦安とベクトル舞浜のまいおどり(踊)

2023/2/1

[5088]

【A9V6】習志野でベセスダを見習え(談)【そしてA10へ】

2023/9/1

[5161]

【Steam版A9V4】「スペックを優遇」「スペックを揃えてほしい」とは何か(談)【ゆとり】

2024/2/29


関連する記事


[4513]

【PHS】「キタキツネの勢力範囲」とは何か(談)【竜王】 tht - 2021/4/1


[4072]

「照焼大橋」不滅なれ(ゆんゆん編) tht - 2020/5/21


[4478]

「空港連絡線は続くよ」続きます!(前編) tht - 2021/3/21


[4075]

「照焼大橋」不滅なれ(モスクワ編) tht - 2020/5/21


[4986]

きょうはゼスト御池で海の幸と山の幸。 tht - 2023/2/1


[4634]

ふれねる「自由研究 数学」の計(KEI) tht - 2021/8/25


[4983]

ベクトル海百山百のうたげ(宴) tht - 2023/2/1


[4073]

「照焼大橋」不滅なれ(タルタル編) tht - 2020/5/21






neorail.jp/は、個人が運営する非営利のウェブサイトです。広告ではありません。 All Rights Reserved. ©1999-2024, tht.