我想知道,為了使n個點沿直線分布,使它們均勻分布,我應該使用哪個公式。
注:length/2 <= n > 0
各點之間的距離必須是相同的,所以:
對于長度=10,點=1。 ----0-----對于長度=10,點=2。 --0----0--
對于長度=10,點數=3。 -0--0--0--(注意你總是從左邊 "開始",如果你從右邊開始,會是這樣的。--0--0--0-)
對于長度=10,點數=5。 0-0-0-0-0-0
對于長度=10,點數7。 這是不可能的,7比長度/2大
uj5u.com熱心網友回復:
所以你得到了直線的2個端點p0,p1和點的數量n,這些點將被均勻地放置在直線的內部,這些點和端點之間的差距是點之間平均距離的一半。
對于浮點值來說,線性插值將給你的點:
對于浮點值來說,線性插值將給你的點。
p(t) = p0 (p1-p0)*t
其中t = <0.0,1.0>將給你沿著t引數化的線的任何點。現在它只是一個計算t的問題,所以:
dt = |p1-p0| / n
t = 0.5*dt i*dt
i = { 0,1,2,3, ... ,n-1 }
一旦涉及到整數值,你可以將得到的位置截斷/取整為整數,或者使用線條柵格化演算法,如DDA或Bresenham,你可以添加另一個軸,其差值等于2 2*n,只使用該軸坐標變化的每個偶數點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/319963.html
標籤:
