建筑施工過程中,第一步工作就是三通一平,但是三通一平的前提是你要知道你所施工樓棟的位置,這就需要按照圖紙給的坐標點,在施工現場測量放線出來。
那么將坐標點套到CAD圖紙中,這個技能就需要好好掌握了。
電腦必備CAD軟件,再安裝個天正建筑,方便坐標標注。
CAD軟件
天正建筑軟件
步驟如下:
1、先指定圓心畫兩個圓,就是把圖紙上已知的兩個坐標點,用圓心表示出來;
2、輸入圓心的坐標有2個方法輸入,(1)在十字光標后面命令欄輸入,先輸入Y,后輸入X,按Tab鍵切換Y和X;(2)在下面命令欄輸入,下輸入Y,后輸入X,用逗號隔開;注意輸入坐標時不加小數點,全部輸入。
例如:圖紙上坐標是X=3824578.452;Y=467942.941
輸入時就是467942941,3824578452
兩個已知點依次確定。
3、兩個圓心找到,圓可以畫的大一點,方便好找。把需要套圖的圖紙復制在這張畫好的圓的圖紙上。
4、全部選擇復制的圖紙,輸入AL命令,先點擊圖紙上第一個點的位置,然后點第一個圓心;點擊圖紙上第二個點的位置,點擊第二個圓心;按空格鍵,選擇“否”
5、再按空格鍵,圖紙就移動到了和圓心對應坐標的位置;
6、下面該用的天正建筑了,點擊天正建筑的符號標注--坐標標注,就可以標注查看坐標了;
為驗證圖紙坐標系是否正確,先查看已知的坐標,標注的都正確,那這個圖紙上的坐標就能標注使用了。
了更好地表現出數據之間的聯系,我們經常使用柱形圖、餅圖來展示多維數據。不過這些圖表最多只能展示二維數據,如果需要展示三維數據,此時可以使用Excel的矩陣圖來實現。
小提示:什么是矩陣圖?
從多維問題的事件中,找出成對的因素,排列成矩陣圖,然后根據矩陣圖來分析問題,從而綜合多種指標進行判斷的一種多維可視圖表。比如常見的波士頓圖、麥肯錫矩陣分析法使用的都是矩陣圖。
一般我們對每種產品的判定,經常要根據市場占有率、增長率和利潤總額來進行綜合判斷。如下表分別是A、B、C、D四種產品對應的指標數據,其中不同產品的判斷標準如下:
明星產品——高增長率、高市場占有率
現金牛產品——低增長率、高市場占有率
問題產品——高增長率、低市場占有率
一般產品——低增長率、低市場占有率
為了更加直觀看出某種產品符合什么標準,現在通過矩陣圖表就可以快速對產品性質進行比對(圖1)。
圖1 利潤指標數據
選中實例中的數據,點擊“插入→圖表→所有圖表→XY散點圖”,選擇其中的“氣泡圖→增長率”,在表中插入一個常規的氣泡圖表(圖2)。
圖2 插入氣泡圖表
選中表示A產品的氣泡圖標,點擊菜單欄的“圖表工具→設計→選擇數據“,在打開的窗口勾選A產品,點擊“編輯”,在打開的編輯窗口依次進行如下設置:
系列名稱選擇A2(即A產品的名稱),X軸系列值選擇C2(即增長率數值),Y軸系列數值選擇B2(即市場占有率數值),系列氣泡大小選擇D2(即利潤數值)。
這樣我們通過一個氣泡結合X軸、Y軸,可以表示A產品對應的的三個指標數值(圖3)。
圖3 編輯數據
操作同上,依次添加B、C、D產品的數值氣泡,這樣在一個坐標平面圖中,使用不同的氣泡就可以表述不同產品的三個指標數值。為了方便進行識別,選中氣泡,右擊選擇“填充“,依次為其填充不同的顏色進行區分(圖4)。
圖4 為氣泡填充顏色
為了使得最終矩陣圖可以更直觀地表示出產品的特性,這里需要對坐標軸的數據進行設置。比如縱坐標表示的是市場占有率,案例中最大值是22%,可以將最大值設置為25%。選中縱坐標右擊選擇“設置坐標軸格式“,將其最大值設置為0.25(如果有負數,則需將最小值設置為對應的負數)。同理設置橫坐標的數值,這樣調整后可以讓產品的分布更加均勻(圖5)。
圖5 調整坐標數值
小提示:
很多數據都可以通過矩陣圖表來進行多維的展示,這里需要注意的是,采用四象限的方式展示多維數據時,一定要先規劃好分類的標準(如上例的產品分類),同時使用合適的坐標刻度使得氣泡的分布更為均勻。比如一些數據的數據值跨度在幾個數量級,如果Y軸刻度使用常規的設置,數據起伏很大不方便在矩陣圖中展示,此時就可以將坐標軸的刻度設置為“對數值”即可,大家可以根據實際數據情況進行設置。
因為后續操作需要在這個氣泡的圖標上疊加矩陣,因此還需要對圖表進一步優化。右擊圖表選擇“設置網格線格式”,將其設置為“無線條”,繼續選中橫向線條也設置為“無線條”,去除網格線的顯示,同時為氣泡添加數據標簽和坐標文字說明。最后將圖表的背景設置為“無填充”,方便后續矩陣圖片作為其背景圖片(圖6)。
圖6 圖表美化
點擊“插入→圖形→矩形“,按提示插入4個矩形,并將插入的矩形按照平面坐標的形式排列(設置適當的間距和大小,填充不同的顏色)。同上插入文本框,并依據上述產品的標準輸入對應文字說明備用,同時將文本框的輪廓設置為”無“,填充顏色也設置為”無“,后續將其作為不同產品的文字說明(圖7)。
圖7 矩形和文本框
依次將四個矩形移動到圖表區域,并將其設置為“至于底層“,同時調整各個矩形的大小和間距,使得每類產品正好落在不同的矩形上。繼續選中不同文字的文本框,按照產品的實際表現移動到對應的矩形上面,最后再插入箭頭,藝術字說明,這樣通過矩陣圖表我們就可以很直觀看到每種產品的類型了(圖8)。
圖8 矩陣圖表
通過矩陣圖片結合X軸、Y軸就可以方便完成矩陣圖的制作,如果還有其他產品,我們只要輸入數據后重新生成對應的氣泡數據,這樣只要查看氣泡落在矩陣圖象限位置,我們通過位置就可以很直觀看出產品屬于哪種性質了,這樣三維矩陣圖表是不是更好用?
OpenCV 是基于開源許可證的跨平臺計算機視覺庫,提供了一組豐富、廣泛的圖像處理和計算機視覺算法。OpenCV 支持多種編程語言,包括 C++、Python、Java 等,可以運行在 Linux、Windows、Mac OS 等平臺上。
OpenCV 能夠在圖像上繪制各種幾何形狀、文本和曲線,以及對圖像進行調整、裁剪和旋轉等操作,這些功能都為圖像的分析和處理提供了很大的幫助。
以下是 OpenCV 可以繪制圖像的一些應用:
(1)圖像標注:在圖像上添加標注或者注釋,例如在目標檢測或者圖像分類任務中,通過在圖像上繪制框、標簽等信息來標記檢測到的目標。
(2)處理后顯示:例如在圖像處理過程中,可以在處理前和處理后的圖像上繪制對比圖,直觀地顯示圖像處理的效果。
(3)實時顯示:通過持續不斷地在屏幕上繪畫來實現實時顯示效果,例如在視頻處理中輸出處理后的視頻流并將其實時渲染在屏幕上。
下面代碼實現的功能:
使用 OpenCV(C++) 新建一張透明圖片,在圖片里繪制一個矩形、一條直線、一段文字、一個圓。
// 創建一張大小為 512x512,具有 alpha 通道的透明圖片
cv::Mat img(512, 512, CV_8UC4, cv::Scalar(0, 0, 0, 0));
// 在圖片上繪制一個矩形
cv::rectangle(img, cv::Point(50, 50), cv::Point(200, 150), cv::Scalar(255, 0, 0, 255), -1);
// 在圖片上繪制一條直線
cv::line(img, cv::Point(300, 100), cv::Point(450, 100), cv::Scalar(0, 255, 0, 255), 3);
// 在圖片上繪制一段文本
std::string text="Hello, OpenCV!";
cv::putText(img, text, cv::Point(50, 300), cv::FONT_HERSHEY_SIMPLEX, 1, cv::Scalar(0, 0, 255, 255), 2);
// 在圖片上繪制一個圓
cv::circle(img, cv::Point(400, 350), 50, cv::Scalar(255, 255, 0, 255), -1);
// 顯示圖片
cv::imshow("image", img);
cv::waitKey(0);
cv::Mat 是 OpenCV 中表示圖像的數據結構,它可以存儲多通道的圖像。 cv::Scalar 是一個四通道的實數向量,用于表示像素點的顏色和 alpha 值。 cv::Point 是一個二維整型向量,用于表示像素點的坐標。 cv::rectangle 函數用于在圖片上繪制矩形。 cv::line 函數用于在圖片上繪制直線。 cv::putText 函數用于在圖片上繪制文本。 cv::circle 函數用于在圖片上繪制圓。
// 創建一張大小為 512x512,具有 alpha 通道的透明圖片
cv::Mat img(512, 512, CV_8UC4, cv::Scalar(0, 0, 0, 0));
// 在圖片上繪制一個矩形
cv::rectangle(img, cv::Point(50, 50), cv::Point(200, 150), cv::Scalar(255, 0, 0, 255), -1);
// 在圖片上繪制一條直線
cv::line(img, cv::Point(300, 100), cv::Point(450, 100), cv::Scalar(0, 255, 0, 255), 3);
// 在圖片上繪制一段文本
std::string text="Hello, OpenCV!";
cv::putText(img, text, cv::Point(50, 300), cv::FONT_HERSHEY_SIMPLEX, 1, cv::Scalar(0, 0, 255, 255), 2);
// 在圖片上繪制一個圓
cv::circle(img, cv::Point(400, 350), 50, cv::Scalar(255, 255, 0, 255), -1);
// 保存圖片到本地
cv::imwrite("output.png", img);
cv::line 函數用于在圖像上繪制一條直線,其參數如下:
void cv::line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color,
int thickness=1, LineTypes lineType=LINE_8, int shift=0);
cv::circle 函數用于在圖像上繪制一個圓,其參數如下:
void cv::circle(InputOutputArray img, Point center, int radius, const Scalar& color,
int thickness=1, LineTypes lineType=LINE_8, int shift=0);
cv::rectangle 函數用于在圖像上繪制一個矩形,其參數如下:
void cv::rectangle(InputOutputArray img, Rect rect, const Scalar& color,
int thickness=1, LineTypes lineType=LINE_8, int shift=0);
cv::putText 函數用于在圖像上繪制文本,其參數如下:
void cv::putText(InputOutputArray img, const String& text, Point org, int fontFace,
double fontScale, Scalar color, int thickness=1, int lineType=LINE_8,
bool bottomLeftOrigin=false);