- 概念: 什麼時候y會增加1(可以處理無法整除的誤差問題 循環誤差問題)
- AAC stsc無法整除問題
( chunk duration: 500ms, samples per chunk: 48000*0.5/1024=23.4375), 套用bresenham演算法即 試( chunkId ,sampleTotal ), 如下改成( chunkId , sample per chunk)
LOOP x, Xstart to Xend
輸出:
x
|
1
|
2
|
3
|
4
|
0.4
|
0.9
|
1.3
|
2.2
|
|
23
|
24
|
23
|
24
|
- 概念: y在此x時要畫多深的顏色(y小數點越大顏色越深)
藉由畫不同的深淺來使鋸齒狀不要那麼明顯,畫兩個像素點在岔在直線兩邊,並按照直線相近的顏色著色,而線段末端的像素點另外處理。如果線段寬度小於一像素,將會被作為特殊情況考慮。
假設 start ( 0,0)
-> end( 10,4)
// 1.
x1小數點
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
xgap
|
5
|
4
|
3
|
2
|
1
|
0
|
9
|
8
|
7
|
6
|
xpxl1 = xend // this will be used in the main loop//0
ypxl1 =ipart ( yend ) //0
ypxl1 =
plot(xpxl1, ypxl1, rfpart(yend) * xgap)//(0,0,5)
//(10,4,
9*4=36) //離整數越接近顏色越深, 假設是10.1, 那麼在0這條線就要x9, 1這條就x1
plot(xpxl1, ypxl1 + 1, fpart(yend) * xgap)//(0,1,0) //(10,5, 1*4=4)
plot(xpxl1, ypxl1 + 1, fpart(yend) * xgap)//(0,1,0) //(10,5, 1*4=4)
//
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
|
xgap
|
5
|
6
|
7
|
8
|
9
|
0
|
1
|
2
|
3
|
4
|
xpxl2 = xend // this will be used
in the main loop//4
ypxl2 =ipart (yend ) //10
plot (xpxl2, ypxl2, rfpart (yend ) *
xgap ) //(10,4,5)
plot (xpxl2, ypxl2 + 1, fpart (yend )
* xgap ) //(10,5,0)
//main loop //什麼時後跳Y, Y的比重有多少
ypxl2 =
//
4
|
||||
3
|
||||
2
|
8(2)
|
|||
1
|
2(0)
|
4(4)
|
6(8)
|
7(8)
|
0
|
1(5)
|
3(6)
|
5(2)
|
|
y/x 座標
|
0
|
1
|
2
|
3
|
輸出:
order(顏色深淺)
沒有留言:
張貼留言