網頁

2012年1月12日星期四

人與狗:陪你一輩子!

先祝福到訪的各位朋友,壬辰龍年,祥龍瑞氣。
並以所附的影片,祈顣朋友們有福能發現與找到心中的慈悲。

介助犬最後的遺言


仁武的小黑 (之前令人不忍的 受腐蝕重傷、救治進步中的小黑)

2011年11月30日星期三

可愛的黃金獵犬﹗

這隻黃金獵犬超厲害的,很惹人愛,也來試著訓練我家的多多看看!(也得看牠賞不賞臉)
Dancing Merengue Dog會跳舞的狗 漂亮的黃金獵犬CARRIE與人共舞 201008


這隻黃金獵犬也是很厲害的,能倒退跳舞。


而這則是我們家的"多多"(全名"貝多芬"),於2010.11.13那一天成為我們家新成員的模樣,只有42天齡而已。是在建國假日花市愛心認養的 puppy,當時並不知牠是黃金獵犬,幾個月後回去問當時的愛心狗媽媽唐太太,只知牠的媽媽是mixed黃金拉不拉多,爸爸則不明。


現在已經是滿一歳,皮毛閃著健康光澤的黃金獵犬(其實臉蛋和身形比較像拉不拉多,但無妨,我們就是把牠當黃金獵犬),帶牠出去散步時每次聽到旁人稱讚多多毛色光澤漂亮很健康的模樣,心中總會伴隨著一股莫名的喜悅。

*****
認識黃金獵犬狗狗教養手冊(幸福遇見 林依晨)
台灣認養地圖流浪動物花園
台中市世界聯合保護動物協會
寵物當家:基地動物園台北市動物之家
路過就好~沒事別來~愛我兜是愛台灣^^
高雄市關懷流浪動物協會台灣照顧生命協會-貓狗119
台灣收容動物關懷協會動福會(中華民國動物福利環保協進會)
~~~~
What's Up Bud?(黃金阿八+甜點師媽媽的生活瑣事)
2006狗狗讀心術之黃金獵犬
狗的介紹-讓人感動的紀錄片台灣流浪犬 美國覓新生
黃金獵犬用眼神央求主人:可以留下小貓嗎?
童童世界~~調皮、搗蛋的黃金獵犬
 ♀♂ 黃金獵犬 黃金拉♀♂ 陽光球球耗呆妹黃金獵犬的天堂
黃金獵犬CHERRY天馬行空的後花園
黃歡與狗狗的會客室愛毛孩-竉物社群入口網站
孕婦別擔心 觀念對了 養寵物好處多
領養拉不拉多犬之前~請三思

2011年11月15日星期二

Civil 3D 地形物件與土方計算之關係 - 數學原理探討(五)

(延續前文 Civil 3D 地形物件與土方計算之關係 - 數學原理探討(四))
本文有許多的小問題如(Why?)、(How?) 等留給有興趣的朋友自行觀察及思考。

依照前文的分析,對於一般非邊界網格情況之下其方格中按 NNI 程序所內插得高程 Z 的數學函數必須分為二類五區作不同表示:
非影響區類:僅一區,Z 值得採鞍面公式表示為 Z = F (x,y,Z1,Z2,Z3,Z4)
受影響區類:共有四區,分為左側、右側、上側、下側影響區,各影響區內的內插高程 Z 值分為作如下表示。
左側影響區內,則 Z = F (x,y,Z1,Z2,Z3,Z4,Z'4,Z'5)
右側影響區內,則 Z = F (x,y,Z1,Z2,Z3,Z4,Z'1,Z'10)
上側影響區內,則 Z = F (x,y,Z1,Z2,Z3,Z4,Z'2,Z'3)
下側影響區內,則 Z = F (x,y,Z1,Z2,Z3,Z4,Z'7,Z'8)

至此可以預見僅要計算完整方格內的體積即會相當繁複,若方格內有部分挖填的情況時,則等零線的數學表示式推導更是繁雜,失去了方格法土方計算中所需要的簡單合理的精神。固然將其交由電腦軟體去計算如此繁瑣的過程是一個方案,但對其計算結果要如何以人工作必要的檢核則會是一個不小的難題,否則必然可能發生 garbage in, garbage out 的情況但卻無從避免錯誤。

