久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Rhino下實現物理實驗傳感測量的視覺表達

     新用戶5228KeDY 2024-07-14 發布于北京

    這是一個極為偶然的探索。本來是干活兒的間隙里作為休息的學習,隨手做個小模型,作為休息。結果產生一個偶然的發現。

    這個發現能實用,但目前還沒用。未來作為引起學生學習物理的樂趣,可以用一用。

    其實現涉及的技術領域有點兒多:Rhino建模、Grasshopper參數化編程、python語言、Micro:bit串口通信以及Makecode塊語言。

    這里只是筆記式簡略記錄。

    一、RhinoGrasshoper參數化

    Rhino是著名的三維建模軟件,具有極為精準而強大的Nurbs建模能力,常用于專業水平的工業設計、產品制作、珠寶創作等領域。Rhino功能極為繁復,學習較為困難。

    GrasshoperRhino之中的一個通過參數化編程進行復雜建模的模塊,常用于自動化、智能化的精準參數化建模。

    Grasshopper支持膠合python語言,應該也支持C#Basic.Net(因為有這倆模塊)Grasshopper自帶的python模塊是完備的python環境,如果安裝時為默認目錄,其位置在C:\用戶\用戶名\.rhinocode\py39-rh8目錄下。

    二、Python的串口庫

    Python是當前在眾多領域普遍使用的通用腳本語言。Python通過安裝第三方支持庫的方式可以進行功能的幾乎任意程度的擴展。Python本身不支持串口通信,但是安裝pySerial庫之后能夠正常支持串口功能。

    重要!pySerial不是Python普遍的發行版內建支持庫,需要自己安裝。但是Grasshopper下似乎并能通過pip安裝。解決辦法是,從官網下載回來pyserial-3.5-py2.py3-none-any.whl,把它的擴展名改成zip,也就是pyserial-3.5-py2.py3-none-any.zip,解壓縮之后,把serial目錄放在py39-rh8\Lib下的就可以使用。有一點兒不便之處,是未來到Grasshopper里面寫代碼時,代碼提示時靈時不靈。但Python串口使用就那幾句代碼,影響也不大。

    三、Micro:bit串口

    Micro:bit是英國BBC領導開發的面向青少年的積木式單片機。雖然名字叫做“單片機”,但是由于硬件封裝的好,使用者根本碰不到硬件內部原理的知識,周邊軟件生態極為出色,甚至微軟也在站臺,使得幾歲的小朋友都能搞創新創作。

    Micro:bit有兩種串口通信方式,一種是串口重定向到USB,一種是重定向到指定的TXRX引腳。本質上這兩個重定向是一樣的,重定向到USB只能支持板載傳感器:加速度、溫度、亮度、磁力和角度。通過串口,一條可傳輸數據的安卓線就可以把外來傳感器的數據送給電腦了,Rhino借助Grasshopperpython把數據接收過來,一切就順理成章了。

    四、Makecode編程Micro:bit

    Makecode是微軟為編程Micro:bit搞的平臺,它有網頁版和離線版。由于網速的原因,我一直在用離線版,其官方版本已經到了6.0.19.0了。

    Makecode使用塊Blocks語言,零門檻,在使用者不知情的情況下已經讓用戶會編程了。當然它也支持jspython方式,區別不大。

    五、實現傳感測量的視覺表達

    ()測量環境光亮度,通過Micro:bit送給串口

    打開Micro:bit(當開機時)Micro:bit打開串口。Micro:bit在重定向串口USB時,默認波特率為115200,停止位、奇偶校驗等等這些都是默認常用的,無需設置。

    接著持續不斷地每隔200毫秒把環境亮度級別寫入串口。

    ()Grasshopper接收串口數據

    保險起見,查詢一下串口。

    獲取串口數據。

    ()實現光亮度視覺表達

    現在把串口送來的數值作為圓柱體的高度和旋轉角度。

    邏輯是這樣的:

    ①先用R=8在工作平面上生成一個Circle圓曲線;

    ②用圓曲線生成圓面Boudary Surface

    ③擠壓Extrude圓面為圓柱體。擠壓時,沿z單位向量的方向,向量長度通過Python3 Script獲取串口過來的光亮度測量值。

    ④光亮度不但表現在圓柱體的高度上,同時,在XZ平面上把圓柱體旋轉Rotate環境的光亮度大小的角度。

    Grasshopper獲取的串口數據會僅運行1(如果不使用串口數據,則永久運行),為觸發程序時時運行,通過Control Knob送給Python模塊一個x參數。這個x參數沒有任何運算,什么用也沒有,只有觸發的功能。理論上來說,我們可以通過Grasshopper的與非門實現一個無限持續的“死循環”,但是我發現無論是在Python模塊里、還是Grasshopper的與非門里,一旦邏輯“死循環”出現,Rhino就沒反應了。

    這種物理量測量值的表達方式,基于解釋語言,隨改隨用,極其方便,比如有些物理測量需要表達三維圖像時,顯然是絕大多數曲線圖繪制工具不易做到的。

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 成午夜福利人试看120秒| 亚洲成AV人片在线观高清| 国产超碰无码最新上传| 午夜A理论片在线播放| 中文字幕亚洲无线码在线一区| 不卡一区二区国产在线| 国产乱理伦片在线观看夜| 色爱综合另类图片av| 亚洲色在线V中文字幕| 亚洲成A人一区二区三区| 日韩丝袜欧美人妻制服| 欧美成人家庭影院| 国产美女精品自在线拍免费| 男女无遮挡XX00动态图120秒| 国产线播放免费人成视频播放 | 69堂人成无码免费视频果冻传媒| 久久亚洲精品无码AV| 高清自拍亚洲精品二区| 最近中文字幕免费MV在线视频| 久久这里有精品国产电影网| 熟睡人妻被讨厌的公侵犯| 高清破外女出血AV毛片| 国产欧美日韩A片免费软件| 人妻系列无码专区69影院| 亚洲人成电影网站色mp4| 亚洲最大的熟女水蜜桃AV网站| 午夜av高清在线观看| 国产真实乱人偷精品人妻| 亚洲男人AV天堂午夜在| 一夲道无码人妻精品一区二区| 国产乱妇乱子在线视频| 国产亚洲精品VA片在线播放| 精品乱人伦一区二区三区| 久久天天躁狠狠躁夜夜躁2020| 日韩av综合中文字幕| 精品亚洲麻豆1区2区3区| 国产女主播白浆在线看| 美乳丰满人妻无码视频| 国产免费看插插插视频| 日韩精品无码一区二区三区AV| 久久中文字幕AV一区二区不卡|