MBC 神攝手 × EV3 Classroom

三個步驟用 EV3 Classroom 讀神攝手

神攝手插在 EV3 上會被當成樂高的紅外線感應器,所以不用匯入函式庫、不用裝擴充,直接用紅外線感應器的積木讀:近接讀相機模式編號,信標 4 個頻道的方向、近接是 8 格主要資料,遙控 4 個頻道是另外 4 格。每一格放什麼,要看相機選單切在哪個模式。左邊一步一步做,右邊的積木會跟著長出來;這些積木圖是用 EV3 Classroom 1.5.3 拼好後直接從軟體畫面匯出的(英文介面)。

EV3 已上機驗證2026-11-03 用出貨版韌體 v1.0-261101 在實機跑過:原廠 EV3 韌體(EV3-G 紅外線積木、13 個相機模式逐格讀)、Pybricks v4 範例 1~4;ev3dev/EV3 MicroPython v2 只核對模式表(跟原廠紅外線感應器相同)。EV3 版不能從主機下命令,相機模式在相機 MENU 切。

1

開始:程式開始+一直重複,選相機模式

讀感應器要一直重複讀,每 0.1 秒讀一次。

  1. 打開 EV3 Classroom,按「New Project」開一個新專案。
  2. 從「Control」拖出「forever」,接在黃色的「when program starts」下面。
  3. 再拖一顆「wait 1 seconds」放進 forever,數字改成 0.1。
  4. 相機用 EV3 線插 1 號孔(由主機供電),在相機的 MODE 選單選相機模式和子選項,下面點同一個模式編號(模式編號=相機模式 ×10+子選項)。第 2 步的表會換成這個模式每一格的意思。
2

認識讀值積木(紅外線感應器)

用「Sensors」裡紅外線感應器的積木讀,積木最前面的數字是孔號,選 1。下表是你在第 1 步選的模式,每一格用哪顆積木讀、讀到什麼、怎麼換算:

每格是 −127~100 的整數。同一支程式盡量只用信標(或只用遙控):EV3 每換一次紅外線模式要卡約 1.1 秒。換算要拆十位、個位時,用「數學」積木除以 10 取整數、除以 10 的餘數。

看全部 13 個模式的對照表

模式編號 11=顏色追蹤 ① 最多色

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1色 1 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 1色 2 X×10+Y(8×6 格)0, 11~86②
heading to beacon 2色 3 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 2色 4 X×10+Y(8×6 格)0, 11~86②
heading to beacon 3色 5 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 3色 6 X×10+Y(8×6 格)0, 11~86②
heading to beacon 4色 7 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 4色 8 X×10+Y(8×6 格)0, 11~86②
beacon 1 buttons pressed色 9 X×10+Y(8×6 格)0, 11~86②
beacon 2 buttons pressed色 10 X×10+Y(8×6 格)0, 11~86②
beacon 3 buttons pressed色 11 X×10+Y(8×6 格)0, 11~86②
beacon 4 buttons pressed色 12 X×10+Y(8×6 格)0, 11~86②
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 十位=X 第幾格(1~8,左→右)、個位=Y 第幾格(1~6,下=1);0=沒看到。換成像素:X ≈ 十位×20−10、Y ≈ 129−個位×20

模式編號 12=顏色追蹤 ② 多色

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1色 1 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 1色 2 X×10+Y(8×6 格)0, 11~86②
heading to beacon 2色 3 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 2色 4 X×10+Y(8×6 格)0, 11~86②
heading to beacon 3色 5 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 3色 6 X×10+Y(8×6 格)0, 11~86②
heading to beacon 4色 7 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 4色 8 X×10+Y(8×6 格)0, 11~86②
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 十位=X 第幾格(1~8,左→右)、個位=Y 第幾格(1~6,下=1);0=沒看到。換成像素:X ≈ 十位×20−10、Y ≈ 129−個位×20

另外 4 格這個模式沒用(送 0),表上沒列。

