返回列表 回复 发帖
4# ataorj
楼主你好:
  文件我下来看了,文章细说3d的瓶颈也拜读了。楼主的精神值得敬佩。有你的加人会更精彩。
9# ataorj
inRM版主的意思是把平面方程的系数A,B,C的计算公式用行列式表达,这样大家看起来更顺眼。
公式先放一边了,因为想做空间坐标度量,需要做平行线,需要缩放操作,这使我对底层又不满意了,因为对x和y轴0长度投影时不放心,我现在在找象我的z轴一般投影永远是直线[单位线除外].
===========
论坛强手如林,我做的都是小儿科,我自己能有一些起码的流畅应用就行了.比如下面这个就还没有思路:
如何旋转空间坐标系,使得给定三点的面的法向量垂直于屏幕
---------
我学历低,行列式仅仅曾经知道一点规则,很生手.
因对教材的严密性系统性不满意,我是高中退学的,自学能力强,当时最适合我的是图书馆环境.我有若干个人思想想要发展.
下面文件里也有一点自我介绍.
----
最好的语言:知集语
http://agufana.blog.163.com/blog/static/7200259201021405024455/
这“知集语”是你发明的吗?
论坛QQ群:171618685 (数学实验室)  170568550 (inRm3D)
是啊,有看法吗?
佩服你的精力。
论坛QQ群:171618685 (数学实验室)  170568550 (inRm3D)
13# ataorj
"知集字"挺有意思,要是是在二战的时候的话,可以当密码使用了。
错误声明:
1,z轴的方向和单位长度由单位点的投影表现,投影点明显就是翻滚角的正弦值.
应是"正弦值的相反数",暂时不更新绘图器了.
2,前面计算平面方程系数的方法是错误的.不可以任意指定D值.计算出非0的D值后方程可以除以D而已.
我暂时并没有应用它.
3,这些算是普通错误,是我而非别人发现的,可见真正感兴趣的人不多.
错误分析,1只是瑕疵
2错在没考虑过原点时的平面,解决办法:
法向量不允许使用0向量,我们任意指定A,B,C中一个为1即可[这也许算是原创方法].
过三个不同点的平面方程
Ax+By+Cz+D=0
(a1,a2,a3),(b1,b2,b3),(c1,c2,c3)
令C=1,
Solve[{A*a1+B*a2+a3+D==0,
A*b1+B*b2+b3+D==0,
A*c1+B*c2+c3+D==0},{A,B,D}]
令M=(a1*(c2-b2)+b1*(a2-c2)+c1*(b2-a2))

A=(a2*(c3-b3)+b2*(a3-c3)+c2*(b3-a3))/M
B=(a3*(c1-b1)+b3*(a1-c1)+c3*(b1-a1))/M
D=(a1*(b2*c3-b3*c2)+a2*(b3*c1-b1*c3)+a3*(b1*c2-b2*c1))/M
上面不仅复杂,而且仍然有错误,因为没有考虑和平面z=1垂直的平面.
----------
过三点的平面方程通解公式
A*x+B*y+C*z+D=0
(a1,b1,c1),(a2,b2,c2),(a3,b3,c3)
--------
A=(b1*(c2-c3)+b2*(c3-c1)+b3*(c1-c2))
B=(c1*(a2-a3)+c2*(a3-a1)+c3*(a1-a2))
C=(a1*(b2-b3)+a2*(b3-b1)+a3*(b1-b2))
D=(a1*(b3*c2-b2*c3)+b1*(a2*c3-a3*c2)+c1*(a3*b2-a2*b3))
返回列表