考え方はいろいろ、でも意外に難しかった
中学数学発展篇図形改訂新版 中1~中3 (未来を切り開く学力シリーズ) [ 橋野 篤 ] 楽天で購入 【問題】平面上で2点(a,b)を対角線にもつ正方形がある。残りの2点(c,d)の座標の求め方を考えよ。最初に思いつくのが、a点とb点の中点から、直角の対角線を引いて、中点から対角線のa点から中点までの距離とするc点とd点を求める。中学生なら、こーいう解き方か、、、高校生以上だと、線型代数を使った解き方かな?対角線ab上のe点を45度回転したc点、-45度回転したd点を求めるcx = ex * cos45° - ey * sin45°cy = ex * sin45° + ey *cos45°dx = ex * cos-45° - ey * sin-45°dy = ex * sin-45° + ey *cos-45°Javaで書くと、、、double[] e = new double[]{Math.sqrt(2) * Math.abs(b[0] - a[0]) /2, Math.sqrt(2) * Math.abs(b[1] - a[1]) /2};double[] c = new double[2];double[] d = new double[2];c[0] = (Math.min(b[0], a[0])) + (e[0] * Math.cos(Math.PI /4)) - (e[1]* Math.sin(Math.PI /4));c[1] = (Math.min(b[1], a[1])) + (e[0] * Math.sin(Math.PI /4)) + (e[1] * Math.cos(Math.PI /4));d[0] = (Math.min(b[0], a[0])) + (e[0] * Math.cos(-Math.PI /4)) - (e[1] * Math.sin(-Math.PI /4));d[1] = (Math.min(b[1], a[1])) + (e[0] * Math.sin(-Math.PI /4)) + (e[1] * Math.cos(-Math.PI /4));ポチッとして頂けると、次のコンテンツを作成する励みになります♪