繼續利用超音波偵測器,這回加裝馬達做一個雷達站,把這雷達站放在兩垂直牆面之間任意位置,讓它180度旋轉擺動,找出離這兩個牆面最短位置,把這兩距離同時顯示在螢幕上,然後計算距離牆角有多遠並顯示這距離,然後將雷達指向牆角位置。
禁止使用浮點數及開根號函數,可以參考研發養成所開根號方法,最好算到小數一位,不懂開根號的小朋友,不必計算牆角距離。來回擺動掃描次數不限制,原則上越少越好。
程式上傳前,請先確認兩個位置點可以正確找出來,一個是(100 cm, 100 cm) 另一個為 (100 cm, 10 cm)。另外註記,你的雷達在45度線上,可以量測到最近與最遠的距離。
網友們的程式,
Jerry,CornerRadar.rar、CornerRadar.lxf
薛老師(蒲公英的願望),radar_detect_distance.vi
圓冪定理
-
圓冪定理包括相交弦定理,割線定理,切割線定理。 相交弦定理 切割線定理 資料來源:
https://zh.wikipedia.org/zh-tw/%E5%9C%86%E5%B9%82%E5%AE%9A%E7%90%86
17 小時前
程式(CornerRadar.rar)已經上載到論壇中,語言為Java,如果程式有問題歡迎告知。
回覆刪除不好意思,忘記把CornerRadar.lxf模型檔加入壓縮檔,已經傳上去了。
回覆刪除Jerry大好快啊,真厲害.
回覆刪除這幾天要上台北,回來再用NXT_G挑戰看看.
看到Jerry大還把牆角圖形畫出來,不知道NXT-G做不做得到.
Jerry 大大又奪得第一風采,看程式是用三角函數解決,這是解決方案之一。
回覆刪除可能我寫的不夠清楚,讓你誤解題意,我是想盡量讓大家站在同一基礎來設計這程式,NXT-G 是沒有特殊函數可以使用的,我的考題主要是讓大家不使用這些外部函數時,該如何解決問題?
另外,注意 double 是雙精準的浮點數(有小數點的數),請大家使用整數型態來處理,以後有時間我會為大家解釋這些數值型態的基本知識。
因此 Jerry 大大試試看,修改外部函式的引用,改成自己創造這些函式,這是另一種層次的挑戰,加油,謝謝大家的參與。
To Bridan:
回覆刪除因為Jerry也很想吃王品啊, 哪天有空一起吃個飯吧.
nissin
Hi Nissin,
回覆刪除沒問題,過年後讓我們聚聚吧,只不過王品牛排太高檔了,改吃別的好了。
不知道有沒有人,用純整數並且自己寫函式解出這個考題?
Bridan ^_^
Hi,Bridan:
回覆刪除這一題我寫了好久!光是處理浮點數的問題就做了很久,而且如果不用atan()函數我看更不用說,恐怕要寫到天昏地暗了。在論壇上已上載robolab完成的作品。
薛老師,
回覆刪除這個題目用純整數設計有浮點數的三角函數,的確很難,能解出這題的人,數學程度要很高,至少要懂泰勒級數展開,由此可知學好數學才有辦法寫一些特殊程式,否則只能擔任初階設計師。
感謝您的分享。