模式編號 13=顏色追蹤 ③ 標準

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1色 1 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 1色 1 面積(佔畫面 %)0, 1~100 %③
heading to beacon 2色 2 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 2色 2 面積(佔畫面 %)0, 1~100 %③
heading to beacon 3色 3 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 3色 3 面積(佔畫面 %)0, 1~100 %③
heading to beacon 4色 4 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 4色 4 面積(佔畫面 %)0, 1~100 %③
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 十位=X 第幾格(1~8,左→右)、個位=Y 第幾格(1~6,下=1);0=沒看到。換成像素:X ≈ 十位×20−10、Y ≈ 129−個位×20
  • ③ 佔整個畫面的幾 %;0=沒看到

另外 4 格這個模式沒用(送 0),表上沒列。

模式編號 14=顏色追蹤 ④ 精細

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1色 1 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 1色 1 W×10+H(8×6 格)0, 11~86③
heading to beacon 2色 1 數量0~15④
proximity to beacon 2色 1 面積(佔畫面 %)0, 1~100 %⑤
heading to beacon 3色 2 X×10+Y(8×6 格)0, 11~86②
proximity to beacon 3色 2 W×10+H(8×6 格)0, 11~86③
heading to beacon 4色 2 數量0~15④
proximity to beacon 4色 2 面積(佔畫面 %)0, 1~100 %⑤
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 十位=X 第幾格(1~8,左→右)、個位=Y 第幾格(1~6,下=1);0=沒看到。換成像素:X ≈ 十位×20−10、Y ≈ 129−個位×20
  • ③ 十位=寬幾格、個位=高幾格(1 格=20 像素:寬約 (十位−1)×20+10 像素);0=沒看到
  • ④ 同一色有幾塊(0~15)
  • ⑤ 佔整個畫面的幾 %;0=沒看到

另外 4 格這個模式沒用(送 0),表上沒列。

模式編號 21=座標取色 ① 色相

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1S1 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 1S2 色相(EV3:正=色相、負=黑白)−15~100②
heading to beacon 2S3 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 2S4 色相(EV3:正=色相、負=黑白)−15~100②
heading to beacon 3S5 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 3S6 色相(EV3:正=色相、負=黑白)−15~100②
heading to beacon 4S7 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 4S8 色相(EV3:正=色相、負=黑白)−15~100②
beacon 1 buttons pressedS9 色相(EV3:正=色相、負=黑白)−15~100②
beacon 2 buttons pressedS10 色相(EV3:正=色相、負=黑白)−15~100②
beacon 3 buttons pressedS11 色相(EV3:正=色相、負=黑白)−15~100②
beacon 4 buttons pressedS12 色相(EV3:正=色相、負=黑白)−15~100②
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 正數=色相碼×100÷240(紅 0、黃約 17、綠約 33、青 50、藍約 67、紫約 83;換回色相碼=讀到的數×240÷100,差 ±2);負數=黑白灰:−1~−8 白→灰、−9~−15 黑

模式編號 22=座標取色 ② 色相+飽和

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1S1 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 1S1 飽和÷10 ×10 + 明度÷100~99③
heading to beacon 2S2 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 2S2 飽和÷10 ×10 + 明度÷100~99③
heading to beacon 3S3 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 3S3 飽和÷10 ×10 + 明度÷100~99③
heading to beacon 4S4 色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 4S4 飽和÷10 ×10 + 明度÷100~99③
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 正數=色相碼×100÷240(紅 0、黃約 17、綠約 33、青 50、藍約 67、紫約 83;換回色相碼=讀到的數×240÷100,差 ±2);負數=黑白灰:−1~−8 白→灰、−9~−15 黑
  • ③ 十位=飽和度÷10、個位=明度÷10(例 74=飽和 70 多、明度 40 多)

另外 4 格這個模式沒用(送 0),表上沒列。

模式編號 23=座標取色 ③ 色相+飽和+明度

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1S1 色相碼 ÷100(百位)0~2②
proximity to beacon 1S1 色相碼 除以 100 的餘數0~99③
heading to beacon 2S1 飽和度0~100④
proximity to beacon 2S1 明度0~100⑤
heading to beacon 3S2 色相碼 ÷100(百位)0~2②
proximity to beacon 3S2 色相碼 除以 100 的餘數0~99③
heading to beacon 4S2 飽和度0~100④
proximity to beacon 4S2 明度0~100⑤
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 色相碼的百位(0~2):色相碼=這格×100+下一格
  • ③ 色相碼除以 100 的餘數(0~99)
  • ④ 飽和度 0~100:越大越鮮豔
  • ⑤ 明度 0~100:0=全黑

