次の座標点があるとします。
x1
、x2
、x3
、を解くアルゴリズムを (疑似コードで) 書きx4
ます。
これは私がこれまでに持っているものです:
var y1, y2, y3, y4 = 50, 50, 75, 75;
var offset1 = tan(60) * y1;
var offset2 = tan(60) * (y2 - y1);
var x1 = 200 + offset1;
var x3 = 200 + offset1 + offset2;
次の座標点があるとします。
x1
、x2
、x3
、を解くアルゴリズムを (疑似コードで) 書きx4
ます。
これは私がこれまでに持っているものです:
var y1, y2, y3, y4 = 50, 50, 75, 75;
var offset1 = tan(60) * y1;
var offset2 = tan(60) * (y2 - y1);
var x1 = 200 + offset1;
var x3 = 200 + offset1 + offset2;
直角三角形を考えてみましょう{ (200,0) (350,300) (350,0) }
(下の図を参照)。
角を共有する大三角形と小三角形(Xb, Yb)
は相似なので、赤辺(X,Y)-(Xb,Y)
の長さと の長さ(Xb,Y)-(Xb,Yb)
の比は と の比と同じ(Xa,Ya)-(Xb,Ya)
です(Xb,Ya)-(Xb,Yb)
。
が唯一の未知数なので(X,Y)-(Xb,Y)
、方程式を解くことで答えを導き出すことができます。
Xb-X Xb-Xa
---- = -----
Yb-Y Yb-Ya
したがって、
(Xb-Xa)*(Yb-Y)
X = Xb - --------------
Yb-Ya