VGA显示正圆
接著上次的隨筆,既然VGA時(shí)序已經(jīng)實(shí)現(xiàn)了,那么就顯示點(diǎn)東西看看吧。
想顯示個(gè)圓,但是無(wú)從下手,參考了這篇文章:https://user.qzone.qq.com/1241003385/blog/1543804422
仔細(xì)閱讀了這篇文章后才理解所謂顯示圓的算法很簡(jiǎn)單,圓的標(biāo)準(zhǔn)方程是(x - a)?2?+ (y - b)?2?= r?2,只要控制顯示范圍滿足圓的方程就可以了。
當(dāng)(x-a)2+(y-b)2<=r2區(qū)域是圓內(nèi),(x-a)2+(y-b)2>=r2的區(qū)域就是圓外。
這里顯示圓的半徑是50個(gè)像素點(diǎn),并且以屏幕正中心為原點(diǎn)所以需要滿足條件:
distance = (x-a)*(x-a) + (y-b)*(y-b) = (h_cnt-96-48 -320) *(h_cnt-96-48-320) +(v_cnt-2-33 -240) *(v_cnt-2-33 -240);
其中96,48為行顯示區(qū)域以外,320為顯示行的中心,2,33為場(chǎng)顯示區(qū)域以外,320為顯示列的正中心。
如果distance小于r2=(50)2=2500?,說(shuō)明在圓內(nèi),否則在圓外。
代碼如下:
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Librarian/p/10091944.html
總結(jié)
- 上一篇: LARS 最小角回归算法简介
- 下一篇: mapReducer第一个例子WordC