2019.01.22
幾何学プラレールを本当に走れるように3Dプリンタで作りたい。その1
この前紹介したこれ
昨晩のプラレール幾何学模様、実物のレールでもできました。(Twitter) こんな組み方があったのか! 「プラレール」日本最高のガチ勢がレール美を追求した同人誌「パパママのためのプラレール線形幾何学」がすごい - ねとらぼ 63 users
リンク先の画像をよく見ると、6回右に曲がって、1回左に曲がる。を繰り返しているように見えます。プラレールの標準レール(曲がったやつ)は半径は不明ですが、8個つなぐと円形になるので、1つあたり45度、すなわち270度進んで、45度反対方向にカーブって事。実際にどうなるかパソコン上で試してみました。出力のための座標決定の計算に必要な要素としてはこんな感じ(個人的メモ)

OpenSCADは関数のスコープが謎なので、Perlで組んでシミュレーションしてみたところ

おお!!確かに同じようにつながった!!!!!ただし白い線でレールのつなぎ目を表していますが、レールを45度間隔で出力した場合ではレールのつなぎ目にレールが重なる部分がくるようで問題ありそうです。う~ん。カスタムで分岐させつつ、レールの出力単位を変更する必要がありそうです。
使ったPerlのスクリプトは下記のような感じ。レール1つ分が終了した後の進行方向は上記の手書きの式を微分して求めています。
-----------------------------------
#!/usr/bin/perl
#
use GD;
$im = GD::Image->new(1000,1000);
$black=$im->colorAllocate(0,0,0);
$white=$im->colorAllocate(255,255,255);
$red=$im->colorAllocate(255,0,0);
$green=$im->colorAllocate(0,128,0);
$im->line(500,0,500,1000,$green);
$im->line(0,500,1000,500,$green);
@result=(0,0,0,1);
for($i=1;$i<=8;$i++){
@result=&right(@result);
@result=&right(@result);
@result=&right(@result);
@result=&right(@result);
@result=&right(@result);
@result=&right(@result);
@result=&left(@result);
}
$png = $im->png;
open (WR,'>out.png');
binmode WR;
print WR $png;
close WR;
exit;
sub right(){
($x1,$y1,$xa,$ya)=@_;
$r=100;
$xc=$x1+$ya*$r*sqrt(1/($ya*$ya+$xa*$xa));
$yc=$y1-$xa*$r*sqrt(1/($ya*$ya+$xa*$xa));
$im->filledArc(500+$x1,500+$y1,4,4,0,360,$white);
for ($t=0;$t<=45;$t=$t+0.05){
$x2=$xc+cos($t/360*3.14*2)*($x1-$xc)+sin($t/360*3.14*2)*($y1-$yc);
$y2=$yc+cos($t/360*3.14*2)*($y1-$yc)+sin($t/360*3.14*2)*(-$x1+$xc);
#bibun
$xv=-sin($t/360*3.14*2)*($x1-$xc)+cos($t/360*3.14*2)*($y1-$yc);
$yv=-sin($t/360*3.14*2)*($y1-$yc)+cos($t/360*3.14*2)*(-$x1+$xc);
$im->filledArc(500+$x2,500+$y2,1,1,0,360,$red);
};
$im->filledArc(500+$x2,500+$y2,3,3,0,360,$red);
return ($x2,$y2,$xv,$yv);
}
sub left(){
($x1,$y1,$xa,$ya)=@_;
$r=100;
$xc=$x1-$ya*$r*sqrt(1/($ya*$ya+$xa*$xa));
$yc=$y1+$xa*$r*sqrt(1/($ya*$ya+$xa*$xa));
$im->filledArc(500+$x1,500+$y1,4,4,0,360,$white);
for ($t=0;$t>=-45;$t=$t-0.05){
$x2=$xc+cos($t/360*3.14*2)*($x1-$xc)+sin($t/360*3.14*2)*($y1-$yc);
$y2=$yc+cos($t/360*3.14*2)*($y1-$yc)+sin($t/360*3.14*2)*(-$x1+$xc);
#bibun
$xv=-sin($t/360*3.14*2)*($x1-$xc)+cos($t/360*3.14*2)*($y1-$yc);
$yv=-sin($t/360*3.14*2)*($y1-$yc)+cos($t/360*3.14*2)*(-$x1+$xc);
$im->filledArc(500+$x2,500+$y2,1,1,0,360,$green);
};
return ($x2,$y2,-$xv,-$yv);
}
-----------------------------------
試しに他のつなぎ方も試してみました。
右に2回、左に1回、8回繰り返し。これだとデカい環状でつながります。

