A:(6, 0)
B:(0, 8)
u = UnitVector(Vector[A, B])
c: Distance[A, B] / 2
a:10
C: A - ((a - c) * u)
d = Ellipse(B, A, C)
b = Line(B, A)
D = Midpoint(A, B)
e = OrthogonalLine(D, b)
E = Intersect(d, e, 2)
poly1, e_1, a_1, b_1 = Polygon(A, B, E)
F = Intersect(d, b, 1)
G = Intersect(d, e, 1)
arrPad = 0.5
arrHeight:0.3
arrOpen:0.3
arrHead:0.2
arr_1, arr_2, arr_3, arr_4, arr_5 = LengthArrow(D, A, arrPad, arrHeight, arrOpen, arrHead)
text1: "" + (Distance[D, A]) + ""
arr2_1, arr2_2, arr2_3, arr2_4, arr2_5 = LengthArrow(A, E, arrPad, arrHeight, arrOpen, arrHead)
text2: "" + (Distance[A, E]) + ""
text4: "" + (LaTeX[B]) + ""
text3: "" + (LaTeX[A]) + ""
H = Intersect(d, xAxis, 2)

Tool: LengthArrow
LengthArrow[間距, 高度, 開口比例 (0~1), 箭頭比例 (0~1)]
Input: A, B, pad, h, open, arrow
Output: M, a, b, c, e

u = UnitVector(Vector[A, B])
v = OrthogonalVector(u)
pad:0.3
h:0.3
open:0.3
arrow:0.25
C: A - (pad * v)
D: B - (pad * v)
E: B - ((pad + h) * v)
F: A - ((pad + h) * v)
G = Midpoint(C, F)
H = Midpoint(D, E)
d = Distance(A, B)
arrlen: (d * (1 - open) / 2)
M = Midpoint(G, H)
headlen: (arrlen * arrow)
I: G + (headlen * u)
J: H - (headlen * u)
K: I + (h / 2 * v)
L: I - (h / 2 * v)
N: J - (h / 2 * v)
O: J + (h / 2 * v)
P: G + (arrlen * u)
Q: H - (arrlen * u)
a = PolyLine(P, I, K, G, L, I)
b = PolyLine(Q, J, N, H, O, J)
c = Segment(C, F)
e = Segment(D, E)