亚洲动漫在线观看-亚洲动漫第一页-亚洲丁香婷婷-亚洲丶国产丶欧美一区二区三区-亚洲第一综合网站-亚洲第一永久色

HermiteSpline

厄米樣條曲線是三次插值樣條曲線。必須為每個控制點定義點、傳入切線、傳出切線和時間。輸出切線是為點[0,n-2]定義的,而輸入切線是為點[1,n-1]定義的。例如,在points[i]points[i + 1]之間插入曲線段時,點處的切線分別為outTangents[i]inTangents[i]
new HermiteSpline(options)
Parameters:
options (Object)
Name Description
options.times
Array.<Number>
在每個點上嚴格遞增的、無單位的浮點時間數組。這些值與時鐘時間沒有任何關系。它們是曲線的參數化。
options.points
Array.<Cartesian3>
Cartesian3控制點數組。
options.inTangents
Array.<Cartesian3>
每個控制點的Cartesian3輸入切線數組。
options.outTangents
Array.<Cartesian3>
每個控制點的Cartesian3傳出切線數組。
Example
// Create a G<sup>1</sup> continuous Hermite spline
var times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
var spline = new bmgl.HermiteSpline({
    times : times,
    points : [
        new bmgl.Cartesian3(1235398.0, -4810983.0, 4146266.0),
        new bmgl.Cartesian3(1372574.0, -5345182.0, 4606657.0),
        new bmgl.Cartesian3(-757983.0, -5542796.0, 4514323.0),
        new bmgl.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
        new bmgl.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
    ],
    outTangents : [
        new bmgl.Cartesian3(1125196, -161816, 270551),
        new bmgl.Cartesian3(-996690.5, -365906.5, 184028.5),
        new bmgl.Cartesian3(-2096917, 48379.5, -292683.5),
        new bmgl.Cartesian3(-890902.5, 408999.5, -447115)
    ],
    inTangents : [
        new bmgl.Cartesian3(-1993381, -731813, 368057),
        new bmgl.Cartesian3(-4193834, 96759, -585367),
        new bmgl.Cartesian3(-1781805, 817999, -894230),
        new bmgl.Cartesian3(1165345, 112641, 47281)
    ]
});

var p0 = spline.evaluate(times[0]);
Throws
See:

Members

(readonly) inTangents : Array.<Cartesian3>

每個控制點的Cartesian3輸入切線數組。

(readonly) outTangents : Array.<Cartesian3>

每個控制點的Cartesian3傳出切線數組。

(readonly) points : Array.<Cartesian3>

Cartesian3控制點數組。

(readonly) times : Array.<Number>

控制點的時間數組。

Methods

(static) createC1(options) → {HermiteSpline}
在每個控制點的切線相同的情況下創建樣條曲線。曲線至少保證在C1級。
Parameters:
options (Object)
Name Description
options.times
Array.<Number>
控制點時間數組。
options.points
Array.<Cartesian3>
控制點數組。
options.tangents
Array.<Cartesian3>
控制點處的切線數組。
Example
var points = [
    new bmgl.Cartesian3(1235398.0, -4810983.0, 4146266.0),
    new bmgl.Cartesian3(1372574.0, -5345182.0, 4606657.0),
    new bmgl.Cartesian3(-757983.0, -5542796.0, 4514323.0),
    new bmgl.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
    new bmgl.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
];

// Add tangents
var tangents = new Array(points.length);
tangents[0] = new bmgl.Cartesian3(1125196, -161816, 270551);
var temp = new bmgl.Cartesian3();
for (var i = 1; i < tangents.length - 1; ++i) {
    tangents[i] = bmgl.Cartesian3.multiplyByScalar(bmgl.Cartesian3.subtract(points[i + 1], points[i - 1], temp), 0.5, new bmgl.Cartesian3());
}
tangents[tangents.length - 1] = new bmgl.Cartesian3(1165345, 112641, 47281);