若觀察受影響區範圍內受相鄰網格頂點的影響情形 (How?),將四邊相鄰網格的影忽略的話,網格內的內插高程 Z 值則得以簡單地全部以鞍面公式 Z = F (x,y,Z1,Z2,Z3,Z4) 表示,則土方計算的過程、等零線的求算等將會相對地簡易許多。而此簡化結果與考量受影響情形於土方計算所產生的誤差若控制在可接受或受限(bounded)的數量之下,則能同時符合方格法土方計算中所需要的簡單合理的精神。

仿照 Civil 3D 地形物件與土方計算之關係 - 數學原理探討(三) 的說明及推導,但改以 Z3 點位為座標原點,則可推導得通過網格四個頂點的鞍面公式如下(網格邊長為 d):
網格內的總體積則按該鞍面公式推導得計算如下:
若考量網格內有部分挖填的情形,則僅需考量以下兩種情況推導相關的體積計算基本公式即可,其結果適用於鞍面假設之下不同挖填計算情境。(Why?)

情況一、 Z3 正負異於 Z1,Z2,Z4
Z3大於0 Z1, Z2, Z4 小於等於0 (或是 Z3小於0 Z1, Z2, Z4 大於等於0)的情形。由鞍面公式可得知等零線函數式

則以 Z3 為極值的體積(挖方或填方均可)可按積分推導得如下:
情況二、 Z3 與 Z2 正負相同但異於 Z1,Z4
Z3, Z2 大於0 Z1, Z4 小於等於0 (或是 Z3, Z2 小於 0 Z1, Z4 大於等於0)的情形。由鞍面公式可得知等零線函數式

則以 Z3 Z2極值斜線區內體積(挖方或填方均可)可按積分推導得如下:

兩種部分挖填情況下依鞍面公式積分得的體積計算式尚符合簡單易讀的要求,唯兩者均有共同的限制條件: A ≠ 0 ,即必須符合 Z1+Z3–Z2+Z4 ≠ 0 才不致發生分母為零的除式錯誤。萬一發生此檢查式有 Z1+Z3–Z2–Z4=0 的情形,可以採用將 Z3 值加上一個微小比例差異量的方式作調整:Z3' = (1+ε) Z3。因此,若採諸如 ε = 0.0001 的調整值則可以兼具上述計算法的有效性及不影響體積計算結果。

前述二種情況之體積計算式及計算結果,可以很容易地在試算表工具 (如免費自由辦公室軟體 LibreOffice 的 Calculator)作相關的檢算,並以Civil 3D 的地面物件平滑工具作檢驗。有興趣的朋友不妨先行利用 Civil 3D 地形物件與土方計算之關係 - 數學原理探討(二) 文中的點位資料,以中間方格所在的地形2 作 NNI 平滑補點檢試看看。

其實就筆者所知,一般在處理上述情況一及情況二的體積計算,是分別以錐體公式及楔形公式求算,可以將前列公式的計算結果與之比較檢驗一番:

