作業內容及要求這裡
**repo
題目要求實現對平面圖形的一系列圖形學操作。平面圖形可以表示為其所有頂點的有序連線,對圖形的操作可以分解為對其所有頂點依次應用同一操作。
以「頂點序列表示圖形」的思路,定義geoelement
型別,用於表示包括點、線、多邊形的平面圖形元素,使用stl中的動態陣列vector
類實現。其定義如下:
typedef std::vectorgeoelement;
測試使用geoelement
建立一條直線並輸出:
//commit 6372dba /main.cpp
#include #include #include using namespace eigen;
int main()
return res;
}
實現的方式就是將elmt
中的每個點依次與移動向量做加法,得到的即是移動後的圖形中對應點的座標。
測試**如下:
//commit 9d4515e /main.cpp
#include #include #include #include "geoutils.h"
using namespace eigen;
int main() x' \\ y' \end = \begin cos\theta & -sin\theta \\ sin\theta & cos\theta \end \begin x \\ y \end $$
其中(x,y)為變換前的座標,(x',y')為變換後的座標,θ為旋轉的角度。
只需將圖形逐點按此式變換即可:
//commit 7c2c3f8 /geoutils.cpp
geoutils::geoelement geoutils::rotate(double theta, geoelement elmt)
測試**及結果不再贅述。
讀取和解析使用者指令
設計檔案格式並實現解析器
gui的開發
《實時控制軟體設計》期末作業
1 每個團隊的pm在github.com rtcsd2016下建立本團隊的專案repository,把團隊成員新增進去。2 在repository的根目錄下建立readme.md文件用於簡述團隊組成和團隊開發目標,在專案完成後新增關於軟體編譯和執行的簡要說明。也可新增todo.md用於介紹團隊近期的...
《實時控制軟體設計》第三週作業
閱讀作業 快速通讀 構建之法 現代軟體工程 全書,列出幾條問題項,發表在個人部落格上,如 git github實踐作業 把上述操作過程記錄在個人部落格上,至少截一張最後的log顯示的圖。在個人的github上進行一次fork操作,把感興趣的 庫fork到個人賬號,預設可選擇 在個人github帳號下...
《實時控制軟體設計》第乙個程式設計作業
c 程式設計是基本功訓練,鄒欣老師在教學中,第乙個作業是 花二十分鐘寫乙個能自動生成小學四則運算題目的命令列 軟體 要求 a 除了整數以外,還要支援真分數的四則運算。例如 1 6 1 8 7 24 b 讓程式能接受使用者輸入答案,並判定對錯。最後給出總共 對 錯 的數量。詳見 在此基礎上,進一步可以...