フォーラム - neorail.jp R16

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


2021年4月の話題
更新:2021/11/3

[4513]

【PHS】「キタキツネの勢力範囲」とは何か(談)【竜王】


「R with Excel」(差し替え)
「R with Excel」(ボロノイ図)
「R with Excel」(ベクトル円海山)
「R with Excel」(新札幌バウム)

(約13000字)

 [4510],[4511]の続きです。

・おさらい
 http://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/voronoi-diagram/voronoi-diagram.html
 http://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/voronoi-diagram/images/vd1.gif

 > キタキツネの勢力範囲
 > 最も近いPHSの基地局を探す

 http://blogimg.goo.ne.jp/user_image/24/1f/4a65d42776d632d49675a95f463e3415.jpg
 http://blogimg.goo.ne.jp/user_image/55/ce/aefd5899d333a4ce291c8ccd26015071.jpg
 http://1.bp.blogspot.com/-MifTh2LY5h4/UBpd64Uh9BI/AAAAAAAAKA0/hb5GXQTl8-g/s1600/3.jpg
 https://cdn-ak.f.st-hatena.com/images/fotolife/c/chuoline/20170801/20170801210908.jpg
 https://pbs.twimg.com/media/BpkCrpYCQAA_U-R.png

※画像はイメージです。

・(再掲)
 https://neorail.jp/forum/uploads/a9v1_edit_strides04_xyz.tsv
 https://neorail.jp/forum/uploads/a9v1_edit_strides04_256x256.tsv
 https://neorail.jp/forum/uploads/r_a9v1_edit_strides04_002.png

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


 数字が振ってあるほうは平地なので見ないでいただいて、ボロノイ図のほうの母点を見ていただきます。これが平地以外の地点をクラスタリングして得たクラスターの重心を表示してございます。

 ここで、山地と水面をまとめて「k=17」にしたけれど、そういうことじゃなかった。…そういうことじゃなかった!(※悲鳴)

※注:クラスタリングはk-meansです。ボロノイ図はあとから描いてあるだけです。

・山地だけでk=9
・水面だけでk=9
・がっちゃんこしてk=18の「ベクトル円海山」したかった

 えー…(てんてんてん)。似たようなことは[4049]でもやったかもしれませんが、改めて試してみませうといいました。

・ARXの「ベクトル円海山」
 https://arx.neorail.jp/experiment/?%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E5%86%86%E6%B5%B7%E5%B1%B1

■「R with Excel」(差し替え)

myakari3d0=read.table("clipboard",h=0) # XYZのほうのTSVデータ
# TSVデータを読み込みます
myakari3d <- rbind(subset(myakari3d0,V3> 0),subset(myakari3d0,V3< -3))
myakari3dyama <- subset(myakari3d0,V3> 0)
myakari3dumi <- subset(myakari3d0,V3< -3)
mycmpakari3dyama <- prcomp(myakari3dyama, scale=TRUE)
mykmcmpakari3dyama <- kmeans(mycmpakari3dyama$x, 9, nstart=50)
mycmpakari3dumi <- prcomp(myakari3dumi, scale=TRUE)
mykmcmpakari3dumi <- kmeans(mycmpakari3dumi$x, 9, nstart=50)
library(mclust) # 起動するたびに必要
clPairs(myakari3dyama, cl=mykmcmpakari3dyama$cluster)
# プロットされた図を右クリックしてコピーや保存をします
clPairs(myakari3dumi, cl=mykmcmpakari3dumi$cluster)
# プロットされた図を右クリックしてコピーや保存をします


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

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

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

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


 こうでなくちゃ。

■「R with Excel」(ボロノイ図)