(未完,待續.....)
*****
本文公式撰寫之貼圖均以 LibreOffice 3.4x(3.3x) 製作,其公式描述內容如下。朋友們可自行貼附在LibreOffice (或是 OpenOffice.org) 的 Writer中,選取後點按"公式"圖例即可完成數學式的編製。
Z(x,y)~=~Axy~+Bx~+Cy~+D newline
A~=~{Z_3+Z_1-Z_2-Z_4} over {alignc d^2} newline
B~=~{Z_4-Z_3} over {alignc d} newline
C~=~{Z_2-Z_3} over {alignc d} newline
D~=~Z_3 newline
Z (X_0,Y_0)=0,~Y_0=~{-BX_0-D} over {alignc AX_0+C}~or X_0=~{-CY_0-D} over {alignc AY_0+B} newline
for X_0=0,~Y_0=-D over {alignc C} newline
V_Z3~=iint Z(x,y) dx dy newline
~~~~~=-C^2 over {alignc 2A} left [ 1 over 2 Ay^2+(2AD over {alignc C}-B)y+1 over {alignc A} (AD over {alignc C} -B)^2 ln (y + B over A) right ]^{y=-D/C}_{y=0} newline
~~~~~=Z_3^2 over {alignc 2A} left [ 3 over 2 - BC over AZ_3 - (1- BC over AZ_3)^2 ln(1 – AZ_3 over BC) right ]
Let ~K= BC over AZ_3 , ~then~ V_3= Z_3^2 over {alignc 2A} left[ 3 over 2-K-(1-K)^2 cdot ln (1-{alignc 1} over k) right] newline
"Let" ~K= BC over AZ_3~newline
"then "~ V_3= Z_3^2 over {alignc 2A} left[3 over 2-K-(1-K)^2 cdot ln (1 - {alignc 1} over K) right] ~newline
"where "~(1-1 over K)~=~1- {alignc {AZ_3 over BC}}~=~{alignc {Z_2 Z_4-Z_1 Z_3} over {(Z_4-Z_3)(Z_2-Z_3)}}~ > ~0 newline
V_Z3~=iint Z(x,y) dx dy newline
~~~~~=-C^2 over {alignc 2A} left [ 1 over 2 Ay^2+(2AD over {alignc C}-B)y+1 over {alignc A} (AD over {alignc C} -B)^2 cdot ln (y + B over A) right ]^{y=d}_{y=0} newline
~~~~~={alignc {-1 over 2A}} left [ {alignc {C^2 d^2} over 2}+(2Z_3 C - {alignc BC^2 over A}) cdot d+ (Z_3- {alignc BC over A})^2 cdot ln(1 + {alignc Ad over B}) right ] newline
"where "~(1+ {alignc Ad over B})~=~{alignc {Z_1-Z_2} over {Z_4-Z_3}}~ > ~0 newline
錐體公式 V'~=~{alignc {Z_3^3 over {(Z_3-Z_2)(Z_3-Z_4)}}} cdot {alignc d^2 over 6} newline
楔形公式 V'~=~({alignc Z_3^2 over {Z_3-Z_4}}+ {alignc Z_2^2 over {Z_2-Z_1}}) cdot {d^2 over 4}

2011年11月7日星期一

Civil 3D 地形物件與土方計算之關係 - 數學原理探討(四)

(延續前文 Civil 3D 地形物件與土方計算之關係 - 數學原理探討(三))
本文有許多的小問題如(Why?)、(How?) 等留給有興趣的朋友自行觀察及思考,均不是什麼難題,只是一些幾何觀察或簡易代數推導。

比照 Civil 3D 地形物件與土方計算之關係 - 數學原理探討(二) 文中的地形1高程點位資料分佈,但扣除右上及左上的高程資料時 (如下圖所示於Z1~Z4為頂點所構成的主要方格之外,尚存在Z'1~Z'10共10個高程資料,其位置均位於方格頂點),則其構成的 Voronoi tessellation 將如圖中橘色線所繪製的結果。(Why?)
於白色方框範圍內以前文所選取相同點位 P作為欲內插估算其高程值的位置,繪製其與四周頂點的 Voronoi diagram 的結果則如圖中綠色聚合線所框圈的範圍。此時左側的 Z'4、Z'5 高程的Voronoi tessellation 範圍會為綠色聚合線所切割交集,即可將該二點位視為對 P 點高程值之內插估算具有影響性的鄰近點位,而其它Z'`1~Z'3、Z'6~Z'10等8個點位的高程資料則與 P 點高程值之內插估算無關。此時面積權重組成為 W1~W4、W'4、W'5,與前文所述之單一方格情形比較之後,可明顯知道 W2及W3的面積縮減而新增 W'4及W'5。該Voronoi diagram  的六個頂點(J1~J6)的座標值P點的高程內插值 Zp估算可以 P (x,y)座標值表示如下(Why?):
由上即可發現 P點的高程內插值 Zp 的數學表示式非常複雜 (How?)。然而若選取上圖中 P2點作為欲內插估算其高程值的位置,則又發現此時的 Voronoi Diagram (上圖中的紫色聚合線所框圍的四邊形)與前文中的單一方格情境時相同,高程內插值 Zp2的計算式可表示如下:
顯然地,白色方格範圍內之任意選取點位 PVoronoi Diagram 會因其所在位置而呈四邊形或六邊形的情形,其衍生的高程內插值估算的數學表示亦有簡易或繁複的不同結果。上圖中的選取點 P為位於靠近白色方格左側邊界的情形,若情形為分別位於靠近白色方格右側、上側、下側時,其 Voronoi Diagram 的繪製結果又會如何?其 Zp 估算式中的各影響面積權重分佈情形又會是何情形?在那些區域內其Voronoi Diagram 與前文中的單一方格情境相同且可採相同的簡化後內插高程估算式?

