線の点を見つけるにはどうすればよいですか - Objective c? 複雑すぎます。ペアの代わりに使用すると、少し見栄えが良くなります。CGPoint
(x, y)
質問には 1 つの入力パラメーターがありません。たとえば、 CからBまでの距離など、矢印の目的のサイズです。
そうは言っても、次の計算が役立つはずです。
// Your points A and B:
CGPoint A = CGPointMake(x1, y1);
CGPoint B = CGPointMake(x2, y2);
// Vector from A to B:
CGPoint AB = CGPointMake(B.x - A.x, B.y - A.y);
// Length of AB == distance from A to B:
CGFloat d = hypotf(AB.x, AB.y);
// Arrow size == distance from C to B.
// Either as fixed size in points ...
CGFloat arrowSize = 10.;
// ... or relative to the length of AB:
// CGFloat arrowSize = d/10.;
// Vector from C to B:
CGPoint CB = CGPointMake(AB.x * arrowSize/d, AB.y * arrowSize/d);
// Compute P and Q:
CGPoint P = CGPointMake(B.x - CB.x - CB.y, B.y - CB.y + CB.x);
CGPoint Q = CGPointMake(B.x - CB.x + CB.y, B.y - CB.y - CB.x);
Pは、最初にベクトルCB = (CB.x, CB.y) を減算し、次に垂直ベクトル (-CB.y, CB.x) を加算することによって、 Bから計算されます。