originalyama <- mykmcmpakari3dyama$centers %*% t(mycmpakari3dyama$rotation)
originalyama <- scale(originalyama, center = FALSE, scale = 1 / mycmpakari3dyama$scale)
originalyama <- scale(originalyama, center = -mycmpakari3dyama$center, scale = FALSE)
originalumi <- mykmcmpakari3dumi$centers %*% t(mycmpakari3dumi$rotation)
originalumi <- scale(originalumi, center = FALSE, scale = 1 / mycmpakari3dumi$scale)
originalumi <- scale(originalumi, center = -mycmpakari3dumi$center, scale = FALSE)
install.packages("ggvoronoi") # これは最初に1回だけ必要な操作です
library(ggvoronoi) # 起動するたびに必要
myakaridd <- data.frame(rbind(originalyama[,c(1,2)], originalumi[,c(1,2)]))
names(myakaridd) <- c("x", "y")
myakaridd <- rbind(myakaridd, c(0,0), c(0,-256), c(256,0), c(256,-256)) # 4隅の点を追加
ggplot(myakaridd,aes(myakaridd$x, myakaridd$y)) + stat_voronoi(geom="path") + geom_point() + geom_rect(aes(xmin=0, xmax=256, ymin=-256, ymax=0), fill=NA, color="red")
# プロットされた図を右クリックしてコピーや保存をします


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

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


 うーん。

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

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


 …うーん! とにかく「k=18」な重心の座標のリストが得られて、あとは「18」まである「ベクトル円海山」をごりごりします。レッツごりごり。(※体言止め)

■「R with Excel」(ベクトル円海山)

