第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將線分割(分割)成任意長度的段。(開始時(shí)短,結(jié)束時(shí)寬)

將線分割(分割)成任意長度的段。(開始時(shí)短,結(jié)束時(shí)寬)

江戶川亂折騰 2023-03-17 15:34:07
假設(shè)有一條線(1, 30)(float x = 30) 我需要將它分成幾段,每個(gè)下一段應(yīng)該比前一段寬,最后一段應(yīng)該比第一段寬 X 倍。我有一個(gè)想法,首先將線分成相等的部分,然后增加下一條并減少前一條,直到達(dá)到兩個(gè)條件: - 第一段比最后一段短 X 倍 - 對于相同的乘數(shù),每個(gè)段(第一段除外)比前一段寬    //input:    int lineDimension = 30;    int numberOfSegments = 5;    int step = 1;    float[] splitLineIntoSegments(float lineDimension, int numberOfSegments, float differenceBetweenFirstAndLastSegmentMultiplicator, float step) {      float[] result = new float[numberOfSegments];      //first split into equal segments      for (int i = 0; i < numberOfSegments; i++) {        result[i] = lineDimension / numberOfSegments;      }      //increase each next value untill difference reached      do {        for (int ii = 0; ii < numberOfSegments; ii++) {          if (result[ii]-step<=0)            return result;            if (ii>numberOfSegments/2){              result[ii] += step;            }            else result[ii] -= step;        }      }      while ((float)result[numberOfSegments] / (float)result[0] > differenceBetweenFirstAndLastSegmentMultiplicator);      return result;    }float [] res = splitLineIntoSegments(lineDimension,numberOfSegments,2,step);結(jié)果應(yīng)該是 4,5,6,7,8有更好的方法嗎?
查看完整描述

2 回答

?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果比率必須是常數(shù),讓r,段的相對長度為1rr2r3, …r^(n-1)對于n部件,這總和為(r^n-1) / (r-1)。我們也有X = r^(n-1),給予r = X^(1/(n-1))。

如果線段的長度為L,則零件為

L.r^k.(r-1) / (r^n-1)

例如,對于4零件 and X=27/8,我們有r=3/2零件是8/6512/6518/65, 和27/65of L。


如果比率不需要恒定并且部分與某些給定數(shù)字成比例Rk(例如X=R[n-1]/R0),請求R和并使用

L.Rk / R


查看完整回答
反對 回復(fù) 2023-03-17
?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以為此強(qiáng)制執(zhí)行一個(gè)簡單的算術(shù)序列。從問題參數(shù)開始:


N = quantity of segments

X = scale factor: segment[N-1] / segment[0]

L = length of line

首先,找到所需的均值:


mean = L / N

現(xiàn)在,我們需要對第一項(xiàng)和最后一項(xiàng)進(jìn)行平均。讓a成為第一段的長度,目前未知。求解a


(a + X*a) / 2 = mean

 a = 2*mean / (1+X)

您現(xiàn)在有了第一個(gè) ( a) 和最后一個(gè) ( X*a) 項(xiàng),以及項(xiàng)的數(shù)量?,F(xiàn)在找到共同點(diǎn)很簡單:


d = (X*a - a) / (N-1)

您的段序列現(xiàn)在是


[ a + i*d for 0 <= i < N ]    // i being a sequence of integers


查看完整回答
反對 回復(fù) 2023-03-17
  • 2 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號