日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二维螺旋曲线方程式,弧长计算及作图实现

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二维螺旋曲线方程式,弧长计算及作图实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設R1為內徑,n為圈數,d為圈距。

  • 參數方程式如下:

?

  • 極坐標方程如下:

  • 計算長度可近似為:

  • 舉例證明

如果內半徑為R1 = 5,并且每轉彎處半徑增加為d=0.81,圈數n = 7.5。

利用計算得:

使用極坐標中曲線的弧長的公式來計算計算得:

兩者近似相等。

  • qt作圖如下

  • 源碼
// create empty curve objects:QCPCurve *fermatSpiral1 = new QCPCurve(m_customPlot->xAxis, m_customPlot->yAxis);// set the same step between xAxis and yAxisQCPAxisTickerFixed *ticker = new QCPAxisTickerFixed;ticker->setTickStep(1);m_customPlot->xAxis->setTicker(QSharedPointer<QCPAxisTicker>(ticker));m_customPlot->yAxis->setTicker(QSharedPointer<QCPAxisTicker>(ticker));// generate the curve data points:const int pointCount = 500;QVector<QCPCurveData> dataSpiral1(pointCount);for (int i=0; i<pointCount; ++i){double phi = i/(double)(pointCount-1);double N = 7.5;//圈數double d_Inner = 5;//內徑double d = 0.81;//圈距double Dis =N*d*phi;//外徑 - 內徑dataSpiral1[i] = QCPCurveData(i, (d_Inner + Dis)*qCos(N*phi*2*M_PI), (d_Inner + Dis)*qSin(N*phi*2*M_PI));}// pass the data to the curves; we know t (i in loop above) is ascending, so set alreadySorted=true (saves an extra internal sort):fermatSpiral1->data()->set(dataSpiral1, true);// color the curves:fermatSpiral1->setPen(QPen(Qt::blue));

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的二维螺旋曲线方程式,弧长计算及作图实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。