最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ObjecARX實(shí)現(xiàn)對(duì)圓圖極坐標(biāo)展開獲得方圖

2022-12-14 16:19 作者:技術(shù)叆  | 我要投稿

本文并不包含基本的圖形數(shù)據(jù)庫的基本操作,為應(yīng)有的必備內(nèi)容。轉(zhuǎn)換的圓圖實(shí)際上應(yīng)該是由多種元素(如直線,多段線等)組合而成的符號(hào)圖像,難點(diǎn)在于展開的坐標(biāo)合理映射。作者水平有限,歡迎指教。

由于原圖是圓,可以想到使用極坐標(biāo)展開方式,變換圖像幾何坐標(biāo)。

極坐標(biāo)變換的關(guān)鍵在于,根據(jù)極坐標(biāo)變換前的圖像(我們稱為“方圖”)確定極坐標(biāo)變換后的圖像(我們稱為“圓圖”)上每個(gè)實(shí)體關(guān)鍵點(diǎn)的坐標(biāo)值。也即是找到“圓圖”和“方圖”間幾何坐標(biāo)的對(duì)應(yīng)關(guān)系。

如圖所示,實(shí)現(xiàn)極坐標(biāo)變換的關(guān)鍵即在于找到圓圖上任一點(diǎn)P的角度和半徑,在方圖上對(duì)應(yīng)的點(diǎn)p(m,n),然后通過插值算法實(shí)現(xiàn)圓圖上所有實(shí)體關(guān)鍵點(diǎn)的賦值。

方圖上,其行列數(shù)分別為M、N,實(shí)際上這兩個(gè)參數(shù)改變的是圖形的長度縮放和角度變換問題,方圖上的每一列對(duì)應(yīng)為圓圖上的每條半徑,即特定的半徑都能映射到特定的列數(shù),半徑方向存在著一個(gè)長度縮放因子常規(guī)情況下為delta_r = M/R,但在要求1:1圖紙中,可直接設(shè)置為常量1,保持長度不變,圓周方向被分為N等分,即角度因子為delta_t = 2π/N,該因子實(shí)際作用是將被壓縮的橫坐標(biāo)放大展開。

圓圖上,圖像坐標(biāo)(i,j)和世界坐標(biāo)(x,y)有著如下變換關(guān)系:x = j - R, y = R - i;而在AutoCAD中大多數(shù)圖紙都是從世界坐標(biāo)原點(diǎn)開始起稿,所以求P點(diǎn)的角度和半徑成為極坐標(biāo)變換中的首要之事。

那么,圖中P點(diǎn)半徑長度為r = sqrt(x2 + y2),角度theta = arctan(y/x);

圓圖上點(diǎn)P的半徑在方圖上對(duì)應(yīng)的縱坐標(biāo)為m=r/delta_r;

圓圖上點(diǎn)P的角度在方圖上對(duì)應(yīng)的橫坐標(biāo)為n = thata/delta_t。

由于ObjectARX不同于一般的圖像視覺處理軟件,在使用該方法時(shí),圖形數(shù)據(jù)庫可修改是采用圖形坐標(biāo)(i,j)還是世界坐標(biāo)(x,y)。本技術(shù)采用長度同等,角度轉(zhuǎn)正調(diào)整的參數(shù)設(shè)定,相比于圖形坐標(biāo),世界坐標(biāo)有兩個(gè)優(yōu)點(diǎn),一、不需要對(duì)同一個(gè)坐標(biāo)進(jìn)行兩次不同類型的變換,設(shè)定角度跟半徑時(shí)可以更好的代入數(shù)學(xué)公式計(jì)算中,二、不需要預(yù)處理,數(shù)值處理更加簡便,坐標(biāo)偏移后成圖效果好。

代碼看起來很長,實(shí)際上是多種圖形處理的重復(fù),實(shí)際懂的點(diǎn)的轉(zhuǎn)換即可實(shí)現(xiàn)。

寫在文末:一直想用畢設(shè)的東西做個(gè)視頻,比如以比翼琪霏為素材,弄一個(gè)亂糟糟的圓dwg然后輸出后為一個(gè)完整的方圖jpg,給人一種煥然一新解謎的感覺,但七八月弄了好久,效果并不理想。始終想分享一點(diǎn)objectarx的資料到網(wǎng)上,決定把其中這部分內(nèi)容分享出來

ObjecARX實(shí)現(xiàn)對(duì)圓圖極坐標(biāo)展開獲得方圖的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
湾仔区| 九江县| 衡南县| 龙口市| 库尔勒市| 潼南县| 和平县| 衡东县| 万荣县| 清丰县| 桑日县| 桓仁| 汽车| 五寨县| 绥宁县| 哈巴河县| 福贡县| 荃湾区| 罗城| 洞口县| 盐津县| 蚌埠市| 岳池县| 弥勒县| 隆化县| 嘉荫县| 祁门县| 建瓯市| 阳城县| 新余市| 同德县| 大港区| 堆龙德庆县| 安徽省| 定边县| 威宁| 西青区| 安远县| 奎屯市| 沿河| 宜丰县|