另外 4 格這個模式沒用(送 0),表上沒列。

模式編號 30=照順序給色號

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1左起第 1 塊色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 1左起第 2 塊色相(EV3:正=色相、負=黑白)−15~100②
heading to beacon 2左起第 3 塊色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 2左起第 4 塊色相(EV3:正=色相、負=黑白)−15~100②
heading to beacon 3左起第 5 塊色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 3左起第 6 塊色相(EV3:正=色相、負=黑白)−15~100②
heading to beacon 4左起第 7 塊色相(EV3:正=色相、負=黑白)−15~100②
proximity to beacon 4左起第 8 塊色相(EV3:正=色相、負=黑白)−15~100②
beacon 1 buttons pressed左起第 9 塊色相(EV3:正=色相、負=黑白)−15~100②
beacon 2 buttons pressed左起第 10 塊色相(EV3:正=色相、負=黑白)−15~100②
beacon 3 buttons pressed左起第 11 塊色相(EV3:正=色相、負=黑白)−15~100②
beacon 4 buttons pressed總塊數0~18③
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 正數=色相碼×100÷240(紅 0、黃約 17、綠約 33、青 50、藍約 67、紫約 83;換回色相碼=讀到的數×240÷100,差 ±2);負數=黑白灰:−1~−8 白→灰、−9~−15 黑
  • ③ 畫面裡一共幾塊。紅色的色相是 0,要先看這格才知道前幾格有效

模式編號 41=循線 ① 黑線

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1近處偏移−100~100②
proximity to beacon 1中段偏移−100~100②
heading to beacon 2遠處偏移−100~100②
proximity to beacon 2線角度−90~90③
heading to beacon 3近處線寬 %0~100④
proximity to beacon 3路口類型×10+有線旗標0~57⑤
heading to beacon 4路口距離 %0~100⑥
proximity to beacon 4穿過的彩色標記線色號0, 1~16⑦
beacon 1 buttons pressed近處線左緣−100~100⑧
beacon 2 buttons pressed近處線右緣−100~100⑧
beacon 3 buttons pressed遠處線寬 %0~100④
beacon 4 buttons pressed標記線累計條數0~99⑨
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② −100~100:線在左=負、在右=正(站在車後往前看),0=正中間
  • ③ 線往右上斜=正、往左上斜=負(度)
  • ④ 線寬佔畫面寬的幾 %
  • ⑤ 十位=路口(0 沒有、1 十字、2 T 字、3 左轉、4 右轉、5 盡頭),個位=有線旗標(近 1+中 2+遠 4:7=三段都有線,0=沒有線)
  • ⑥ 路口離車子多遠:0=畫面最下面、100=最上面
  • ⑦ 剛穿過的彩色標記線是目標色幾號;0=還沒穿過
  • ⑧ 近處線的左緣/右緣位置(−100~100,同偏移)
  • ⑨ 累計穿過幾條(0~99)

模式編號 42=循線 ② 白線

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1近處偏移−100~100②
proximity to beacon 1中段偏移−100~100②
heading to beacon 2遠處偏移−100~100②
proximity to beacon 2線角度−90~90③
heading to beacon 3近處線寬 %0~100④
proximity to beacon 3路口類型×10+有線旗標0~57⑤
heading to beacon 4路口距離 %0~100⑥
proximity to beacon 4穿過的彩色標記線色號0, 1~16⑦
beacon 1 buttons pressed近處線左緣−100~100⑧
beacon 2 buttons pressed近處線右緣−100~100⑧
beacon 3 buttons pressed遠處線寬 %0~100④
beacon 4 buttons pressed標記線累計條數0~99⑨
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② −100~100:線在左=負、在右=正(站在車後往前看),0=正中間
  • ③ 線往右上斜=正、往左上斜=負(度)
  • ④ 線寬佔畫面寬的幾 %
  • ⑤ 十位=路口(0 沒有、1 十字、2 T 字、3 左轉、4 右轉、5 盡頭),個位=有線旗標(近 1+中 2+遠 4:7=三段都有線,0=沒有線)
  • ⑥ 路口離車子多遠:0=畫面最下面、100=最上面
  • ⑦ 剛穿過的彩色標記線是目標色幾號;0=還沒穿過
  • ⑧ 近處線的左緣/右緣位置(−100~100,同偏移)
  • ⑨ 累計穿過幾條(0~99)

