mdecourse / mocad

Mobile Oriented Computer Aided collaborative mechanical Design platform (MOCAD) 行動裝置導向電腦輔助協同機械設計平台
0 stars 0 forks source link

在期中考前訂出專題主軸 #5

Open mdecourse opened 4 years ago

mdecourse commented 4 years ago

註 2019.09.29, 這個構想範圍太大, 目前先從 https://github.com/mdecourse/mocad/issues/5#issuecomment-536152390 下手

目前構想:

  1. 學會在 Ubuntu 18.04 上安裝 Fossil SCM, 並設法將 Github mocad 倉儲內容與 Fossil 上的資料同步.
  2. 因為目前 https://github.com/KmolYuan/Pyslvs-UI 正在套用 https://github.com/mottosso/Qt.py 改寫 GUI, 因此希望根據穩定版本, 重新整理 http://www.pyslvs.com/content/ (舊 CMSimfly 架構) 與 https://pyslvs.com (Pelican 網誌),
  3. 了解 Pyslvs-UI 的各核心功能, 並使用 Python 建立各種範例.
  4. 學習 Dart 與 Flutter, 針對 Pyslvs-UI 的應用, 編寫手機前端介面與應用案例.
mdecourse commented 4 years ago

@40623128 @40623130 @40623124 研究一下這個

https://towardsdatascience.com/cross-platform-on-device-ml-inference-a55b67e306b3

https://dart.dev/guides/libraries/c-interop

https://hackernoon.com/learn-dart-in-a-week-with-these-free-resources-b892e5265220

http://flutterdevs.com/blog/machine-learning-in-flutter/

https://medium.com/flutter-community/flutter-mlkit-8039ec66b6a

https://pub.dev/packages/firebase_ml_vision

https://dzone.com/articles/auto-testing-flutter-apps-using-artificial-intelli

https://heartbeat.fritz.ai/easily-build-image-classification-models-using-just-your-smartphone-walkthrough-guide-43bf211181b0

參考書:

https://link.springer.com/book/10.1007/978-1-4419-7892-9

https://link.springer.com/book/10.1007/b98861

mdecourse commented 4 years ago

專題主要進行方向

目前希望利用 Dart + Python Flask 的方向製作 PMKS 的網際與手機版本.

https://mde.tw/cad2019/downloads/pmksplus/ (2019.04 所完成的最新系統, 採 Typescript 製作, 但沒有開源)

參考資料:

https://web.wpi.edu/Pubs/E-project/Available/E-project-042419-230306/unrestricted/PMKS+_Final.pdf (以 TypeScript 製作, 沒有開源)

https://designengrlab.github.io/PMKS/ (以 C# + Silverlight 製作, 開源)

https://synthetica.eng.uci.edu/SpecialSession/ASME-SS2.pdf (荷蘭商用套件)

https://repositories.lib.utexas.edu/handle/2152/ETD-UT-2010-05-1393 (設計原理)

https://repositories.lib.utexas.edu/handle/2152/24806 (設計原理)

https://pdfs.semanticscholar.org/d673/8ccba1374bb94f32c11333a3f0d335f4eced.pdf (PMKS 應用)

mdecourse commented 4 years ago

利用 Flutter 建立平面機構表示程式

為了用來表示 http://mde.tw/cad2019/downloads/A%20graph%20grammar%20scheme%20for%20representing%20and%20evaluating%20planar%20mechanisms.pdf 第二章中的平面機構設計圖, 或許可以採用 https://github.com/dart-lang/graphs 中的程式庫 (https://pub.dev/packages/graphs)

假如利用 Flutter 以滑鼠繪製平面機構表示圖, 可以參考 https://flutter.dev/docs/development/ui/widgets/painting

https://pub.dev/packages/painter

https://medium.com/flutter-community/drawing-in-flutter-using-custompainter-307a9f1c21f8

https://zocada.com/drawing-custom-shapes-in-flutter-using-custompainter/