前述諸多問題的解答線索,其實筆者已在 Civil 3D 地形物件與土方計算之關係 - 數學原理探討(二) 文中有所提示。請朋友自行如下圖繪製解答圖(Why?):分別於與方格鄰接的左、右、上、下的四側方格作各自的外接圓如圖中紅、黃、綠、青四個圓所示。
若選取點位P落於方格與該四個圓均無交集的區域(未影響區),則其 Voronoi Diagram 則繪製如前文的單一方格情境,即僅與方格的四個頂點有關而已,而高程內插估算則得以按鞍面公式計算之。若選取點位P落於方格與其中之一圓交集的區域(受影響區,即斜線所示區域),則其 Voronoi Diagram 之繪製與所交集外接圓的鄰接方格頂點、以及方格所處的四個頂點共六個頂點有關,其高程內插估算式相對複雜許多。

若將前圖稱作該方格的內插高程是否得以按方格四個頂點以鞍面公式估算的響影範圍圖,則將所有方格的響影範圍圖繪製拼接後可得全網格範圍的響影範圍圖。

****
本文公式撰寫之貼圖均以 LibreOffice 3.4x(3.3x) 製作,其公式描述內容如下。朋友們可自行貼附在LibreOffice.org (或是 OpenOffice.org) 的 Writer中,選取後點按"公式"圖例即可完成數學式的編製。
J1 = (X1,Y1)=~left({d^2 / 2 -(x^2+y^2)} over {alignc d-2x},~0 right) newline
J2 = (X2,Y2)=~left(0,~{d^2 / 2 -(x^2+y^2)} over {alignc d-2y} right) newline
J3 = (X3,Y3)=~left(-d,~{x^2+y^2+dx-d^2} over {alignc y- d /2} right ) newline
J4 = (X4,Y4)=~left({x^2+y^2-5d^2 /2} over {alignc d+3x / 2},~0 right) newline
J5 = (X5,Y5)=~left(-d,~{x^2+y^2+dx-d^2} over {alignc y+ d /2} right ) newline
J6 = (X6,Y6)=~left(0,~{d^2 / 2 -(x^2+y^2)} over {alignc -(d+2y)} right) newline
Zp~=~{sum W_i Z_i}over{alignc sum W_i} ~=~{W_1 Z_1+W_2 Z_2 +W_3 Z_3+W_4 Z_4+W'_4 Z'_4+W'_5 Z'_5} over {alignc W_1 +W_2+W_3+W_4+W'_4+W'_5}

2011年11月2日星期三

Civil 3D 物件標示文字字型設定 - 動手試試看!

若到訪的朋友已明白 Civil 3D 物件標示文字字型設定 - 先想想看! 所指的文字標示問題,本文則提供一些線索,供有興趣的朋友自行尋找解決方案。本文無任何畫面截圖貼附,故答案均在自行的動手操作之中。

先以"Metric Template_CHT.dwt"樣版檔開啟圖面,並滙入點檔案 (如筆者慣用的 sample data set 的 PNEZD 點檔案),並仿照 Civil 3D 物件標示文字字型設定 - 先想想看!的操作,完成動手試試看前的準備。

