摘 要:不動(dòng)產(chǎn)宗地界址的恢復(fù)可簡(jiǎn)化為根據(jù)四邊形的面積和邊長(zhǎng)確定其對(duì)角線長(zhǎng)度的問(wèn)題。本文通過(guò)研究四邊形對(duì)角線長(zhǎng)與面積間的關(guān)系,建立了求解四邊形對(duì)角線長(zhǎng)的算法模型。在四邊形四個(gè)邊長(zhǎng)和面積固定的約束條件下,經(jīng)迭代計(jì)算求解對(duì)角線長(zhǎng)度。根據(jù)已知界址點(diǎn)的坐標(biāo)用距離交會(huì)法計(jì)算四邊形的兩個(gè)待定點(diǎn)坐標(biāo),從而恢復(fù)宗地界址。
關(guān)鍵詞:宗地界址恢復(fù);四邊形對(duì)角線長(zhǎng)與面積關(guān)系;弦截迭代公式;距離交會(huì)
中圖分類號(hào):P 20" 文獻(xiàn)標(biāo)志碼:A
許多老舊的宗地圖受當(dāng)時(shí)測(cè)繪技術(shù)條件的限制,只有邊長(zhǎng)和面積,沒(méi)有坐標(biāo),也沒(méi)有可參照的地形地物。在新的不動(dòng)產(chǎn)登記調(diào)查作業(yè)中,要恢復(fù)其形狀和界址點(diǎn)坐標(biāo)的同時(shí),還要保證面積邊長(zhǎng)不變,手工調(diào)整難度很大。
任何形狀的宗地在大致確定各界址點(diǎn)位置后,均可將該宗地證載面積減去其他不可調(diào)整的固定部分面積后的剩余面積,歸算到一個(gè)四邊形上。在保證四邊形四個(gè)邊長(zhǎng)一定,面積等于宗地剩余面積的約束條件下,通過(guò)迭代計(jì)算四邊形對(duì)角線長(zhǎng),從而將不穩(wěn)定的四邊形變?yōu)閮蓚€(gè)共邊的穩(wěn)定三角形,這樣就穩(wěn)定了該四邊形的形狀。根據(jù)四邊形與宗地其他部分的兩個(gè)銜接點(diǎn)坐標(biāo),按照距離交會(huì)法可以計(jì)算其他兩個(gè)頂點(diǎn)的坐標(biāo),從而恢復(fù)老宗地圖的界址點(diǎn)。
1 四邊形對(duì)角線長(zhǎng)與面積關(guān)系
四邊形是一個(gè)不穩(wěn)定的圖形,邊長(zhǎng)一定的四邊形其面積是無(wú)法固定的。固定四邊形的一條對(duì)角線后,四邊形就成了兩個(gè)共邊的穩(wěn)定三角形,四邊形也變得穩(wěn)定且具有唯一的固定的面積。
圖1為典型四邊形,根據(jù)海倫公式可以求出三角形123和三角形134的面積,這兩個(gè)三角形的面積之和便是該四邊形的面積,于是便得出四邊形的面積S與對(duì)角線長(zhǎng)度d的函數(shù)關(guān)系,如公式(1)和公式(2)所示。
(1)
(2)
2 求解角線長(zhǎng)度
當(dāng)四邊形的面積一定時(shí),公式(1)或公式(2)可求出對(duì)角線長(zhǎng)度d或f。由于公式(1)和公式(2)不是線性方程,因此無(wú)法直接求解,須采用迭代法進(jìn)行計(jì)算。
2.1 對(duì)角線長(zhǎng)度的取值范圍及面積極值
在圖1中,設(shè)1、2頂點(diǎn)是固定的已知點(diǎn),3、4頂點(diǎn)為待定點(diǎn)。當(dāng)壓縮或拉伸對(duì)角線d時(shí),面積S也將隨之變小或變大。
2.1.1 對(duì)角線長(zhǎng)度的最小值
在圖1的基礎(chǔ)上,使頂點(diǎn)3向頂點(diǎn)1靠近,不斷縮短d。受4個(gè)固定邊長(zhǎng)的約束,凸四邊形將會(huì)壓縮為凹四邊形,面積逐漸變小,較短的邊會(huì)向里折疊,最終有2條邊折疊在一條直線上,此時(shí)的圖形為一個(gè)小三角形加一段回頭線,d壓縮至最小(圖2)。
d的最小值dmin如公式(3)所示。
dmin=max(|d1-d2|,|d3-d4|)" " " " " " " " " " " " "(3)
式中:max()為取最大值函數(shù)。
根據(jù)海倫公式,可求出d最小時(shí)的面積,當(dāng)dmin=|d1-d2|時(shí),如公式(4)所示。
(4)
當(dāng)dmin=|d3-d4|時(shí),如公式(5)所示。
(5)
同理,計(jì)算f的最小值如公式(6)所示。
fmin=max(|d2-d3|,|d4-d1|)" " (6)
當(dāng)fmin=|d2-d3|時(shí),計(jì)算四邊形面積如公式(7)所示。
(7)
當(dāng)fmin=|d4-d1|時(shí),計(jì)算四邊形面積如公式(8)所示。
(8)
注意圖2,這個(gè)時(shí)候的f已經(jīng)跑到了四邊形的外面,因此這時(shí)的f變得沒(méi)有意義,就不能再用f去求解四邊形了。對(duì)角線d或f必須在四邊形內(nèi)部,當(dāng)d或f跑到四邊形外面時(shí),使得公式(1)或公式(2)不成立。
在d達(dá)到圖2所示的最小值后,若將f變小,則會(huì)使d也跑到四邊形的外面,而且這時(shí)的四邊形就會(huì)自相交,這在圖形的拓?fù)潢P(guān)系中也是不允許存在的。因此,在后續(xù)的研究中,本文僅考慮d或f在四邊形內(nèi)部時(shí)的情形。
2.1.2 對(duì)角線長(zhǎng)度的最大值
在圖1的基礎(chǔ)上,將頂點(diǎn)3向外拉伸,使其與頂點(diǎn)1的距離增加,d不斷變大。受4個(gè)固定邊長(zhǎng)的約束,圖形將會(huì)逐漸撐開(kāi)變?yōu)橥顾倪呅?,在該過(guò)程中,面積逐漸變大。當(dāng)變化到4個(gè)頂點(diǎn)共圓時(shí),四邊形的面積達(dá)到最大極值。此時(shí)繼續(xù)拉伸d,四邊形將會(huì)變得瘦長(zhǎng),最終2條較短的邊被拉伸為一條直線,圖形變?yōu)橐粋€(gè)大三角形,d拉伸最大(圖3)。
此時(shí)得到公式(9)。
dmax=min(d1+d2,d3+d4)" " " " " " " " " "(9)
式中:min()為取最小值函數(shù)。
同理,計(jì)算f的最大值如公式(10)所示。
fmax=min(d2+d3,d4+d1)" " " " " " " (10)
2.1.3 四邊形面積的最大值
已有研究表明,當(dāng)四邊形的4個(gè)頂點(diǎn)共圓時(shí)面積最大[1],最大面積如公式(11)所示。
(11)
如上所述,四邊形面積最大時(shí)四個(gè)頂點(diǎn)共圓,即為圓內(nèi)接四邊形。根據(jù)圓內(nèi)接四邊形對(duì)角互補(bǔ)的性質(zhì)可知,圖1中的∠123與∠341之和為π。設(shè)∠123為θ,則∠341為π-θ。設(shè)面積最大時(shí)1-3對(duì)角線長(zhǎng)度為dSmax,根據(jù)余弦定理并顧及cos(π-θ)=-cosθ,得出公式(12)和公式(13)。
dS2 max=d12+d22+2·d1·d2·cosθ " " " " " " " " " " " " " " " " (12)
dS2 max=d32+d42-2·d3·d4·cosθ " " " " " " " " " " " " " " " "(13)
解上述方程組可得公式(14)。
(14)
同理可得,計(jì)算面積最大時(shí)2-4對(duì)角線的長(zhǎng)度如公式(15)所示。
(15)
2.2 構(gòu)建迭代模型
2.2.1 S(d)與S(f)函數(shù)曲線的特性分析
由上文可知,當(dāng)d或f在四邊形內(nèi)部時(shí),將其作為2個(gè)三角形的共邊,以此計(jì)算四邊形的面積才是有意義的。在觀察對(duì)角線d變化過(guò)程中發(fā)現(xiàn),d與f是聯(lián)動(dòng)的關(guān)系。在d和f均在四邊形內(nèi)部的區(qū)間內(nèi),d變大f必然變小。反之,f變大d就變小。在該區(qū)間內(nèi),d與f是互替的關(guān)系,即求解d與求解f可以得到相同的四邊形。
當(dāng)d拉伸至最大(大三角形)時(shí),f還有繼續(xù)變小的可能。當(dāng)d為最大值時(shí)(如圖3所示),頂點(diǎn)2繼續(xù)向頂點(diǎn)4靠近,圖形將變形為凹四邊形。f繼續(xù)變小,圖形最終會(huì)穩(wěn)定在一個(gè)帶回頭線的小三角形上。此時(shí)d已經(jīng)在四邊形外且開(kāi)始變小。在該區(qū)間內(nèi),d失去其意義,根據(jù)f來(lái)確定四邊形的形狀。反之,當(dāng)f拉伸至最大,d仍繼續(xù)變小時(shí),f也失去意義,須根據(jù)d來(lái)確定四邊形。這兩個(gè)區(qū)間是d與f的互補(bǔ)區(qū)間。典型的四邊形對(duì)角線長(zhǎng)度與面積關(guān)系曲線如圖4所示(為清楚地說(shuō)明d和f兩個(gè)對(duì)角線的聯(lián)動(dòng)關(guān)系,將f軸的方向指向了與d相反的左邊)。
結(jié)合圖4,總結(jié)四邊形的S(d)曲線和S(f)曲線特性,得出以下結(jié)論。1)隨著對(duì)角線長(zhǎng)度的值由小變大,四邊形面積會(huì)經(jīng)歷一個(gè)由小變大、達(dá)到極值后再由大到小的過(guò)程。在上升區(qū)間或下降區(qū)間內(nèi)S(d)和S(f)都具有單值屬性,因此在各自的上升區(qū)間或下降區(qū)間內(nèi),給定S就可以迭代出d或f。2)S(d)的下降段(粗虛線部分)與S(f)對(duì)應(yīng)的上升段(細(xì)實(shí)線部分)是完全等效的,同一個(gè)面積值,二者計(jì)算的四邊形完全一樣。反之,S(f)的下降段(細(xì)虛線部分)與S(d)上升段(粗實(shí)線部分)對(duì)應(yīng)部分也是這樣。在上述區(qū)間內(nèi),當(dāng)面積一定時(shí)求解d與f可以得到相同的四邊形,二者可以互替。3)對(duì)比圖2與圖3,Sdmin≤Sdmax,Sfmin≤sfmax。即圖4曲線的上升區(qū)間的面積值完全可以涵蓋下降區(qū)間的面積值。
由上述分析可以看出,將S(d)和S(f)的上升段(各自的實(shí)線部分)合并在一起而忽略其下降段(各自的虛線部分),就能得到一個(gè)完整的曲線圖。當(dāng)設(shè)計(jì)程序時(shí),僅考慮S(d)和S(f)的上升段,會(huì)使解算模型變得較為簡(jiǎn)單。另外,由圖4可以看出,S(d)和S(f)的下降段比較陡,d或f的誤差對(duì)S的影響也會(huì)較大。因此,僅用S(d)和S(f)上升段的另一個(gè)優(yōu)勢(shì)可獲得較好的精度。
若Sdmin≤S≤Smax,則可以用S(d)函數(shù)在dmin≤d≤dSmax區(qū)間迭代d的目標(biāo)值,以此得到四邊形的第一組解。若Sfmin≤S≤Smax,則可以用S(f)函數(shù)在fmin≤f≤fSmax區(qū)間迭代f的目標(biāo)值,以此得到四邊形的第二組解。若S在Sdmin和Sfmin間,則只能有一組解。
2.2.2 迭代公式
當(dāng)四邊形邊長(zhǎng)和面積確定后,要根據(jù)公式(1)和公式(2)分別迭代1-3對(duì)角線長(zhǎng)度和2-4對(duì)角線長(zhǎng)度。
假定對(duì)角線長(zhǎng)度為x,根據(jù)公式(1)或公式(2)即可得出四邊形面積的計(jì)算值S(x)。設(shè)四邊形的給定面積為S,則面積殘差為:v(x)=S(x)-S。根據(jù)不動(dòng)產(chǎn)調(diào)查技術(shù)規(guī)程,面積精度為0.01,因此,將面積殘差的容許值ds(面積容差)設(shè)定在比其小10倍的0.001。當(dāng)殘差大于容差時(shí),通過(guò)增加或減少x值,再次計(jì)算殘差,直至殘差小于或等于容差為止,這樣即可迭代出x的目標(biāo)值d或f。
實(shí)際計(jì)算時(shí),采用弦截迭代公式,計(jì)算過(guò)程如公式(16)所示[2]。
(16)
弦截迭代公式需要兩個(gè)初值:x0和x1,這兩個(gè)初值均不能超過(guò)目標(biāo)值。v0和v1是根據(jù)兩個(gè)初值計(jì)算的面積殘差。當(dāng)?shù)鷇時(shí),x0=dmin,當(dāng)?shù)鷉時(shí),x0=fmin。x1=x0+dx,其中dx為一微小變化量。
要保證dx引起的面積變化量小于容差。以迭代d為例,由圖1和圖3可以看出,當(dāng)f最大時(shí),d的變化對(duì)面積的影響最大,可表示為ds=dx·fmax,因此取dx=ds/fmax。同理,當(dāng)?shù)鷉時(shí),dx=ds/dmax。由于設(shè)定面積容差值時(shí)已經(jīng)留有充分冗余,因此求出的初值不會(huì)超過(guò)目標(biāo)值。
2.2.3 迭代過(guò)程
以迭代對(duì)角線d為例。
確定兩個(gè)初值:x0=dmin、x1=x0+dx,其中dx=ds/fmax,ds=0.001。
計(jì)算初值的四邊形面積殘差:將d=x0、d=x1 代入式(1),計(jì)算d取兩個(gè)初值時(shí)的四邊形面積S(x0)、S(x1),然后按照殘差公式v(x)=S(x)-S計(jì)算四邊形面積的兩個(gè)殘差:v0=v(x0)、v1=v(x1)。
將兩個(gè)初值x0、x1和兩個(gè)殘差v0、v1代入公式(14)計(jì)算第一次迭代值x,并按殘差公式計(jì)算四邊形面積殘差v。
若vlt;ds或xgt;=dSmax則結(jié)束迭代,取d=x;否則x0=x1,v0=v(x0),x1=x,v1=v(x1)重復(fù)公式(2)~公式(4)。
3 計(jì)算頂點(diǎn)坐標(biāo)
計(jì)算對(duì)角線d和f后,根據(jù)頂點(diǎn)1和2的坐標(biāo),用距離交會(huì)法可求出頂點(diǎn)3和4的坐標(biāo)。距離交會(huì)法可以計(jì)算兩個(gè)相交圓的交點(diǎn)坐標(biāo)。以交會(huì)頂點(diǎn)3(x,y)為例,已知點(diǎn)1(x1,y1)和點(diǎn)2(x2,y2)到頂點(diǎn)3的距離分別為r1和r2,通過(guò)求解兩個(gè)圓的聯(lián)立方程即可得到交點(diǎn)坐標(biāo)(x,y),如公式(17)所示。
(17)
式中:;
r2=(x2-x1)2+(y2-y1)2。
需要說(shuō)明的是,兩個(gè)相交圓將會(huì)有兩個(gè)交點(diǎn),其中一個(gè)交點(diǎn)與圓心構(gòu)成的三角形1-2-3為順時(shí)針,另一個(gè)則為逆時(shí)針。宗地圖中的界址點(diǎn)是按順時(shí)針進(jìn)行編號(hào)的,因?yàn)楫?dāng)對(duì)圖1所示的四邊形的頂點(diǎn)和邊長(zhǎng)進(jìn)行編號(hào)時(shí)也是采用的順時(shí)針,所以公式(17)所取的是順時(shí)針的那個(gè)解(將b反符號(hào)后是逆時(shí)針的那個(gè)解)。
4 計(jì)算機(jī)程序?qū)崿F(xiàn)過(guò)程
計(jì)算機(jī)程序?qū)崿F(xiàn)過(guò)程有以下步驟。1)拾取已定的1、2點(diǎn)坐標(biāo),同時(shí)反算邊長(zhǎng)d1,錄入面積和其他3個(gè)邊長(zhǎng)。2)根據(jù)四邊形“任意三邊之和大于第四邊”,檢查錄入的邊長(zhǎng)數(shù)據(jù)的合理性。若不合理,則終止。3)計(jì)算dmin、Sdmin、fmin、Sfmin、Smax、dSmax、fSmax、dmax、fmax,同時(shí)求出面積的最小值:Smin=min(Sdmin,Sfmin)。4)根據(jù)面積的上下限,檢查錄入面積數(shù)據(jù)的合理性。若不合理,則終止。5)迭代計(jì)算求出d和(或)f。6)根據(jù)距離交會(huì)法計(jì)算待定頂點(diǎn)坐標(biāo)。7)在CAD中展繪計(jì)算結(jié)果。
當(dāng)解算結(jié)果有兩組時(shí),須人工判別最合適的結(jié)果。
5 結(jié)語(yǔ)
宗地界址恢復(fù)作業(yè)時(shí),首先將能夠確定的宗地界址繪制在CAD圖上,其次將剩余面積歸算到一個(gè)待定的四邊形上,借助計(jì)算 邊長(zhǎng)和宗地剩余面積確定待定的兩個(gè)頂點(diǎn),最后恢復(fù)所有宗地界址點(diǎn)。
參考文獻(xiàn)
[1]王兵權(quán).論邊長(zhǎng)確定的四邊形面積最大值定理[J].中學(xué)教研(數(shù)學(xué)),2010(9):25-26.
[2]喻文建.數(shù)值分析與算法[M].2版.北京:清華大學(xué)出版社,2015.