https://hackernoon.com/drawing-custom-shapes-and-lines-using-canvas-and-path-in-flutter-997dfb8fde5a

可能也有一些參考價值.

至於相關的表示資料儲存, 無論在 Flutter (Dart) 或 Python (Flask), 都希望利用 SQLite 與 PostgreSQL 的資料庫儲存.

https://blog.geekyants.com/flutter-graphql-with-hasura-d4d0b34621da

PMKS相關應用

https://digitalcommons.wpi.edu/cgi/viewcontent.cgi?article=7897&context=mqp-all https://digitalcommons.wpi.edu/cgi/viewcontent.cgi?article=3814&context=mqp-all https://digitalcommons.wpi.edu/cgi/viewcontent.cgi?article=2380&context=mqp-all

WPI 機械相關專題報告

https://digitalcommons.wpi.edu/mqp-mechanicalengineering/

mdecourse commented 4 years ago

Flutter 入門

先看 http://mde.tw/cp2019/content/Flutter.html, 下載所需的隨身程式系統, 完成的程式可以在 Bluestacks 中測試, 也可以使用實體的 Android 手機測試, 程式編輯器採用 https://code.visualstudio.com/download, 啟動 Flutter 隨身系統後, 命令列輸入 code 就會啟動 Visual Studio Code, https://link.springer.com/book/10.1007/978-1-4842-4972-7 則是目前唯一的參考電子書.

https://www.toptal.com/flutter/flutter-tutorial

mdecourse commented 4 years ago

執行 PMKS

因為原版 PMKS 採用的 Silverlight 已經無法在最新的瀏覽器中使用, 因此要執行 PMKS, 必須使用支援 Silverlight 的 Firefox (30.0.5).

首先

git clone https://github.com/mdecourse/pmks_firefox

到近端 Windows 10, 其中的 firefox 即為可攜的版本, 啟動可攜舊版 Firefox 後, 連線到 http://mde.tw/pmks_firefox/, 且在操作系統中安裝 https://github.com/mdecourse/pmks_firefox/blob/master/Silverlight_x64.exe, 連線時同意啟動 Silverlight 後, 即可執行所有 PMKS 的範例.

PMKS原始碼

PMKS 的原始碼: https://github.com/mdecourse/pmks_firefox/tree/master/PKMS_source_codes

mdecourse commented 4 years ago

將 OOOT 中的數學運算轉為 Dart based

可以從 https://github.com/mdecourse/pmks_firefox/tree/master/PKMS_source_codes/PlanarMechanismSimulator/OOOT_Functions 開始研究, Newton Method ewton Method 可以套用 https://pub.dev/packages/extended_math 中既有的運算方法, 而 Genetic Algorithm 則可使用 https://github.com/filiph/darwin 程式庫.

完整的程式庫:

http://designengrlab.github.io/OOOT/ https://github.com/mdecourse/OOOT

參考:

https://medium.com/@filiph/using-a-genetic-algorithm-to-optimize-developer-conference-schedules-27f13d97fa9a

https://medium.com/@filiph/a-genetic-algorithm-scheduled-our-developer-conference-heres-what-i-learnt-eac0069709f5

https://github.com/filiph/conference_darwin

mdecourse commented 4 years ago

利用 Dart 建立對應數學運算程式庫

http://designengrlab.github.io/StarMath/ 以 C# 編寫, 或許可以利用 Dart 改寫為 Flutter 可以呼叫的程式庫, 用來解平面機構模擬相關問題.

同時可以將運算結果與呼叫

https://pub.dev/packages/vector_math https://pub.dev/packages/extended_math

程式庫進行比較.

Dartpad 執行向量與矩陣運算

直接引用 https://pub.dev/packages/linalg 程式庫, 在 dartpad 進行運算:

http://mde.tw/dartpad?id=c16278af1d23579b5f5d5dca5b7e090e