- 124 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 07:42:33.17 ID:ozWDjdlg.net]
- >>118
やってみたよ function turn_angle(angle1, angle2) { if( !angle2 || angle2==0){ turn_dir(Math.cos(angle1 * Math.PI / 180), Math.sin(angle1 * Math.PI / 180), 0); }else{ // 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)とする。 var dz = dy * Math.sin(angle2 * Math.PI / 180); //dy *= Math.cos(angle2 * Math.PI / 180); turtle_dz = dz; // 実際に回転させる。 turn_dir(dx, dy, dz); } } function draw() { set_pos(0, 0, 0); set_dir(0, 100, 0); for (var i = 0; i < 18; ++i) { walk(15); //turn_angle(45); turn_angle(45, 20); } } https://i.imgur.com/CdQvIDR.png https://i.imgur.com/G4HUVBh.png
|

|