highflybird
发表于 2020-9-16 00:01:49
本帖最后由 highflybird 于 2020-9-16 00:21 编辑
chenmik 发表于 2020-9-15 22:42
请教版主:你在双曲线分析中所说:
经过计算,可知在点(2,sqrt(3))双曲线的切线斜率为2Xsqrt(3)/3,交 ...
斜率就是切线的斜率,也就是此点的导数。可以用微分公式求得。
至于权重,可以参考如下的链接:
https://zhuanlan.zhihu.com/p/50626506
还可以参考如下链接:
https://blog.csdn.net/deepsprings/article/details/107828889
tigcat
发表于 2020-9-16 00:40:36
感谢高飞大神分享,又学到知识了。
纵横八方
发表于 2020-9-16 07:55:54
大神,已知两平面上各三点,能不能写一个两平面的交线函数,gu版主的api函数里面有写某个平面交线函数返回的是交线上的任意一点和单位向量,我就卡在求任意一点上面了
highflybir
发表于 2020-9-16 18:31:57
纵横八方 发表于 2020-9-16 07:55
大神,已知两平面上各三点,能不能写一个两平面的交线函数,gu版主的api函数里面有写某个平面交线函数返回 ...
关于三点的空间平面方程可以参考如下链接:
https://mathworld.wolfram.com/Plane.html
平面和平面的交线见如下链接:
https://mathworld.wolfram.com/Plane-PlaneIntersection.html
或可以参考下列解析表达式。
highflybir
发表于 2020-9-16 18:34:32
highflybir 发表于 2020-9-16 18:31
关于三点的空间平面方程可以参考如下链接:
https://mathworld.wolfram.com/Plane.html
其中如果A1B2-A2B1不为零的话,取z=0和z=1的时候求得x和y的值得到两点,便是直线方程的两点
否则换取y或者x。
纵横八方
发表于 2020-9-16 19:26:12
要考虑z=0,1时候,无解,意识就是交线 平行于xy平面,或者平行于其他坐标轴,这个时候就讨论麻烦了
highflybir
发表于 2020-9-16 19:52:14
纵横八方 发表于 2020-9-16 19:26
要考虑z=0,1时候,无解,意识就是交线 平行于xy平面,或者平行于其他坐标轴,这个时候就讨论麻烦了
这样就按照A1B2-A2B1的情况处理,我的回复中已经说明了,这时候就换一个
纵横八方
发表于 2020-9-16 20:16:33
A1B2-A2B1只是判断两平面是否平行而已,并不是判断交线平行于xy平面或者其他坐标轴平面,而Z=0代入进去,x,y值却是有解的
highflybir
发表于 2020-9-16 20:28:56
本帖最后由 highflybir 于 2020-9-16 21:04 编辑
纵横八方 发表于 2020-9-16 20:16
A1B2-A2B1只是判断两平面是否平行而已,并不是判断交线平行于xy平面或者其他坐标轴平面,而Z=0代入进去,x, ...
不是这样的,A1B2-A2B1不是判断两平面平行的,而是判断交线是否平行XY平面的。建议楼主另开帖子讨论,因为已经与本主题无关。
两平面平行的判定是 A1:B1:C1=A2:B2:C2。
纵横八方
发表于 2020-9-16 21:59:22
本帖最后由 纵横八方 于 2020-9-16 22:03 编辑
highflybir 发表于 2020-9-16 20:28
不是这样的,A1B2-A2B1不是判断两平面平行的,而是判断交线是否平行XY平面的。建议楼主另开帖子讨论,因 ...
;;;还是有BUG
(defun c:tt(/ a1 a2 b1 b2 c1 c2 d1 d2 e f g lst1 lst2 m n pt1 pt2 q u v x y z)
(setvar "cmdecho" 0)
(setq lst1 (APPLY 'PLANE:Equation_3P (setq ptlst1 (list (getpoint "\n第一点") (getpoint "\n第二点") (getpoint "\n第三点")))))
(setq lst2 (APPLY 'PLANE:Equation_3P (list (getpoint "\n第一点") (getpoint "\n第二点") (getpoint "\n第三点"))))
(setq A1 (CAR LST1) B1 (CADR LST1) C1 (CADDR LST1) D1 (CADDDR LST1))
(setq A2 (CAR LST2) B2 (CADR LST2) C2 (CADDR LST2) D2 (CADDDR LST2))
(setq u (list A1 B1 C1) v (list A2 B2 C2))
(setq pt2 (MAT:unit (MAT:vxv u v)))
(setq m (- (* A1 B2) (* A2 B1)))
(setq n (- (* A1 C2) (* A2 C1)))
(setq q (- (* B1 C2) (* B2 C1)))
(setq e (- (* B1 D2) (* B2 D1)))
(setq f(- (* C2 D1) (* C1 D2)))
(setq g (- (* A1 D2) (* A2 D1)))
(if (/= m 0);平行于XY平面
(progn
(setq z (caddr (car ptlst1)))
(setq x (/ (+ (* q z) e) m) y (/ (+ (* n z) g) m))
(setq pt1 (list x y z))
)
(progn
(if (/= n 0);平行于XZ平面
(progn
(setq y (cadr (car ptlst1)))
(setq x (/ (+ (* q y) f) n) z (/ (+ (* m y) g) n))
(setq pt1 (list x y z))
)
(progn
(if (/= q 0);平行于YZ平面
(progn
(setq x (car (car ptlst1)))
(setq y (/ (+ (* n x) f) q) z (/ (- (* m x) e) q))
(setq pt1 (list x y z))
)
)
)
)
)
)
(entmake (list '(0 . "LINE") (cons 10 pt1) (cons 11 (mapcar '+ pt1 pt2)) (cons 62 2)))
(command "LENGTHEN" "dy" (entlast))
(princ)
)