冷启动:先把「投影」和那片区域都摆清楚
题目自己把「投影」定义好了:过点 P 作直线 l 的垂线,垂足就是 P 在 l 上的投影。
所以「区域中的点在 l 上的投影构成的线段 AB」,说的是:把区域里每一个点都垂直地压到 l 上,
落下来的那一堆垂足,正好铺成一条线段,问它多长。
区域是
D:⎩⎨⎧x−2⩽0,x+y⩾0,x−3y+4⩾0,l: x+y−2=0.
三条边界线两两相交,得到三个交点:
- x=2 与 x+y=0:代入得 y=−2,交点 R(2,−2);
- x=2 与 x−3y+4=0:2−3y+4=0,y=2,交点 M(2,2);
- x+y=0 与 x−3y+4=0:由 x=−y 代入得 −y−3y+4=0,y=1,x=−1,交点 Q(−1,1)。
三个点各自代回第三条约束都成立,所以 D 就是三角形 QMR,是一片有界的凸区域。
有界这件事值得留意一下:如果 D 无界,影子就可能是一条射线甚至整条直线,
「线段 AB」这个说法本身会落空。题目敢说「构成的线段」,就是在暗示区域有界。
下面两条路:一条把「影子的长度」翻译成一个线性函数的跨度硬算,
一条盯住「x+y=0 与 x+y−2=0 平行」这个巧合直接读出答案。

