Board logo

标题: 细说三维作图及其当前瓶颈和根本解决方法 [打印本页]

作者: ataorj    时间: 2013-11-10 10:55     标题: 细说三维作图及其当前瓶颈和根本解决方法

细说三维作图及其当前瓶颈和根本解决方法
------
写在前面
文件较长时建议大家都打包成附件,这样可节省版面和流量,重复打开页面时不用显示已经阅读过的内容了.也免除别人重复整理保存.好处大大地.
--
大家都在网海里扑腾了许多年,有几个是因为隐藏知识发了大财?最终活了百八十岁,没能提供出来共享而要带进坟墓是何故?
一般地,只要不能明显看出近期有利益关系的都应该可以共享.
当然了,影响人们发言的因素很多,我也关注学术环境,此后真应该去认真思考这个了...
====
附件中含有我创作的3d坐标系.

附件: i-3d.rar (2013-11-10 10:55, 14.08 KB) / 下载次数 4426
http://www.inrm3d.cn/attachment.php?aid=20565&k=43c9b7c9be36284f5d71a2cdcc6c8d03&t=1714858572&sid=7OeI8E
作者: inRm    时间: 2013-11-10 13:36

慷慨者自信,吝啬者自卑。
作者: wdpfox    时间: 2013-11-11 08:26

多谢楼主慷慨分享好资料!
作者: ataorj    时间: 2013-11-11 10:55

3D绘图器更新,顶点朝向调试结束,增加色彩说明,增加用单位线粗细也能表示三轴朝向屏幕内外状态.

附件: 3D绘图器.rar (2013-11-11 10:55, 5.92 KB) / 下载次数 4626
http://www.inrm3d.cn/attachment.php?aid=20569&k=b3191bec021d5e1c6539788d05fcd91a&t=1714858572&sid=7OeI8E
作者: ataorj    时间: 2013-11-11 12:29

已知一平面三点坐标为(a1,a2,a3),(b1,b2,b3),(c1,c2,c3),求平面方程,形式:dx+ey+fz=0
求原点到平面垂足的线段m的长度公式,垂足坐标公式
求m和三轴的夹角余弦(方向余弦?,最好图形注明具体角)公式
据说矩阵行列式等运算可以化简,所以最好是化简好的.
内容很多,先谢谢!
=========
有了平面方程,已知两个坐标值,求出第三个坐标值就可以实现gsp转换.
其它公式对作图作用不是很大,用于设法控制转角以观察效果等等.
当然,如果可以转到指定平面,则可能可以通过几何方法而免除复杂计算而得到平面方程...
作者: ataorj    时间: 2013-11-11 12:38

更正:平面方程
A(x-x0)+B(y-y0)+C(z-z0)=0
或Ax+By+Cz+D=0
作者: ataorj    时间: 2013-11-11 14:23

A(x-x0)+B(y-y0)+C(z-z0)=0
过三点的平面方程
Ax+By+Cz+D=0
(a1,a2,a3),(b1,b2,b3),(c1,c2,c3)
令D=1,
Solve[{A*a1+B*a2+C*a3+1==0,
A*b1+B*b2+C*b3+1==0,
A*c1+B*c2+C*c3+1==0},{A,B,C}]

A=-((-(a3*b2)+a2*b3+a3*c2-b3*c2-a2*c3+
b2*c3)/(-(a3*b2*c1)+a2*b3*c1+a3*b1*c2-
a1*b3*c2-a2*b1*c3+a1*b2*c3))
B=-((-(a3*b1)+a1*b3+a3*c1-b3*c1-a1*c3+
b1*c3)/(a3*b2*c1-a2*b3*c1-a3*b1*c2+a1*b3*c2+
a2*b1*c3-a1*b2*c3))
C=-((a2*b1-a1*b2-a2*c1+b2*c1+a1*c2-b1*c2)/
(a3*b2*c1-a2*b3*c1-a3*b1*c2+a1*b3*c2+
a2*b1*c3-a1*b2*c3))
作者: inRm    时间: 2013-11-11 15:01

用行列式,很容易计算
作者: ataorj    时间: 2013-11-11 16:05

你是说表示形式吧?
我寻找gsp可接受的格式啊,
公式复杂,gsp计算不接受粘贴,现在只能手工输入了...
作者: xyj200909    时间: 2013-11-11 16:33