中文版的 Civil 3D 2008 物件標示文字字型設定與替代字型指定、物件文字標示預設字型、移除格式化及CAD的 Style 字型設定有關:

1. Fontalt (替代字型指定)
在命令列輸入 fontalt 指令可以設定當 Civil 3D 找不到所指定匹配的字型時的替代字型顯示。無意外的話,預設的字型是 "simplex.shx" ,可自行更改為 "txt.shx"、"Times New Roman"、"標楷體"、"細明體",觀察一下畫面的字型變化。(與 acad.fmp 的替代字型對映檔無關)

2. 以 Style 新增字型樣式
在"Metric Template_CHT.dwt"樣版檔中的 "Standard" 字型樣式是 txt.shx 且不使用大字體。請至少增加三個樣式,其中一個為中文樣式 (例如名為"仿宋體",使用<王漢宗中仿宋繁>字體)、一個有使用大字體的英文樣式 (例如名為 "Standard-2",使用 txt.shx + gbcbig.shx字體)以及一個使用 truetype 字體的英文樣式 (例如名為 "TimesNewRoman",使用 Times New Roman字體)。再於標示型式管理員對話視窗中設定不同的字型,regen 後觀察文字標示字型的變化。

3. 物件文字標示預設字型
在工作區的設定頁籤點選所要預設標示型式的物件(例如"點"物件),設定預設的標示型式。接著於標示型式管理員對話視窗及文字元件編輯器視窗中作更多的不同字型指定(shx 字體、truetype的英文及中文字體),regen 後觀察文字標示字型的變化。

4. 移除格式化
沒意外的話,朋友們在步驟3 的快意操作後會遇到型式設定昏頭的狀況,此時只要記得到文字元件編輯器視窗中選取標示內容並移除格式化(滑鼠右鍵)後,許多不正常的狀況即可解除,再依需要作字型設定。請留意:移除格式化的功能必需在有使用大字體的英文樣式 (例如名為 "Standard-2",使用 txt.shx + gbcbig.shx字體)之下方能運作正常(C3D 版本 2008~2010皆然,2011及2012 版本或許亦是如此,自行"踹踹看")。

若 Civil 3D 物件標示文字字型設定是一個困擾許久的謎,至此答案已昭然若揭!

2011年11月1日星期二

請別再胡亂抄寫錯誤的 Civil 3D 土方計算說明!

近來連續在數本工程開發計畫中發現附圖的這段錯誤的 Civil 3D 土方計算說明不斷的被引用,納悶之餘以"Civil 3D & 三角稜柱體積" 關鍵詞 Google 後竟又找到數本報告書一字未改地抄錄該段謬誤,實在是過於囫圇吞棗,有違工程領域對專業負責的基本涵養。

這其中的嚴重謬誤有下列幾項:
1. 方格法與三角網組合體積法即是兩個不同的方法,文中究竟是指何法?
2. 此處所指之方格法並非是 Civil 3D 軟體的既有功能,應是指 EarthworkConstructDrawing.dvb 加值程式所提供的方法。但該程式提供了三角稜柱法、四角稜柱法及精確算法共三種方法,計算原理均有差異。然而其文句並未明確說明究竟是何法。
3. 所提所謂楔體公式是否適用於完整方格或是邊界處的不完整方格?
4. 所提所謂楔體公式僅是三角稜柱法中計算情境之一,其它情境條件時的計算公式亦應一併列出。
5. 利用 Civil 3D 這類軟體工具建構數值模型以求算土方的計算結果品質主要取決於模型建構的品質,而這品質的要求為何?並非單獨因為採數值化三角網建構模型就保證土方計算精度就會比較好。
6. 方格邊長的大小是另一個影響土方計算結果的重要因子,文中並未說明方格邊長及選取原則為何。

所以請到訪且有使用 Civil 3D 軟體工具的朋友協助及監督,停止這段錯誤的土方計算說明的引用及抄寫,莫再以訛傳訛!