Hi,
The point M is such that the line (CM) is perpendicular to the line (NP).
I do not understand the error of this code.
Thank you
Fabrice

\usecolors[xwi]
\starttext
\startMPcode
  path carre, p;
  carre = unitsquare scaled 138;
         
  pair a, b, c, d, N, P, M;
  a = point 0 of carre;
  b = point 1 of carre;
  c = point 2 of carre;
  d = point 3 of carre;

  p = b -- d;
  N = whatever[a,d];
  P = whatever[a,b];
  M = whatever[b,d];
 (M - c) dotprod (P - N) = 0;
         
  draw M -- c;
         
  draw p  withcolor \MPcolor{navy};
  draw carre withcolor \MPcolor{firebrick};
         
  label.lft("$A$", point 0 of carre);
  label.lrt("$B$", point 1 of carre);
  label.urt("$C$", point 2 of carre);
  label.ulft("$D$", point 3 of carre);
\stopMPcode
\stoptext