模式編號 43=循線 ③ 色線

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1近處偏移−100~100②
proximity to beacon 1中段偏移−100~100②
heading to beacon 2遠處偏移−100~100②
proximity to beacon 2線角度−90~90③
heading to beacon 3近處線寬 %0~100④
proximity to beacon 3路口類型×10+有線旗標0~57⑤
heading to beacon 4路口距離 %0~100⑥
proximity to beacon 4穿過的彩色標記線色號0, 1~16⑦
beacon 1 buttons pressed近處線左緣−100~100⑧
beacon 2 buttons pressed近處線右緣−100~100⑧
beacon 3 buttons pressed遠處線寬 %0~100④
beacon 4 buttons pressed標記線累計條數0~99⑨
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② −100~100:線在左=負、在右=正(站在車後往前看),0=正中間
  • ③ 線往右上斜=正、往左上斜=負(度)
  • ④ 線寬佔畫面寬的幾 %
  • ⑤ 十位=路口(0 沒有、1 十字、2 T 字、3 左轉、4 右轉、5 盡頭),個位=有線旗標(近 1+中 2+遠 4:7=三段都有線,0=沒有線)
  • ⑥ 路口離車子多遠:0=畫面最下面、100=最上面
  • ⑦ 剛穿過的彩色標記線是目標色幾號;0=還沒穿過
  • ⑧ 近處線的左緣/右緣位置(−100~100,同偏移)
  • ⑨ 累計穿過幾條(0~99)

模式編號 51=物體偵測 ① 物體清單

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1物體 1 代碼(色號×10+形狀)0, 10~89②
proximity to beacon 1物體 1 X×10+Y(8×6 格)0, 11~86③
heading to beacon 2物體 2 代碼(色號×10+形狀)0, 10~89②
proximity to beacon 2物體 2 X×10+Y(8×6 格)0, 11~86③
heading to beacon 3物體 3 代碼(色號×10+形狀)0, 10~89②
proximity to beacon 3物體 3 X×10+Y(8×6 格)0, 11~86③
heading to beacon 4物體 4 代碼(色號×10+形狀)0, 10~89②
proximity to beacon 4物體 4 X×10+Y(8×6 格)0, 11~86③
beacon 1 buttons pressed物體 5 代碼(色號×10+形狀)0, 10~89②
beacon 2 buttons pressed物體 5 X×10+Y(8×6 格)0, 11~86③
beacon 4 buttons pressed物體數0~8④
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 十位=色號(目標色 1~8)、個位=形狀(0 其他、1 圓、2 橢圓、3 三角、4 正方、5 長方、6 五邊、7 六邊、8 星、9 梯形);0=沒有
  • ③ 十位=X 第幾格(1~8,左→右)、個位=Y 第幾格(1~6,下=1);0=沒看到。換成像素:X ≈ 十位×20−10、Y ≈ 129−個位×20
  • ④ 畫面裡有幾個物體(0~8)

另外 1 格這個模式沒用(送 0),表上沒列。

模式編號 52=物體偵測 ② 物體詳細