myakarioriginalcenters <- as.table(rbind(originalyama, originalumi))
myfunc1 <- function(a,b) sqrt(a ^ 2 + b ^ 2)
myfunc2 <- function(delta,dist) ((delta * 2) * (1 / (dist ^ 2)))
myfunc3 <- function(delta,max,min,height) ((delta - min) / (max - min)) * height
myakari3dg <- rbind(subset(myakari3d0,V3 == 0),subset(myakari3d0,V3 == -3))
myakari2dg <- myakari3dg[ ,c(1, 2)]
mydist1xg <- head(dist(rbind(myakarioriginalcenters[1, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist2xg <- head(dist(rbind(myakarioriginalcenters[2, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist3xg <- head(dist(rbind(myakarioriginalcenters[3, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist4xg <- head(dist(rbind(myakarioriginalcenters[4, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist5xg <- head(dist(rbind(myakarioriginalcenters[5, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist6xg <- head(dist(rbind(myakarioriginalcenters[6, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist7xg <- head(dist(rbind(myakarioriginalcenters[7, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist8xg <- head(dist(rbind(myakarioriginalcenters[8, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist9xg <- head(dist(rbind(myakarioriginalcenters[9, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist10xg <- head(dist(rbind(myakarioriginalcenters[10, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist11xg <- head(dist(rbind(myakarioriginalcenters[11, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist12xg <- head(dist(rbind(myakarioriginalcenters[12, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist13xg <- head(dist(rbind(myakarioriginalcenters[13, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist14xg <- head(dist(rbind(myakarioriginalcenters[14, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist15xg <- head(dist(rbind(myakarioriginalcenters[15, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist16xg <- head(dist(rbind(myakarioriginalcenters[16, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist17xg <- head(dist(rbind(myakarioriginalcenters[17, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
mydist18xg <- head(dist(rbind(myakarioriginalcenters[18, c(1,2)], myakari2dg), diag=FALSE, upper=FALSE), n=nrow(myakari2dg))
gc()
# かなり時間がかかる場合があります
mydeltaakari0 <- cbind(myfunc2(myakarioriginalcenters[1,3], myfunc1(mydist1xg, myakarioriginalcenters[1,3])), myfunc2(myakarioriginalcenters[2,3], myfunc1(mydist2xg, myakarioriginalcenters[2,3])), myfunc2(myakarioriginalcenters[3,3], myfunc1(mydist3xg, myakarioriginalcenters[3,3])), myfunc2(myakarioriginalcenters[4,3], myfunc1(mydist4xg, myakarioriginalcenters[4,3])), myfunc2(myakarioriginalcenters[5,3], myfunc1(mydist5xg, myakarioriginalcenters[5,3])), myfunc2(myakarioriginalcenters[6,3], myfunc1(mydist6xg, myakarioriginalcenters[6,3])), myfunc2(myakarioriginalcenters[7,3], myfunc1(mydist7xg, myakarioriginalcenters[7,3])), myfunc2(myakarioriginalcenters[8,3], myfunc1(mydist8xg, myakarioriginalcenters[8,3])), myfunc2(myakarioriginalcenters[9,3], myfunc1(mydist9xg, myakarioriginalcenters[9,3])), myfunc2(myakarioriginalcenters[10,3], myfunc1(mydist10xg, myakarioriginalcenters[10,3])), myfunc2(myakarioriginalcenters[11,3], myfunc1(mydist11xg, myakarioriginalcenters[11,3])), myfunc2(myakarioriginalcenters[12,3], myfunc1(mydist12xg, myakarioriginalcenters[12,3])), myfunc2(myakarioriginalcenters[13,3], myfunc1(mydist13xg, myakarioriginalcenters[13,3])), myfunc2(myakarioriginalcenters[14,3], myfunc1(mydist14xg, myakarioriginalcenters[14,3])), myfunc2(myakarioriginalcenters[15,3], myfunc1(mydist15xg, myakarioriginalcenters[15,3])), myfunc2(myakarioriginalcenters[16,3], myfunc1(mydist16xg, myakarioriginalcenters[16,3])), myfunc2(myakarioriginalcenters[17,3], myfunc1(mydist17xg, myakarioriginalcenters[17,3])), myfunc2(myakarioriginalcenters[18,3], myfunc1(mydist18xg, myakarioriginalcenters[18,3]))) # ここまでで1行です(改行を入れないでください)
myakari0elv <- cbind(myakari2dg, myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 9.75))
colnames(myakari0elv) <- c("V1", "V2", "V3")
mynewakari3d <- rbind(myakari3d, myakari0elv)
myakari=read.table("clipboard",h=0) # 256x256のほうのTSVデータ
# TSVデータを読み込みます
cpmyakari <- as.matrix(myakari)
cpmyakari[(-1 * (myakari0elv$V2) + 1) + 256 * (myakari0elv$V1)] <- myakari0elv$V3
contour(cpmyakari, nlevels=2048)
# プロットされた図を右クリックしてコピーや保存をします


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

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


 ぎゃー。造幣局のすごい技術みたいなやつ。(違)

・(2019年5月21日)
 https://www.nishinippon.co.jp/item/o/511657/

 > 国立印刷局は20日までに、2024年度上期に全面刷新予定の新紙幣で採用する偽造防止技術などを報道関係者に公開した。

 > 約20年間かけて一人前に成長する「工芸官」と呼ばれる技術者が、金属の板を彫刻刀で彫って原版を作成する様子も紹介した。

・「キタキツネ」
 https://ja.wikipedia.org/wiki/%E3%82%AD%E3%82%BF%E3%82%AD%E3%83%84%E3%83%8D

 > 「ワン!」と、犬のような鳴き声で知られている。
 > 1978年(昭和53年)公開のドキュメンタリー映画『キタキツネ物語』でよく知られるようになった。

 ファンシーなキーホルダーになるんですよ。イルカやシャチに取って代わられるまでね。そのあとサンリオがわがもの顔(げふ)自治体が著作権を持つキャラに至る。しかし、公金でキャラを買わされているに等しい。支出が少ないなら、なおさら問題だ。よからぬ輩にただ同然で業績を与えるようなものだ。自治体の信用へのただ乗りである。○か×か。

・「ホンドギツネ」
 https://ja.wikipedia.org/wiki/%E3%83%9B%E3%83%B3%E3%83%89%E3%82%AE%E3%83%84%E3%83%8D

 > 大阪府内にて

 「大阪府内にて」! 北のほうなのか東のほうなのかわからないじゃないか。情報をなしていない。

 http://www.hokusetsu-ikimono.com/iki-h/hondogitsune/index.htm

 > 残念ながら撮影場所は大阪府ですが北摂地域ではありません。

 じぶんの地元じゃないというだけで「残念ながら」と書くとは失敬な。自然に対して横柄ともいう。

 http://www.nature.or.jp/assets/files/CHOUSAKENKYU/seibutsutayousei-MAP/20150228-104954.pdf

 吹田市と四条畷市と河内長野市に表示があるけれど、公益社団法人のくせに「ハイム天神橋202」というのはどういうことよ。「ハイム天神橋202」なのはいいとしても、(制度面で)公益社団法人の安売りに過ぎる。社団法人なのだから商売人の集まりだ。自然をキーワードにした商品を買ってくれそうな見込み客を発見したり、子どもをそのような上客に育てようという目論見だ。社団法人としてはそれでいいのだが、公益社団法人というのが行き過ぎだ。えー…(てんてんてん)。

・(再掲)
 http://jisin.jp/wp-content/uploads/2018/05/119103.jpeg

 > なまら小さいの
 > 500円

[4404]
 > > 「この子はうちの子だったんじゃないか。連れて帰らなければ」と思ってしまう。

・「ファンシー天神」は実在したッ…!!
 https://suumo.jp/library/tf_40/sc_40223/to_1001455066/
 https://monomax.jp/blogimg/tkj_monomax/imgs/4/6/4646c625.jpg
 https://monomax.jp/blogimg/tkj_monomax/imgs/5/9/597a507c.jpg

 困るんだよね実在してもらっちゃ。(違)

・ARXの「新札幌バウム」
 https://arx.neorail.jp/experiment/?%E6%96%B0%E6%9C%AD%E5%B9%8C%E3%83%90%E3%82%A6%E3%83%A0

■「R with Excel」(新札幌バウム)

# ベクトル円海山のRスクリプトを実行したあとに続けて実行します

mycmpakari0elv <- prcomp(myakari0elv, scale=TRUE)
mykmakari17elvc3 <- kmeans(mycmpakari0elv$x, 17, nstart=50)
clPairs(myakari0elv, cl=mykmakari17elvc3$cluster)
# プロットされた図を右クリックしてコピーや保存をします
original <- mykmakari17elvc3$centers %*% t(mycmpakari0elv$rotation)
original <- scale(original, center = FALSE, scale = 1 / mycmpakari0elv$scale)
original <- scale(original, center = -mycmpakari0elv$center, scale = FALSE)
myakaricenters17elvc3o <- as.table(original)
plot(myakari2d, type="n")
text(myakaricenters17elvc3o)
rect(0, 0, 256, -256, border = "red")
# プロットされた図を右クリックしてコピーや保存をします
clPairs(rbind(myakari0elv[c(1,2)], c(0,0)), cl=append(mykmakari17elvc3$cluster, c(18)))
rect(0, 0, 256, -256, border = "red")
# プロットされた図を右クリックしてコピーや保存をします


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

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

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

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

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

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


 南西部で顕著ですけど、水面を挟んで両岸におよぶクラスターになってくる。重心が水面の上にあったりする。北西部では、高さだけを見るあまり、高さが同じだからといって飛び地をつくってくれちゃう。

 https://kiyoken.com/asset/img/hyo/img-08.jpg
 https://i.pinimg.com/564x/f1/56/d2/f156d22a85f5c7a03a9d3783a2c6840f.jpg
 https://kotobank.jp/word/%E3%82%B2%E3%83%AA%E3%83%9E%E3%83%B3%E3%83%80%E3%83%BC-491147
 https://neorail.jp/forum/uploads/r_a9v1_edit_strides04_004.png

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


 山地と水面をいっしょにk=17するのと、どっちがいいんでしょうかね。好きにしてくださいとしか…(てんてんてん)。サラマンダーとはいわないけれど、クラスター(分割)の形状が非常に変化に富んで、そこはおもしろいのであった。

・「mykmakari17elvc3$size」

1403
1548
1180
1904
1509
1394
1699
1596
2126
1484
1287
1578
243
692
1230
1057
2943


 https://livedoor.blogimg.jp/hegi0229/imgs/1/c/1c5f6e67.jpg
 https://pbs.twimg.com/media/EWNRfZTUwAYEr8N.png
 https://tk.ismcdn.jp/mwimgs/5/a/-/img_5a7b6d32a07d2e2c9e7338d82639067f495621.jpg
 https://kaisatsugazo.net/wp/wp-content/uploads/imgs/livedoor/74bc7838.jpg
 https://cdn.4travel.jp/img/tcs/t/tips/pict/src/164/353/src_16435316.jpg
 https://upload.wikimedia.org/wikipedia/commons/f/f0/JR_East_E233_series_EMU_1001.JPG
 https://images-na.ssl-images-amazon.com/images/I/41nsKXdLBVL._AC_SX466_.jpg

・「6」の東端に「7」の飛び地が:そこの地形はものともせず、すごい高さの高架橋で新幹線でも高速道路でも直線でつっきれとおっしゃる
・あえて「13」の南から入ってきて長大トンネルを経て「8」に出て「7」の街で乗り降りさせ、そのあと「6」から、どこを通るかは知らないが「14」まで到達するような長距離列車ばんばん

 https://masakatorisphoto.files.wordpress.com/2012/10/030.jpg
 https://pds.exblog.jp/pds/1/201306/02/60/a0237960_20501745.jpg
 https://blogimg.goo.ne.jp/user_image/22/d2/ce97a1269416ea326111797bcfba3116.jpg
 https://livedoor.blogimg.jp/ona3/imgs/0/5/0583d9c1.jpg

 あくまでゲームです。

・(2011年12月31日)
 https://news.mynavi.jp/article/trivia-131/
 https://news.mynavi.jp/article/trivia-131/images/001.jpg

 「13」から「7」まで9キロと「7」から「14」まで13キロをあわせた22キロのルートを、マップ上ではかくっと折れ曲がるけれど、頭の中のイメージとしては直線的なルートだ(22キロ「ひた走る」)と思ってもよかったのでした。実際の中央東線と中央西線を見れば、それは決しておおげさでも不自然でもないと思われましょう。ありがとうございました。(棒読み)


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


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


[4515]

いま問う「正方形」のココロ(矩)

2021/4/1

[4594]

【A9V2】「水面に揺れる工場の灯」の地形が気に入らないときは

2021/6/1

[4646]

エンドウたんぱく【パレート】

2021/11/1

[4789]

きょうは業平橋でフィレ。

2022/6/1

[4983]

ベクトル海百山百のうたげ(宴)

2023/2/1

[5047]

サムシング葉山とスーパーかまくらーズ(前編)

2023/7/7

[5068]

左上にタイトルを書く。京浜東北線を拾う。(前編)

2023/8/1

[5240]

実例に見る総合評価(5) N県立高:理数探究基礎の5段階評価

2024/5/31

[5245]

【A9V5】「ダイヤを作るのが非常に大変と聞いた」とは何か(談)

2024/7/7

[5251]

きょうは横浜国語で玉虫色。

2024/9/1

[5255]

動画無用論 v.s. 動画の矜持(前編)

2024/9/1

[5278]

【ポルタ】試しに「京都市高速鉄道烏丸線遺跡調査会」を斬ってみる【ブツ】

2024/10/1


関連する記事


[4235]

きょうは天下茶屋で有楽町層。 tht - 2020/10/1


[4986]

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


[4982]

ベクトル新浦安とベクトル舞浜のまいおどり(踊) tht - 2023/2/1


[4478]

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


[4173]

きょうは新札幌でバウムクーヘン。 tht - 2020/8/25


[4725]

「かまちM」を再起動しました(中編) tht - 2022/5/1


[4440]

きょうはハウステンボス町で型ぬきバウム。 tht - 2021/2/1


[4246]

つけたし『3面指し』(6) tht - 2020/10/1






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