var spline = bmgl.HermiteSpline.createC1({
    times : times,
    points : points,
    tangents : tangents
});
Throws
(static) createClampedCubic(options) → {HermiteSpline|LinearSpline}
創建夾緊的三次樣條曲線。生成內部控制點的切線,以在C2類中創建曲線。
Parameters:
options (Object)
Name Description
options.times
Array.<Number>
控制點時間數組。
options.points
Array.<Cartesian3>
控制點數組。
options.firstTangent
Cartesian3
第一個控制點的外切線。
options.lastTangent
Cartesian3
最后一個控制點的傳入切線。
Example
// Create a clamped cubic spline above the earth from Philadelphia to Los Angeles.
var spline = bmgl.HermiteSpline.createClampedCubic({
    times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
    points : [
        new bmgl.Cartesian3(1235398.0, -4810983.0, 4146266.0),
        new bmgl.Cartesian3(1372574.0, -5345182.0, 4606657.0),
        new bmgl.Cartesian3(-757983.0, -5542796.0, 4514323.0),
        new bmgl.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
        new bmgl.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
    ],
    firstTangent : new bmgl.Cartesian3(1125196, -161816, 270551),
    lastTangent : new bmgl.Cartesian3(1165345, 112641, 47281)
});
Throws
(static) createNaturalCubic(options) → {HermiteSpline|LinearSpline}
創建自然三次樣條曲線。生成控制點的切線,以在C2類中創建曲線。
Parameters:
options (Object)
Name Description
options.times
Array.<Number>
控制點時間數組。
options.points
Array.<Cartesian3>
控制點數組。
Example
// Create a natural cubic spline above the earth from Philadelphia to Los Angeles.
var spline = bmgl.HermiteSpline.createNaturalCubic({
    times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
    points : [
        new bmgl.Cartesian3(1235398.0, -4810983.0, 4146266.0),
        new bmgl.Cartesian3(1372574.0, -5345182.0, 4606657.0),
        new bmgl.Cartesian3(-757983.0, -5542796.0, 4514323.0),
        new bmgl.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
        new bmgl.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
    ]
});
Throws
clampTime(time) → {Number}
將給定的時間鉗制到樣條曲線所覆蓋的周期。
Parameters:
time (Number) 時間。
evaluate(time, result) → {Cartesian3}
在給定時間計算曲線。
Parameters:
time (Number) 評估曲線的時間。
result (Cartesian3) 存儲結果的對象。
Throws
  • DeveloperError : 時間必須在[t0, tn]范圍內,其中t0是數組times中的第一個元素,tn是數組times中的最后一個元素。
findTimeInterval(time) → {Number}
times中查找索引i,以便參數time在間隔[times[i], times[i + 1]]中。
Parameters:
time (Number) 時間。
Throws
  • DeveloperError : 時間必須在[t0, tn]范圍內,其中t0是數組times中的第一個元素,tn是數組times中的最后一個元素。
wrapTime(time) → {Number}
將給定時間包裝到樣條曲線所覆蓋的周期。
Parameters:
time (Number) 時間。
主站蜘蛛池模板: 俺去啦最新地址 | 13日本xxxxxxxxx18| 国产成人精品系列在线观看 | 日本视频免费在线播放 | 国产不卡视频一区二区在线观看 | 日日干夜夜拍 | 免费视频左左视频 | 美国video | 欧美成人午夜片一一在线观看 | 午夜家庭影院 | 大ji吧快给我别停受不了视频 | hd在线观看免费高清视频 | 操久| 男生和老师一起差差差 | 草草视频在线观看 | 精品91自产拍在线观看99re | 国产好深好硬好爽我还要视频 | 精品久久久久久影院免费 | 亚洲精品一区二区三区中文字幕 | 亚洲H成年动漫在线观看不卡 | 青青热久麻豆精品视频在线观看 | 色男人影院 | 国产一区在线 | 国内精品久久久久久久久久久久 | 变态 另类 国产 亚洲 | 艾秋麻豆果冻剧传媒在线播放 | girlfriend动漫在线播放 | 先锋资源av| 亚洲精品久久啪啪网站成年 | 性色生活片在线观看 | 91色香sxmv最网页版新地址 | 青青青国产手机在线播放 | 色啪啪888.com | yin娃sao货调教情趣用品店 | narutomanga玖辛奈本子 | 欧美最新在线 | 7777色鬼xxxx欧美色夫 | 成人欧美一区二区三区白人 | 国产绳艺在线播放 | 欧美日韩精品亚洲精品v18 | 久久中文字幕亚洲精品最新 |