Re: [問題] 請問一下繪圖時線段的作法

看板java作者 (Alien)時間15年前 (2008/12/16 12:11), 編輯推噓3(302)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《seruze (seruze)》之銘言: : 我設置了一條線,先設為黑色的線.( 由X1到X2 的一條線段) : 在按下開始鈕後,這條線會一段一段變成白色,60秒後全變白. : 一秒會變一段,所以60秒全變白. : 所以我的想法是設一個 int step = (X2-X1)/60; : 然後每過一秒,畫一段step長度的線段. : 但現在問題來了,60個step加起來,也不會和(X2-X1)一樣長度. : 因為在做除法的時候,有誤差. : 請問有大大做過類似的嚐試嗎? : 能指點一下做類似功能的想法嗎? : 希望各位能多多指教,謝謝! 反過來做就好了啦 不是求線段長度再遞增, 而是每次直接求 需要的線線座標 有本來的 X1, X2 每一秒求出要畫的線段的兩個座標: (psuedo code): int x1=??; int x2=??; int stepFrom=x1; int stepTo=0; for (i=0; i < 60; i++) { stepTo = ((x2-x1) * (i+1)/60) + x1; // 算出這段要畫到哪 draw(stepFrom, stepTo); stepFrom = stepTo; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82 ※ 編輯: adrianshum 來自: 202.155.236.82 (12/16 12:13)

12/16 13:41, , 1F
感謝回答,我也想過這種作法,只是線段長度會沒辦法一樣.
12/16 13:41, 1F

12/16 13:42, , 2F
雖然差異很小,但不知有沒有其他作法呢,希望能參考更多^^
12/16 13:42, 2F

12/17 00:33, , 3F
使用縮放的技巧,每次畫10個pixel,從0畫到600個pixel。
12/17 00:33, 3F

12/17 00:36, , 4F
再放大至真正要顯示的寬度。請參考Graphics2D.scale()。
12/17 00:36, 4F

12/17 00:47, , 5F
喔喔~~@@,Graphics2D~~我還沒用過~~我來找找看,謝謝^^
12/17 00:47, 5F
文章代碼(AID): #19Hoff4w (java)
文章代碼(AID): #19Hoff4w (java)