| 我明白了,謝謝版主不厭其煩的說明 |
|
1.建议以圆弧中心为原点的极坐标系。 2.求等腰三角形两条边在极坐标中的弧度(取值范围为0-2PI),三角函数只能取和0-PI范围,需要根据直角坐标系中顶点X Y的正负值判断三四象限的情况,来由此获取实际弧度(例如:是否需要+PI),另外需要考虑点落在极轴上的情况。 3.得到两个弧度之后,再根据顺逆条件来进行减法运算获取夹角弧度,需要要考虑几种状况,例如:起点弧度如果小于终点弧度需要+2PI后再进行计算 4.得到弧度角后,弧长=弧度*圆周。 |
|
本帖最后由 deargds 于 2013-5-20 10:28 编辑 你原来发的是利用余弦公式来计算夹角,先把这个看明白
;if radius is not nil, then it's an arc and need to calculate ;the length for the arc. if(rad!=nil then rad_sq=rad*rad len_sq=len*len cos_theta=(2*rad_sq-len_sq)/(2*rad_sq) theta=acos(cos_theta) len=theta*rad );endif(rad!=nil |
|
謝謝版主提供的資料,AxlDBGetLength函數可以直接解決在16.x的問題。 但用數學計算的方法在下還是看不太懂,可否舉一例供參考? |
|
自己update一下 目前構思是取得start-end座標,中心座標,順時針或逆時針繞線後做判斷,應可判斷為>180或<180度。 然後再用圓周減去原弧線長 但具體判斷公式還在構思,似乎會有多種狀況,望先進提供意見 |
/1
关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )
GMT+8, 2025-11-22 06:19 , Processed in 0.171875 second(s), 29 queries , Gzip On.
地址:深圳市南山区科技生态园2栋A座805 电话:19926409050