版上大大大家好
小弟最近在學習AUTOLISP
想要用code畫一顆巴克球等一些立體圖
我現在需要一種函式
可以讀取空間中的兩個點
並找出其兩個"三分點"(將此兩點支線段切成三等份之兩點)
用途是想要在一個三角形內,畫出其面積一半之正六邊形(剛好就是把三等分點連起來)
我的程式是
(defun six (pp1 pp2 pp3 / a1 a2 a3 a4 n1 n2 n3 dd dd2 dd3 dd4 dd5 dd6 b1 b2
b3 b4 b5 b6)
(setq a1 (distance pp1 pp2)
a2 (distance pp2 pp3)
a3 (distance pp3 pp1)
n1 (angle pp1 pp2)
n2 (angle pp2 pp3)
n3 (angle pp3 pp1)
dd (/ a1 3.0)
dd2 (* dd 2.0)
dd3 (/ a2 3.0)
dd4 (* dd3 2.0)
dd5 (/ a3 3.0)
dd6 (* dd5 2.0)
b1 (polar pp1 n1 dd)
b2 (polar pp1 n1 dd2)
b3 (polar pp2 n2 dd3)
b4 (polar pp2 n2 dd4)
b5 (polar pp3 n3 dd5)
b6 (polar pp3 n3 dd6)
)
(command "line" b1 b2 b3 b4 b5 b6 b1 "")
(princ)
)
問題來了
這在於平面是可行的
但是到了空間就不行了QQ
我猜想是極座標函式無法運算空間
所以想請問
在空間中
有沒有內建函式可以表達空間中兩點的關係? 類似(POLAR)
或著是我可以去設定些什麼來完成
才學三個月QQ
希望有高手可以指點小弟
萬分感謝