畫驗證曲線 用EV3畫連續曲線的條件

2021-10-14 16:58:34 字數 1539 閱讀 8192

在上一期的推送中,我留下了乙個疑問,樂高小滿老師幫我解惑了,驗證之後問題得到了解決,在此整理分享給大家。

疑惑內容:

小滿老師的答覆:

疑問的內容是:通過描點的方式畫的曲線不連續的原因是什麼?

小滿老師的答案是:x值和y值因為存在換算關係,他們的變化速度不一樣,為了保證y值的連續變化,可以減慢x值的變化速度。

下面我們開始進行驗證:

一、x值連續變化時,y值一定是連續變化的嗎?

我使用了上次推送裡的一段程式進行了驗證,加入了數值的記錄。

程式解讀:清除螢幕,為了避免資料線的交叉引入中間變數x(在此感謝山西王老師

匯出x、y值,合併在同一張**上得到的結果是:

從圖中可以看到,x值每次變化1時,y值不是連續變化的(x從29變化到30時,y值從84.0變化到76.3,中間就會留下斷裂的空白),程式實際的執行效果也是有曲線的斷裂。

驗證之後我們可以看到,在這個換算關係中,x值連續變化時,y值不一定連續變化,並且我們可以推導知道:如果兩者的變化曲線斜率的絕對值為1時(y=x或者y=-x)兩者可以同步連續變化,當者的變化曲線斜率的絕對值不為1時,需要將其中乙個值的變化速度減慢進而實現另乙個引數的連續變化。

二、x值變化速度減慢時,y值可以實現連續變化嗎?

修改引數後可以實現每迴圈20次,x值增加1的效果。

程式執行效果如下:

得到的x、y值對應關係如下:

從圖中我們可以看到,減慢了x值的變化速度之後,y值的連續性有所改善,但是還是會在部分數值範圍內出現不連續的情況,這個部分可以通過繼續減慢x值得變化速度實現,但是這樣得操作會導致畫曲線的時間變得很長,這個部分可以通過分段實現。

總結一下,曲線連續的條件是x值和y值都是連續變化的,至少是整數級別的連續。如果出現曲線斷裂的情況可以通過減慢x或者y的變化速度實現,為了兼顧連續性和畫圖速度,可以嘗試進行分段畫圖或者是對現有圖形的疊加和覆蓋操作實現。

AS3動態畫曲線

color ff0000 知識點 color graphics 物件可以繪製圓和正方形,但也可以繪製更複雜的形狀,尤其是在將繪製方法與 math 類的屬性和方法配合使用時。color ff0000 color color ff0000 以下為引用的內容 color color ff0000 colo...

3 使用GDI 畫曲線

1.畫貝塞爾曲線 2.繪製曲線 drawcurve pen pen,point points drawcurve pen pen,pointf points tension 大於或等於 0.0f 的值,該值指定曲線的張力。drawcurve pen pen,point points,float te...

畫平滑的roc曲線

使用matlab畫roc曲線 本來malab曲線的平滑有2種方法 clc,clear a 1 1 6 橫座標 b 8.0 9.0 10.0 15.0 35.0 40.0 縱座標 plot a,b,b 自然狀態的畫圖效果 hold on 第一種,畫平滑曲線的方法 c polyfit a,b,2 進行擬...