[英]Using d3 How can I create a smooth transition on my globe animation?
我正在使用 D3.js、Javascript,特別是函數d3.geoOrthographic
來創建地球。
我已經創建了一個地球儀,現在我正在嘗試將其旋轉到某些國家/地區。 例如從“英國”開始然后輪換到“中國”
我每隔一段時間就這樣做。
d3.interval( () => {
projection.rotate(coOrdinates)
path = d3.geoPath().projection(projection)
map.selectAll("path")
.attr("d", path)
})
它很有效,但是向該國的過渡是即時的,並不順利。
我怎樣才能順利過渡到每個國家?
您可以創建一個過渡和tween
的rotate
屬性,與d3.interpolate
:
d3.transition()
.duration(1000)
.tween("rotate", function() {
const r = d3.interpolate(point, coOrdinates);
return function(t) {
projection.rotate(r(t));
};
})
其中point
是您旋轉的起點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.