顯示廣告
隱藏 ✕
看板 Programming
作者 SmallBee (蜜蜂貓)
標題 Re: 可以多弄一點題目出來嗎@@?
時間 2010年09月29日 Wed. PM 07:39:35


※ 引述《iloveyouever》之銘言:
> 如標題
> 發現這邊題目其實不多耶XD
> 偶爾手癢想練一些小程式
> 這邊就找不到了

話說最近在搞一個東西,敘述很單純:

已知空間中四點求以這四點為球面的球心座標(x,y,z)與半徑r
(使用三維笛卡兒座標系,也就是最普通的X,Y,Z直角三維座標)

以Maple求解:
f:= (a,b,c)->sqrt((a-x)^2+(b-y)^2+(c-z)^2)=r
solve({f(xa,ya,za),f(xb,yb,zb),f(xc,yc,zc),f(xd,yd,zd)},{x,y,z,r}) 可得

r = (太長,略過)

x = (1/2)*(-yc*zd*xb^2-yc*zd*yb^2-yc*zd*zb^2+yb*zd*yc^2+yb*zd*zc^2+yb*zd*xc^2+zc*xb^2*yd+zc*yb^2*yd+zc*zb^2*yd-yc^2*zb*yd-zc^2*zb*yd-xc^2*zb*yd+xc^2*ya*zb+yd^2*yc*zb+2*zd^2*yc*zb+ya*yc^2*zb-ya*zc*yb^2-ya*zc*zb^2-ya*zc*xb^2+ya*zc^2*zb+za*yc*xb^2+za*yc*yb^2+za*yc*zb^2-za*yb*yc^2-za*yb*zc^2-za*yb*xc^2-2*zd^2*yb*zc-yd^2*yb*zc-ya^2*yc*zb+ya^2*yb*zc-za^2*yc*zb+za^2*yb*zc+xa^2*yb*zc-xa^2*yc*zb+xb^2*zd*ya-xb^2*yd*za+yb^2*zd*ya-yb^2*yd*za+2*yb*zd^2*za+yb*yd^2*za-yb*xa^2*zd-yb*ya^2*zd-yb*za^2*zd+zb^2*zd*ya-zb^2*yd*za-2*zb*zd^2*ya-zb*yd^2*ya+zb*xa^2*yd+zb*ya^2*yd+zb*za^2*yd-xc^2*zd*ya+xc^2*yd*za-yc^2*zd*ya+yc^2*yd*za-2*yc*zd^2*za-yc*yd^2*za+yc*xa^2*zd+yc*ya^2*zd+yc*za^2*zd-zc^2*zd*ya+zc^2*yd*za+2*zc*zd^2*ya+zc*yd^2*ya-zc*xa^2*yd-zc*ya^2*yd-zc*za^2*yd)/(yc*zd*zb-xc*yd*zb-za*yc*zd-yc*zd*xb+yc*xb*za+ya*zc*zd+xc*ya*zb-xc*ya*zd-yb*zd*zc+xb*yd*zc+xb*ya*zd-xb*ya*zc+yd*xc*za+zb*xa*yd-xa*yc*zb+yc*xa*zd-yb*xa*zd+xa*yb*zc-zc*xa*yd+za*yb*zd-yb*xc*za+yb*zd*xc-ya*zb*zd-yd*xb*za)

