iT邦幫忙

1

LISP 計算圓半徑

各位好,我要用LISP去算圓的半徑,
目前知道新的弧條件
1.會經過 原本弧中點位置再向外X距離(已知)
2.跟旁邊兩條線(或弧)相切

..我算到頭髮都快禿了還是沒想到,請問有數學高手可以幫忙嗎?

https://ithelp.ithome.com.tw/upload/images/20200720/20108361mjN4zdVlN5.jpg
(藍色=原本的弧)

看更多先前的討論...收起先前的討論...
淺水員 iT邦高手 3 級 ‧ 2020-07-20 18:55:52 檢舉
有沒有考慮過解是唯一的,也就是原本藍色的就是唯一解了。不會存在第二條。
淺水員 iT邦高手 3 級 ‧ 2020-07-20 18:58:18 檢舉
相切代表在直線的終端作垂直線,兩條垂直線的交點才可能是圓心。
如果此交點到兩直線距離相等,則為一組解。
如果此交點到兩直線距離不相等,則為無解。
一拳超人中的「埼玉老師」就是禿了才變無敵的XD
石頭 iT邦新手 1 級 ‧ 2020-07-21 07:32:14 檢舉
解不會是唯一的,因為新的弧 R和圓心都跟原本的不一樣
fillano iT邦超人 1 級 ‧ 2020-07-21 09:25:48 檢舉
http://math1.ck.tp.edu.tw/%E6%9E%97%E4%BF%A1%E5%AE%89/%E5%AD%B8%E8%A1%93%E7%A0%94%E7%A9%B6/%E4%B8%8A%E8%AA%B2%E8%AC%9B%E7%BE%A9/99%E8%AA%B2%E7%B6%B1/%E7%AC%AC%E4%B8%89%E5%86%8A/2-3%E5%9C%93%E8%88%87%E7%9B%B4%E7%B7%9A%E7%9A%84%E9%97%9C%E4%BF%82.pdf

例題2,三點求一圓...看起來你可以得到外推弧線上的三個點,然後回推。
淺水員 iT邦高手 3 級 ‧ 2020-07-21 10:51:15 檢舉
單純只考慮過點的話,不見得會跟直線相切。
其實題目有點不清楚,例如:
(1) 外面兩條直線描述不清楚:直線是不是有固定的端點,而這個端點是目前我們要讓新的圓弧通過的。還是外面兩條直線是無限延伸,現在只是要跟直線相切。
(2) 原本的弧是已經滿足與直線相切了嗎?還是是錯誤的所以想修正?
石頭 iT邦新手 1 級 ‧ 2020-07-22 08:30:08 檢舉
1.說是兩條線也有可能是弧,重點是原本那個的弧會改變(只會知道會向外加大一個距離,並兩跟旁邊兩個線段相切,為了能相切,那兩個線段的長度也會改變)
2.原本的弧就是相切的,是因為有需求改變那個弧..所以才要這樣弄
石頭 iT邦新手 1 級 ‧ 2020-07-22 08:30:43 檢舉
只會知道弧的一個點而已...另外兩個點是相切點不知道怎算..
fillano iT邦超人 1 級 ‧ 2020-07-22 09:39:04 檢舉
這個條件有點怪,弧線都外推了,怎麼可能跟原本相切的直線還相切?這樣說好了,外推的這個弧線,跟原本的弧線有任何相似的地方嗎?
石頭 iT邦新手 1 級 ‧ 2020-07-22 11:14:27 檢舉
改過的弧 半徑會變,圓心也會變 ,唯一知道的就是那個弧會經過一個點
而旁邊兩條線(可能是弧)為了跟改過的弧相切,長度也是會有變化的

1 個回答

2
淺水員
iT邦高手 3 級 ‧ 2020-07-22 12:34:46
最佳解答

看看是不是這樣(還沒驗證),黑色是原來的,藍色是要求的
求另一個相切弧
結果

PS. sin 值的計算,裡面的 1 - ... 也可能是 1 + ... ,因為兩直線的角平分線會有兩條,所以這邊要判斷一下是要加還是減。

看更多先前的回應...收起先前的回應...
淺水員 iT邦高手 3 級 ‧ 2020-07-22 13:47:04 檢舉

關於兩邊都是弧的狀況,下圖給個參考
要能相切的條件是,圓心必須在雙曲線上面,而不是原先預計的直線
(除非 A、B 兩圓半徑相同)
與兩圓相切的圓

因為感覺計算很噁心,就不算了...

PS. 預測,一邊是直線,一邊是弧的話,圓心應該會在一條拋物線上面

石頭 iT邦新手 1 級 ‧ 2020-07-22 15:55:00 檢舉

謝謝~ 這個看起來是我要的
等我忙完我目前這個專案我就來試試看..

淺水員 iT邦高手 3 級 ‧ 2020-07-23 16:37:28 檢舉

附一下 推導過程,這樣就算我推錯,應該也可以從過程中修正。

PS. 玩一下 LaTex,打完覺得好累。

石頭 iT邦新手 1 級 ‧ 2020-07-23 17:00:17 檢舉

這些東西我全部還給老師了....感謝您的幫忙
/images/emoticon/emoticon02.gif

我要發表回答

立即登入回答