Schnittpunkt einer Linie eines Dreiecks mit einer anderen Linie, die durch den gegenüberliegenden Scheitelpunkt und Umkreismittelpunkt verläuft

Schnittpunkt einer Linie eines Dreiecks mit einer anderen Linie, die durch den gegenüberliegenden Scheitelpunkt und Umkreismittelpunkt verläuft

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 AMfür die Schnittpunktberechnung nicht mit BC erweitert wird? Ich denke, dass ich das mit dem Schlüsselwort hinbekomme, shiftedweiß 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 intersectionpointsie 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 ;

verwandte Informationen