|
・「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
数字が振ってあるほうは平地なので見ないでいただいて、ボロノイ図のほうの母点を見ていただきます。これが平地以外の地点をクラスタリングして得たクラスターの重心を表示してございます。
ここで、山地と水面をまとめて「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_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_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
ぎゃー。造幣局のすごい技術みたいなやつ。(違)
・(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_plot.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
山地と水面をいっしょに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キロ「ひた走る」)と思ってもよかったのでした。実際の中央東線と中央西線を見れば、それは決しておおげさでも不自然でもないと思われましょう。ありがとうございました。(棒読み)
| |