プログラミングのお題スレ Part18

■ このスレッドは過去ログ倉庫に格納されています
2020/07/14(火) 13:53:46.47ID:jW5p6F/e
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
プログラミングのお題スレ Part17
https://mevius.5ch.net/test/read.cgi/tech/1584031367/
2020/07/19(日) 13:58:11.60ID:GV3E92FC
(1) https://gist.github.com/katahiromz/694763e2060d4a004452875bebc04ee3
二次元タートルグラフィックスで八角形を描けたよ。

お題: (1)と(2)のリンクを参考にコッホ曲線を描画せよ。

(2) http://www.f.waseda.jp/sakas/java/JavaGraphicsSample.html
2020/07/19(日) 14:05:25.72ID:GV3E92FC
>>110 答え:
function koch(degree, step) {
  if (degree == 0) {
    walk(step);
  } else {
    koch(degree - 1, step/3);
    turn_angle(60);
    koch(degree - 1, step/3);
    turn_angle(-120);
    koch(degree - 1, step/3);
    turn_angle(60);
    koch(degree - 1, step/3);
  }
}
function draw() {
  set_pos(0, 0, 0);
  set_dir(100, 0, 0);
  koch(5, 75);
}
2020/07/19(日) 14:45:30.46ID:GV3E92FC
小さなお題: >>110 の(1)のturn_dir関数とturn_angle関数を3次元に拡張し、
3次元タートルグラフィックスを可能にせよ。

ただし、turn_dirの引数は長さ1の方向ベクトルとし、turn_angleの引数は角度とする。
turn_dirは、引数dzが0のとき、変更前と同じ動作にせよ。
また、turn_angleの引数にもう一つの角度を追加し、追加した角度がゼロのとき、
変更前と同じ動作にせよ。

ヒント:四元数
2020/07/19(日) 14:48:01.51ID:EiEVeWaP


66 名前:デフォルトの名無しさん[sage] 投稿日:2020/07/18(土) 00:01:47.57 ID:tp8HW1uL [1/2]
ついに蟻人間は、3次元まで行ってしまったか

その内、Quaternion(4元数)がどうたらこうたらと、言い出しかねないw
2020/07/19(日) 21:17:44.37ID:T8vbWyFG
さて、解けた者は挙手したまえ。
2020/07/19(日) 21:45:13.46ID:h5vFOzT4
頭が悪いことがばれたからって
必死に数学の知識を見せようと頑張ってる

でも頭の悪さが随所に滲み出てる
自覚のないアホ
2020/07/19(日) 21:56:49.40ID:GV3E92FC
>>115 数学出来るなら手伝ってくれよ。。。これから面白くなるから。

function turn_angle(angle1, angle2) {
// x-y平面上のangle1度の方向ベクトル(dx, dy)。
var dx = Math.cos(angle1 * Math.PI / 180);
var dy = Math.sin(angle1 * Math.PI / 180);

// (dx, dy, 0)をx軸を中心にangle2度回転したものを(dx, dy, dz)とする。
...(ここに何か書く)...

// 実際に回転させる。
turn_dir(dx, dy, dz);
}
2020/07/19(日) 21:57:24.56ID:5kiTFqsE
誰もイキらずに淡々と問題と答えのレスだけ並んでく雰囲気は良さを感じたけど
やっぱクソコテって怖いな
2020/07/19(日) 22:06:51.03ID:GV3E92FC
>>116
dz = dy * Math.sin(angle2 * Math.PI / 180);
dy *= Math.cos(angle2 * Math.PI / 180);

次は、三次元のturn_dirね。数学、スゴクデキルんでしょ?
2020/07/19(日) 22:12:10.73ID:GV3E92FC
お題: JavaScript
function turn_dir(dx, dy, dz) {
// (dx, dy, dz)は長さ1の方向ベクトル。
// 長さ1の方向ベクトル(turtle_dx, turtle_dy, turtle_dz)を(dx, dy, dz)だけ回転させる。
...(ここに何か書く)...
}
2020/07/19(日) 22:16:20.98ID:GV3E92FC
♪はい、コーディングいってみよー!

はいはいはい、はいはいはい!
2020/07/19(日) 23:32:08.26ID:T8vbWyFG
俺はそういう悪評トリックに引っ掛からないよ。間違いは的確に指摘頂きたい。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況