解法一:把影长翻译成 x−y 的跨度
这条路不去想「哪两个点是端点」,而是先把「投影后的位置」变成一个数,
再看这个数在区域上能跑多远。
第一步:给投影线装一根方向向量
l:x+y−2=0 的法向量是 (1,1),所以它的方向向量取 (1,−1),单位化成
d=21(1,−1).
l 上的点由一个参数就能定位:取 l 上任一点当原点标记,
沿 d 走多远,就是这个点在 l 上的「坐标」。
第二步:一个点投影后落在哪儿,只由 OP⋅d 决定
设 P(x,y),它在 l 上的投影是 P′。因为 PP′⊥l,而 d 是 l 的方向,
所以 PP′⋅d=0,于是
OP′⋅d=OP⋅d+PP′⋅d=OP⋅d=2x−y.
这一步是关键:投影点在 l 上的位置刻度,等于原来那个点的 2x−y。
两点投影后的距离,就是这两个刻度之差的绝对值。
于是
∣AB∣=P∈Dmax2x−y−P∈Dmin2x−y=21(Dmax(x−y)−Dmin(x−y)).
问题化成了一道标准的线性规划:求 u=x−y 在 D 上的最大值与最小值。
第三步:把区域的顶点解出来,顺带确认它有界
D 的三条边界是 x=2、x+y=0、x−3y+4=0。两两求交:
- x=2 与 x+y=0:2+y=0,得 R(2,−2);
- x=2 与 x−3y+4=0:2−3y+4=0,得 M(2,2);
- x+y=0 与 x−3y+4=0:由 x=−y 代入得 −y−3y+4=0,y=1,x=−1,得 Q(−1,1)。
交点未必落在可行域里,三个都要回代验一遍:
- R(2,−2):x−2=0⩽0 ✓;x+y=0⩾0 ✓;x−3y+4=2+6+4=12⩾0 ✓;
- M(2,2):0⩽0 ✓;4⩾0 ✓;2−6+4=0⩾0 ✓;
- Q(−1,1):−3⩽0 ✓;0⩾0 ✓;−1−3+4=0⩾0 ✓。
三个都在。再直接从约束看出有界:
x⩽2;y⩾−x⩾−2;y⩽3x+4⩽32+4=2;x⩾−y⩾−2.
(第二式用了 x+y⩾0 与 x⩽2;第三式用了 x−3y+4⩾0 与 x⩽2;
第四式用了 x+y⩾0 与刚得到的 y⩽2。)
于是 −2⩽x⩽2、−2⩽y⩽2,D 被关在一个正方形里,有界。
三条互不平行的直线所定的三个半平面,公共部分有界、且三个两两相交的点都可行——
那么这块公共部分就是以 Q、M、R 为顶点的三角形。
第四步:线性目标在顶点取到最值
u=x−y 是线性的,D 是有界的凸多边形(三角形 QMR),所以 u 的最值必在顶点上取到。
把 u=x−y 看成一族斜率为 1 的平行直线 y=x−u,沿法向平移,
最后离开区域的那个顶点给出极值——注意 u 越大,这族直线的截距 −u 越小、线越靠右下,
所以「往右下推」得到最大值、「往左上推」得到最小值。
三个顶点逐个代:
u(Q)=−1−1=−2,u(M)=2−2=0,u(R)=2−(−2)=4.
所以 maxDu=4(在 R 取到),minDu=−2(在 Q 取到),跨度
Dmaxu−Dminu=4−(−2)=6.
第五步:换算回长度
∣AB∣=26=262=32.
对照选项,32 正是 C。(22≈2.83、4、6 都对不上。)
顺带说一句:端点由 u 的最值决定,所以 A 是 Q 的投影、B 是 R 的投影,
中间那个顶点 M 的 u=0 夹在 −2 与 4 之间,它的投影落在 AB 内部,不影响长度。
解法二:认出与投影线平行的那条边
这条路一行公式都不用推,只要看出一个巧合。
第一步:x+y=0 与 x+y−2=0 平行
两条直线的法向量都是 (1,1),只是常数项差了 2——它们平行。
而区域 D 的三条边界里,正好有一条就是 x+y=0:约束 x+y⩾0 的边界。
落在这条边界上的顶点是哪两个?把三个顶点代进 x+y:
Q(−1,1): −1+1=0,M(2,2): 2+2=4,R(2,−2): 2−2=0.
Q 和 R 都使 x+y=0,所以边 QR 整条躺在直线 x+y=0 上,因而 QR∥l。
第二步:与 l 平行的线段,投影到 l 上长度不变
作 Q、R 到 l 的垂线,垂足记为 A、B。
QA⊥l、RB⊥l,所以 QA∥RB;又 QR∥AB(都平行于 l)。
四边形 QRBA 两组对边分别平行,是平行四边形,于是
∣AB∣=∣QR∣.
直接算这条边的长度:
∣QR∣=(2−(−1))2+(−2−1)2=9+9=32.
第三步:补上必须补的一句——第三个顶点没伸出去
到这里只证明了「QR 的影子长 32」。但影子是整片区域压下来的,
万一顶点 M 的投影跑到 A、B 之外,影子就比 32 长。必须验一下。
点 P(x,y) 在 l:x+y−2=0 上的投影是
P′=P−2x+y−2(1,1),
(沿法向 (1,1) 走到线上;系数由 ∣(1,1)∣2x+y−2 得到。)逐个算:
A=Q−2−2(1,1)=(−1,1)+(1,1)=(0,2),
B=R−2−2(1,1)=(2,−2)+(1,1)=(3,−1),
M′=M−22(1,1)=(2,2)−(1,1)=(1,1).
M′(1,1) 在不在线段 AB 上?从 A(0,2) 到 B(3,−1) 的方向是 (3,−3),而
(1,1)=(0,2)+31(3,−3),
参数 31∈[0,1],所以 M′ 落在 A 与 B 之间。第三个顶点没有伸出去。
第四步:凸区域的影子由顶点的影子决定
D 是三角形,是凸的;投影是线性映射,把凸集映成凸集,把顶点映成 A、M′、B。
三点都在 l 上,其中 M′ 夹在 A、B 中间,所以整片区域的影子就是线段 AB,
∣AB∣=∣QR∣=32.
选 C。
回头看:两条路各自强在哪儿
解法一是通用的:不管区域长什么样、投影线是哪条,
「投影后的位置 =OP⋅d」这一步都成立,
剩下的就是一道线性规划——把 x−y 在顶点上算一遍取跨度。
换成别的方向、别的多边形,这套流程一个字都不用改。
解法二快,但快在这道题恰好有一条边与投影线平行。
它的代价是必须补第三步那句验证:认出平行只给了「至少这么长」,
还要确认其余顶点没伸出去,才敢说「恰好这么长」。
少了这一句,遇到第三个顶点真的伸出去的题就会漏掉一截。
一句话记住这道题:影子的长短,看的是「沿着这条直线的方向跑得多远」,
而不是「谁离谁最远」——把 x−y 在顶点上算一遍,跨度除以 2 就是答案。