積木讀到的是範圍換算
proximity相機模式編號(例 13=顏色追蹤 ③ 標準、51=物體偵測 ① 清單)11~52①
heading to beacon 1物體 1 代碼(色號×10+形狀)0, 10~89②
proximity to beacon 1物體 1 X×10+Y(8×6 格)0, 11~86③
heading to beacon 2物體 1 面積(佔畫面 %)0, 1~100 %④
proximity to beacon 2物體 1 角度((角度+1)÷2)0~90⑤
heading to beacon 3物體 2 代碼(色號×10+形狀)0, 10~89②
proximity to beacon 3物體 2 X×10+Y(8×6 格)0, 11~86③
heading to beacon 4物體 2 面積(佔畫面 %)0, 1~100 %④
proximity to beacon 4物體 2 角度((角度+1)÷2)0~90⑤
  • ① 十位=相機模式、個位=子選項(例 13=顏色追蹤 ③ 標準)
  • ② 十位=色號(目標色 1~8)、個位=形狀(0 其他、1 圓、2 橢圓、3 三角、4 正方、5 長方、6 五邊、7 六邊、8 星、9 梯形);0=沒有
  • ③ 十位=X 第幾格(1~8,左→右)、個位=Y 第幾格(1~6,下=1);0=沒看到。換成像素:X ≈ 十位×20−10、Y ≈ 129−個位×20
  • ④ 佔整個畫面的幾 %;0=沒看到
  • ⑤ ×2 就是角度 0~179 度(相機送 (角度+1)÷2,差 1 度以內)

另外 4 格這個模式沒用(送 0),表上沒列。

3

顯示在 EV3 螢幕上

把讀值積木放進「Display」的「write … at line …」,前面用「Operators」的「join」加一個名字(例如 C1),程式一開始先放「clear display」清螢幕。功能依相機模式分組,虛線框的是別的模式用的,要換模式才能用(點下去會幫你換)。點一個功能,積木和結果會換成它的範例。

模擬相機畫面:拖動畫面裡的東西,看右邊的輸出怎麼變

模擬畫面是示意:數值直接用畫面上的位置換算(X 0~159 左→右、Y 0~119 上→下、面積 %=寬×高÷整個畫面),色相碼是那張色紙/積木本來的顏色(紅 0、黃 40、綠 80、藍 160、紫 200、白桌面 244、黑膠帶 252),不是相機裡面的算法;實際數值會因光線差一些。顏色追蹤假設相機上已經教了 4 色:色 1 紅、色 2 綠、色 3 藍、色 4 黃。物體偵測的形狀是你直接選的(不是相機判斷的),物體 1、2…照面積由大到小排,X、Y 是形狀的質心(白點)、虛線框是外框,角度就是你轉的角度。

每個功能的範例

每個功能都有一支可以照著拼的小程式(相機插 1 號孔),右上角標它能用的模式。按「試試看」會切到第 3 步(需要的話也幫你換模式)。

完整範例

照著拼就能跑的完整程式(相機插 1 號孔,馬達接 B、C)。更多範例(Python 版)在 EV3 範例頁。

跟著色塊轉(模式 13,左輪 B、右輪 C)

        

!信標頻道 1 方向=色 1 的 X×10+Y:0=沒看到 → 原地轉著找;小於 41(X 第 1~3 格)→ 往左轉;大於 56(X 第 6~8 格)→ 往右轉;中間(第 4、5 格)→ 直走。先在相機上教「目標 1」,相機選單切到模式 13。

循線(模式 41 黑線,左輪 B、右輪 C)

        

!信標頻道 1 方向=近處偏移(線在左=負):左輪 30+偏移×0.3、右輪 30−偏移×0.3,線在左就往左轉。轉得不夠就把 0.3 改大。

使用注意

  1. 相機插 1 號孔。插別的孔,就把積木上的孔號改成那一孔。EV3 要先開機再插相機;數字一直不動時拔掉重插一次。
  2. 模式編號一定要跟相機選單一樣。EV3 程式不能切換相機模式,同一格在不同模式意思不一樣;用「近接」讀模式編號,程式一開始可以先檢查。
  3. 一支程式只用信標或只用遙控。EV3 每換一次紅外線模式要卡約 1.1 秒,比賽時車子可能失控。
  4. 拔掉相機時:EV3 讀不到,數字變成「不是數字」,螢幕顯示 ----,而且每讀一次要等約 1.2 秒;程式不會停,插回去會自動恢復。在右邊勾「拔掉感應器」看看。
  5. 顏色要在相機上教。「目標 1」就是色 1;取樣點位置也在相機上設。EV3 這邊只負責讀數字。
  6. 還想知道更多:EV3 讀值教學、讀值參考:EV3。積木是英文:EV3 Classroom 只有英文和簡體中文介面。