右に3回、左に1回、4回繰り返し。小さく4角形につながります。

右に3回、左に2回、8回繰り返し。これだとアホみたいにデカい環状でつながります。

右に4回、左に1回、8回繰り返し。これは結構美しい!!!!

右に4回、左に2回、4回繰り返し。変な形です(^^;

右に5回、左に1回、2回繰り返し。楕円形

右に5回、左に2回、8回繰り返し。これも結構面白い。

右に6回、左に1回、8回繰り返し。最初に紹介したやつです。これがコンパクトで一番美しいですね。

右に6回、左に2回、2回繰り返し。変な形。

右に7回、左に1回、4回繰り返し。これはちょっと「幾何学」って感じで面白いかもしれません。

右に7回、左に2回、8回繰り返し。これもかなり面白い!!!が中心部分のパーツは一体形成する必要がありそう。

これは面白いかも。実際にこの形で走れるレールをこれから出力してみようと思います。
昨晩の息子(5才)との会話
息子「パッパ~、xxちゃんも大人になったら3Dプリンターで好きなレール作れるようになるかなー」
俺「うんうん、大人にならなくても小学生ぐらいになったら作れるよー」
息子「あと何回寝たら小学生?」
俺「1000回ぐらい」
息子「100が10個?」
俺「そお」
誰でも作れるようになるわけじゃないんだが、彼はどこまで行くんだろうか?親の影響は強力で残酷だ。可哀そうだが、リア充文系人生はもう無理なんじゃないだろうか。
そっか1歳半でプラレール与えたんだね。ちっこくてかわいー。今じゃヒドイ悪ガキなのに。
Category:#DIYプラレール
Follow @fetuin
■ ■ ■ コメント ■ ■ ■
この記事のアクセス数:1513本カテゴリーで直近コメントが書かれた記事
04/29 10:41:DIYカスタムプラレール売りに出しました!623947分前
03/23 01:08:お花見仕様のピンク水玉カスタム幾何学プラレール。by多色3Dプリンター。ちゃんと走るよ動画470日前
03/04 20:54:ピンクの水玉プラレールを大量製造中488日前
02/17 12:54:Bambulab A1 miniの多色出力でピンクの水玉のプラレール!505日前
→カテゴリー:#DIYプラレール(記事数:26)
本カテゴリーの最近の記事(コメント数)
2024.04.28DIYカスタムプラレール売りに出しました!11コメ
2024.03.22お花見仕様のピンク水玉カスタム幾何学プラレール。by多色3Dプリンター。ちゃんと走るよ動画38コメ
2024.03.02ピンクの水玉プラレールを大量製造中5コメ
2024.02.16Bambulab A1 miniの多色出力でピンクの水玉のプラレール!26コメ
2022.02.18俺のゴーストがこれを3Dプリンターとプラレールで再現しろと言っている8コメ
2021.04.05DIY幾何学プラレール第3弾【出力データあり】。これも美しいなぁ♪2コメ
2021.01.11DIY幾何学プラレール第2弾(メルカリに出品中)91コメ
2020.12.24幾何学DIYプラレール2020年12月最新版【3Dプリンタ用データ(stl)有り】21コメ
2020.03.05DIY幾何学プラレール3Dプリント用データ(.stl)公開(ver.2020.02.29)。完璧じゃないけど56コメ
2019.12.19DIY幾何学プラレールの外周部脱線多発ゾーンの要因分析71コメ
最近の常連さん ω★105 ななしさそ★73 らむ★32 特命さん★79 酔もぐら★41 ポコ★346 umomo★2 JP★26 10年選手★48 名古屋関西人 TW★25 ふぇちゅいんさんふぁん(ゆるりゆラリー)★102 トクメー★17 白★53 さてさて★30 とくめい★82 匿名?★28 knob★2 Dcd★85 すきやき★78 orz★38 うにゃ(emでネクサス5→�)★38 京ポン3B(意地でもエッジ)★40 ふぇいちゅん★2 うぃ(滅茶苦茶久しぶり)★70 ふぇちゅいん(主宰) TW★96 謎★80 τ(はじめてのすまほ) TW★52 ☆★45 F★52 774(←半角のひと)★83 |