網頁版幾何畫板開發筆記(十二) 關於繪圖檢查的思考

學生繪圖以後, 對所繪製的圖形進行檢查, 是一項關鍵性的任務. 函數

此任務要求"發明"一種描述語言, 將教師繪圖要求翻譯轉換爲一種計算機可識別, 可實現的
代碼, 對圖形的繪製步驟及或繪製結果進行檢查. 同時也要求這種語言教師容易使用. 學習

故而要求有:
  1. 可以對繪製步驟, and/or 繪製結果進行檢查.
  2. 教師容易學習和使用.
  3. 技術上可實現的, 且不該太複雜. 翻譯

對繪製步驟的檢測, 可能存在順序性(所以須要代詞指代...);
對繪製結果的檢測, 可能不須要這種指代(將幾何約束翻譯爲共線,相交等要求)
也可能步驟,結果有所結合? 那如何結合, 是否有結合有待考察. 變量

教師容易學習使用也比較重要, 可是考慮到實現簡單性, 可能須要某種折中. cli

初步考慮是相似於 lisp 形式的函數表示. 用某些特殊符號表示變量等. 方法

對繪製結果的檢查(構思):
  coll(A, B, C) -- 檢查點 A 在線 B,C 上, 或說點 A,B,C 共線.
  para(A,B,C,D) -- 線AB平行於線CD
  perp(A,B,C,D) -- 線AB垂直於線CD
  cyclic(A,B,C,D) -- A,B,C,D 四點共圓
   等等. 技術

對繪製過程的檢查(構思):
  c_line(A, B) -- 作直線 AB.
  c_seg(A,B) -- 作線段 AB.
  c_ray(A,B) -- 作射線 AB.
  c_para(X, A, B) -- 過點X 作AB 的平行線
  c_para(X, $ab) -- 過點X 作線 $ab 的平行線.
  c_foot(I, X, $ab) -- 過點X 作線 $ab 的垂線, 垂足爲 I
  c_intpt(I, $a, $b) -- 作線 a,b 的交點 I. lisp

從過程檢查和從結果檢查是略有不一樣的檢查思路, 在使用的時候, 教師可能須要區分選擇,
並肯定使用何種方法, 或混合使用, 哪一種比較好. 計算機

問題1: 代詞問題. (至關於變量)
問題2: 組合問題. (爲達到某結果可能有多個組合路徑, 產生組合爆炸)
  對組合式路徑如何描述?? 並且一旦組合爆炸, 則可能沒法描述? 語言

相關文章
相關標籤/搜索