Q
分成等份的線
2
A
回答
11
你只需要一個的加權平均值和B.
C(t) = A * (1-t) + B * t
,或者在2-d
Cx = Ax * (1-t) + Bx * t
Cy = Ay * (1-t) + By * t
- T = 0時,你會得到A.
- 當t = 1,你得到B.
- 當t = 0.25時,你從A點到B點的25%點
- 等
因此,將線劃分爲k個相等部分,做一個循環,找到C,對於t = 0/k,t = 1/k,t = 2/k,...,t = K/K
1
for(int i=0;i<38;i++)
{
Points[i].x = m_Pos.x * (1 - (i/38.0)) + m_To.x * (i/38.0);
Points[i].y = m_Pos.y * (1 - (i/38.0)) + m_To.y * (i/38.0);
if(i == 0 || i == 37 || i == 19) dbg_msg("CLight","(%d)\nPos(%f,%f)\nTo(%f,%f)\nPoint(%f,%f)",i,m_Pos.x,m_Pos.y,m_To.x,m_To.y,Points[i].x,Points[i].y);
}
打印:
[4c7cba40][CLight]: (0)
Pos(3376.000000,1808.000000)
To(3400.851563,1726.714111)
Point(3376.000000,1808.000000)
[4c7cba40][CLight]: (19)
Pos(3376.000000,1808.000000)
To(3400.851563,1726.714111)
Point(3388.425781,1767.357056)
[4c7cba40][CLight]: (37)
Pos(3376.000000,1808.000000)
To(3400.851563,1726.714111)
Point(3400.851563,1726.714111)
看起來很好,但隨後我的程序不起作用:d。 但你的方法很有效,所以謝謝
+0
您可能想在循環中使用「i <= 38」。這將給你39分,你的線分成38個相同的分段。而且,你確定你的代碼產生了這個輸出嗎?我很懷疑 – 2010-08-31 15:00:04
相關問題
- 1. CSS容器被分成4等份
- 2. 將matlab矩陣分成若干等份
- 3. 如何將矩陣分成等份?
- 4. 使用ASP.NET成員身份API與分層架構,DDD等
- 5. Android - 如何將視圖分成4等份?
- 6. 繪製空心圓分成若干等份
- 7. 如何分成4個等份在佈局
- 8. Java:將數字分成等份或彼此近似
- 9. 使用Apache將文件拆分成4個等份Pig豬
- 10. 將圖像分成四個等份在JAI
- 11. 等待UI線程完成
- 12. 等待線程完成python
- 13. 等到線程完成
- 14. Java等待線程完成
- 15. Java多線程等待線程完成
- 16. 等待分離的線程來完成在C++
- 17. 分割整數分成相等的塊
- 18. 如何讓一個線程等待另一個線程的一部分完成?
- 19. 分割線分成5列
- 20. 等到我的線程完成
- 21. 等待Java中的線程完成
- 22. 若要完成線程的等待(Android)
- 23. 如何劃分線性佈局內的ImageView不同等份機器人
- 24. 分割線成的cols
- 25. Java:不相等的分割線
- 26. 等待所有線程完成一份工作,然後再做另一個
- 27. 將Android屏幕分成兩半等分
- 28. 表面細分成相等部分
- 29. 將樹拆分成相等部分
- 30. 將文本拆分成相等部分
工程就像一個魅力,謝謝! – sebp 2010-08-22 18:33:02