y = -(1/2)*(zc*zd*xb^2+zc*zd*yb^2+zc*zd*zb^2+zc*xb*ya^2+zc*xb*za^2-2*zc*xb*zd^2-zc*xb*yd^2+xc*za*xb^2+xc*za*yb^2+xc*za*zb^2-xc*zd*xb^2-xc*zd*yb^2-xc*zd*zb^2+2*xc*zd^2*zb+xc*yd^2*zb-xc*ya^2*zb-xc*za^2*zb-zc^2*zd*zb+zc^2*zd*xb-zc^2*xb*za-xc^2*zd*zb+xc^2*zd*xb-xc^2*xb*za-yc^2*xb*za-yc^2*zb*zd+yc^2*xb*zd+xa^2*xb*zc-xa^2*xc*zb+xa*yc^2*zb-xa*zc*yb^2-xa*zc*zb^2-xa*zc*xb^2+xa*xc^2*zb+xa*zc^2*zb-xb^2*zd*za+xb^2*zd*xa+2*xb*zd^2*za+xb*yd^2*za-xb*xa^2*zd-xb*ya^2*zd-xb*za^2*zd-yb^2*zd*za+yb^2*zd*xa-zb^2*zd*za+zb^2*zd*xa-2*zb*zd^2*xa-zb*yd^2*xa+zb*xa^2*zd+zb*ya^2*zd+zb*za^2*zd+xc^2*zd*za-xc^2*zd*xa-2*xc*zd^2*za-xc*yd^2*za+xc*xa^2*zd+xc*ya^2*zd+xc*za^2*zd+yc^2*zd*za-yc^2*zd*xa+zc^2*zd*za-zc^2*zd*xa+2*zc*zd^2*xa+zc*yd^2*xa-zc*xa^2*zd-zc*ya^2*zd-zc*za^2*zd)/(yc*zd*zb-xc*yd*zb-za*yc*zd-yc*zd*xb+yc*xb*za+ya*zc*zd+xc*ya*zb-xc*ya*zd-yb*zd*zc+xb*yd*zc+xb*ya*zd-xb*ya*zc+yd*xc*za+zb*xa*yd-xa*yc*zb+yc*xa*zd-yb*xa*zd+xa*yb*zc-zc*xa*yd+za*yb*zd-yb*xc*za+yb*zd*xc-ya*zb*zd-yd*xb*za),

z = (1/2)*(-xc*yd*xb^2+yc*xb*ya^2+yc*xb*za^2-2*yc*xb*zd^2-yc*xb*yd^2+yc*zd*xb^2+yc*zd*yb^2+yc*zd*zb^2-xc*yd*yb^2-xc*yd*zb^2+xc*ya*xb^2+xc*ya*yb^2+xc*ya*zb^2-yb*zd*yc^2-yb*zd*zc^2-yb*zd*xc^2+2*yb*xc*zd^2+yb*xc*yd^2-yb*xc*ya^2-yb*xc*za^2+xb*yd*yc^2+xb*yd*zc^2+xb*yd*xc^2-xb*ya*yc^2-xb*ya*zc^2-xb*ya*xc^2-xa*yc*xb^2-xa*yc*yb^2-xa*yc*zb^2+xa*yb*yc^2+xa*yb*zc^2+xa*yb*xc^2-xa^2*yb*xc+xa^2*yc*xb-xb^2*zd*ya+xb^2*yd*xa+2*xb*zd^2*ya+xb*yd^2*ya-xb*xa^2*yd-xb*ya^2*yd-xb*za^2*yd-yb^2*zd*ya+yb^2*yd*xa-2*yb*zd^2*xa-yb*yd^2*xa+yb*xa^2*zd+yb*ya^2*zd+yb*za^2*zd-zb^2*zd*ya+zb^2*yd*xa+xc^2*zd*ya-xc^2*yd*xa-2*xc*zd^2*ya-xc*yd^2*ya+xc*xa^2*yd+xc*ya^2*yd+xc*za^2*yd+yc^2*zd*ya-yc^2*yd*xa+2*yc*zd^2*xa+yc*yd^2*xa-yc*xa^2*zd-yc*ya^2*zd-yc*za^2*zd+zc^2*zd*ya-zc^2*yd*xa)/(yc*zd*zb-xc*yd*zb-za*yc*zd-yc*zd*xb+yc*xb*za+ya*zc*zd+xc*ya*zb-xc*ya*zd-yb*zd*zc+xb*yd*zc+xb*ya*zd-xb*ya*zc+yd*xc*za+zb*xa*yd-xa*yc*zb+yc*xa*zd-yb*xa*zd+xa*yb*zc-zc*xa*yd+za*yb*zd-yb*xc*za+yb*zd*xc-ya*zb*zd-yd*xb*za)

可是這個試子是錯的.....
拿去給程式跑是不能用的...

--
※ 來源: Disp BBS 看板: Programming 文章連結: http://disp.cc/b/33-BXO
※ 作者: SmallBee  時間: 2010-09-29 19:39:36  來自: ymu041-090.ym.edu.tw
※ 看板: Programming 文章推薦值: 3 目前人氣: 0 累積人氣: 630 
1樓 時間: 2010-09-29 20:43:32 (台灣)
  09-29 20:43 TW
李組長眉頭一皺 發覺式子並不單純
2樓 時間: 2010-09-29 22:27:22 (台灣)
  09-29 22:27 TW
=口=
3樓 時間: 2010-10-10 22:15:18 (台灣)
  10-10 22:15 TW
4樓 時間: 2010-10-10 22:29:54 (台灣)
  10-10 22:29 TW
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