Ich habe folgenden Code:
pair a; pair b; pair c;
pickup pencircle scaled 0.2pt;
a = (0, 4cm); b = (-2cm, 0); c = (1cm, 0);
draw a -- b -- c -- cycle;
pair p; pair q; pair r; pair d; pair m; pair n;
p = whatever[b, c]; a - p = whatever * (b - c) rotated 90;
q = whatever[c, a]; b - q = whatever * (c - a) rotated 90;
r = whatever[a, b]; c - r = whatever * (a -b) rotated 90;
d = whatever[a, p] = whatever[b, q]; % orthocenter
n = 1/4(a + b + c + d); % remarkably...
m = d rotatedabout(n, 180); % M is also the circumcentre
path circumcircle;
circumcircle = fullcircle scaled 2 abs(m - a) shifted m;
draw circumcircle;
pair l;
pickup pencircle scaled 2pt;
drawdot m;
pickup pencircle scaled 0.2pt;
%draw a -- ((a -- m) intersectionpoint (b -- c));
Ich kann den Umkreismittelpunkt berechnen und es funktioniert. Aber die letzte kommentierte Zeile sagt mir, wenn sie nicht kommentiert ist, dass sich Pfade nicht schneiden. Ist das der Fall, der AM
für die Schnittpunktberechnung nicht mit BC erweitert wird? Ich denke, dass ich das mit dem Schlüsselwort hinbekomme, shifted
weiß aber nicht wie. Für jede Hilfe wäre ich sehr dankbar.
Antwort1
Ich habe es geschafft, die letzte Zeile wie folgt zu ändern:
draw a -- (a -- (a - 100(a - m))) intersectionpoint (b -- c);
und holen Sie sich die Zeile. Es scheint, dass die Zeile verlängert werden muss, damit intersectionpoint
sie funktioniert.
Antwort2
Wenn Sie den gleichen Stil wie bei Ihrem früheren Code verwenden möchten, können Sie auch Folgendes tun:
pair q ; q = whatever[a,m] = whatever[b,c] ;
draw a -- q ;