关于三维作图,已经有很多帖子包括视频,楼主的加入,丰富了这方面的内容。
作者: myzam    时间: 2013-11-11 22:27

4# ataorj
楼主你好:
  文件我下来看了,文章细说3d的瓶颈也拜读了。楼主的精神值得敬佩。有你的加人会更精彩。
作者: myzam    时间: 2013-11-11 22:29

9# ataorj
inRM版主的意思是把平面方程的系数A,B,C的计算公式用行列式表达,这样大家看起来更顺眼。
作者: ataorj    时间: 2013-11-12 06:59

公式先放一边了,因为想做空间坐标度量,需要做平行线,需要缩放操作,这使我对底层又不满意了,因为对x和y轴0长度投影时不放心,我现在在找象我的z轴一般投影永远是直线[单位线除外].
===========
论坛强手如林,我做的都是小儿科,我自己能有一些起码的流畅应用就行了.比如下面这个就还没有思路:
如何旋转空间坐标系,使得给定三点的面的法向量垂直于屏幕
---------
我学历低,行列式仅仅曾经知道一点规则,很生手.
因对教材的严密性系统性不满意,我是高中退学的,自学能力强,当时最适合我的是图书馆环境.我有若干个人思想想要发展.
下面文件里也有一点自我介绍.
----
最好的语言:知集语
http://agufana.blog.163.com/blog/static/7200259201021405024455/
作者: inRm    时间: 2013-11-12 15:07

这“知集语”是你发明的吗?
作者: ataorj    时间: 2013-11-12 15:30

是啊,有看法吗?
作者: inRm    时间: 2013-11-12 17:18

佩服你的精力。
作者: myzam    时间: 2013-11-12 23:34

13# ataorj
"知集字"挺有意思,要是是在二战的时候的话,可以当密码使用了。
作者: ataorj    时间: 2013-11-14 18:24

错误声明:
1,z轴的方向和单位长度由单位点的投影表现,投影点明显就是翻滚角的正弦值.
应是"正弦值的相反数",暂时不更新绘图器了.
2,前面计算平面方程系数的方法是错误的.不可以任意指定D值.计算出非0的D值后方程可以除以D而已.
我暂时并没有应用它.
3,这些算是普通错误,是我而非别人发现的,可见真正感兴趣的人不多.
作者: ataorj    时间: 2013-11-19 09:54

错误分析,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
作者: ataorj    时间: 2013-11-20 14:11

上面不仅复杂,而且仍然有错误,因为没有考虑和平面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))
作者: ataorj    时间: 2013-11-21 07:33

当前计划:方向角控制的坐标系
1 空间坐标系中和屏幕垂直且以原点为端点朝向屏幕外的射线l作为方向角的始边.
2 方向角xj,yj,zj中的任意两个都可决定坐标系方位,关系式:270°>=xj+yj>=90°;cos'(xj)+cos'(yj)+cos'(zj)=1,'表示平方.这里使用xj,yj控制坐标系,外加坐标系绕l旋转的控制角zp[是转屏声母].
3 规定xj,yj=90度,zj=0时,空间坐标系的x轴是水平朝向右边的,y轴是竖直朝向上边的.
-----
这个有难度,希望大家都努力.
比如,xj和yj相互不干扰,但是比如,移动xj变大至xj+yj=270°后,要求xj自身依然朝270°迈进时,xj这时只能相应不断缩小.
作者: ataorj    时间: 2013-12-1 11:05

附件x,y正半轴)方向角控制的坐标系,还没考虑用法.
主要想用于定位平面.请先x角再y角,这样x调节好后,y永远不会连带改变x.否则,因为角度间的限制关系...
这里以x为基,其当然不受限制.
角度原理见我在数学中国的主题网站有时会限制游客访问)
技巧题:构造一个变角表达式
http://www.mathchina.com/cgi-bin ... &start=0#bottom
当前计划:确认当前正常后增加绕x转,这样,坐标系即可方便定位,又能常规演示.

附件: 方向角坐标系.gsp (2013-12-1 11:05, 9.2 KB) / 下载次数 1949
http://www.inrm3d.cn/attachment.php?aid=20668&k=e3ad8aaf228c0113c7afec21c3e375c8&t=1714858572&sid=7OeI8E




欢迎光临 inRm3D: 画板论坛 (http://www.inrm3d.cn/) Powered by Discuz! 7.0.0