欢迎光临 MathCai
我们一直在努力

[置顶]3d坐标系2011-7b (球包中,新增加正多面体生成工具)2011.10.25

From:http://www.inrm3d.cn/viewthread.php?tid=2946&extra=page%3D1
作者:myzam


版本历程:首先是,2011-7a只有2个转动方向,经对7a版本改进,到7b版本已经可以有3个转动方向了。可以说坐标系已经完美了。可以肯定的说是最好的坐标系之一了。 


zhengmh 网友曾发给我一个3轴转的的正六棱柱,给我改进提供了思路,在此谢谢。现在在这个坐标里可以轻松完成;在此把hengmh 网友发的正n棱柱一块发上。
创建3d-7b平台之初并不是按轴侧投影来考虑的,只是创建完成之后,回头总结,发现竟暗合正轴侧投影,运气?否。关于这一点在说明文档里面有详细的说 明。也就是说当初我采用了逆向思考:从投影到空间的思维方式。3d-7b平台中系统参数t1,指的是上图中 xy  平面的旋转角。系统参数t3,指的是真实的空间坐标系 z轴 与计算机平面的夹角。
但是参数t2,是计算机屏幕里投影坐标系的二维旋转。经过一次正轴侧投影,把空间三为坐标系转变成了计算机屏幕上的那个2维的3d-7b坐标系。
由于三视图是正轴侧投影(正等侧,正二侧,正三侧)的极端,所以3d-7b平台可以展示三视图。当然你在思考这些问题时,有时当坐标变换理解更容易一点,有时从点变换的角度去理解会容易些。
更新说明:2011-7-18晚,增加了描点工具,可以描绘空间点,坐标平面内的点,轴上的点。如果 结合自定义变换使用,其功能是非常强大的。本模板只自带了两个定义坐标系用的变换,一个是把xy平面内的点变换到o’xy平面(快捷键为ctrl+1)、 第二个是把y轴上的点变换到o’z轴(快捷键为ctrl+2),其实利用这两个变换加上平移,就足够作出函数曲面的图像了
几何画板的历史(官网原话)来自于官方原文,翻译有不尽人意的地方请谅解。
The Sketchpad Story
画板故事
The origins of The Geometer’s Sketchpad date back to the 1980s
几何画板的最初起源可以追溯到1980年代
and to the Visual Geometry Project,
对于可视化几何项目,
a research project at Swarthmore College under the direction of Drs. Eugene Klotz and Doris Schattschneider.
一个研究项目在swarthmore学院(斯沃斯莫尔学院 )在Eugene Klotz和Doris Schattschneider的指导下。
This project, funded by the National Science Foundation,
这个项目,得到了自然科技基金会资助
aimed to develop new technology-based materials for use in the teaching of geometry.
目标是发展为我们教授几何提供基于新技术资源的支持。
Under its umbrella,
在其麾下
Nicholas Jackiw pioneered the development of the first version of The Geometer’s Sketchpad.
Nicholas Jackiw(几何画板中经常看到这个人的名字)先行发展了几何画板的第一个版本。
The program’s name honors Ivan Sutherland’s 1963 SKETCHPAD program,
这个程序的命名是为了给予1963年的sketchpad程序的尊敬,(注:sketchpad翻译过来就是几何画板)
a groundbreaking early work in interactive computer graphics (Sutherland, 1963).
一个早期的关于计算机交互作图的开创性工作。
后记:看来外国人对科技工作者是很尊敬的。
独领风骚30年
几何画板从发布第一个版本(1980年)起,传递到中国,在使用的技法上尺规作图占据了统治地位,
可以说尺规作图独领风骚30年。它代表了一个时代。然现代研究几何的方法早就进入了以变换为工具研究几何的时代,所以,可以预测在几何画板中使用变换为主 要研究方法也将开启一个新的时代,既然尺规作图在几何画板使用领域中能独领风骚30年,变换法思想没有理由不可以在几何画板中也独领风骚30年?!!!

补充:分别绕三轴旋转的坐标系(这也算是变换法思路的一个应用):http://www.inrm3d.cn/viewthread.php?tid=2950&extra=page%3D12011-7-23 更新:把创建坐标系的方法打造成了工具3d-7b工具。打造为工具虽然看起来简洁,但是中间的变换式就在也看不到了。从工具创建坐标系的过程可以明显的感 受到和以往的工具创建坐下系的风格明显的不同。用惯了老方法创建坐标系的网友,不方也感受一下用变换创建坐标系的感觉。不一样的风格,不一样的感受。
补充:2011-8-23 3d-7b坐标系的线面消隐,光照与皮肤是严格按照计算机图形学的原理创建的方法,可以说是计算机图形学原理直接在几何画板的应用。
================================================
阅读目录:你可以只浏览图片了解大概
1:网站:http://user11.jabry.com/geopad
2:光照表现:http://www.inrm3d.cn/viewthread. … page%3D1&page=4
3:工具7b-line,7b-light简介说明
http://www.inrm3d.cn/viewthread. … page%3D1&page=4
4:计算机图形学教程–在本页
5:3d-7b光照工具说明含实例—在本页。
6:免费asp空间推荐:http://www.inrm3d.cn/viewthread.php?tid=2997
7:多面体的皮肤工具说明,以及用于迭代时的注意事项(即迭代时的调整方法)—在本页
—————————————————
8:软件重要下载(平台是枪,工具包就是你的子弹
3d-7b tool下载(这是坐标系,含基本工具),
7b-line下载(这是工具包,用于线面消隐),
7b-light下载(工具包,通过皮肤用于表现光照),
说明文档(含坐标系原理和基本工具说明)下载,
活动坐标系工具7b-acoord tool,—在本文下面
明暗点线工具包7b-shade下载
球工具7b-bool tool(制作好的网格球和光照球面的工具包,参看下楼的图片)下载
新增度量工具包7b-measure tool 下载(10月1号)
———————————————–
9:3d-7b坐标系原理简介,3d-7b坐标系的消隐图形原理简介–在本页。
10:3d-7b坐标系中点的坐标的歧义性,以及解决方案–在本页
11:工具包light之point xy-z,point in plane,4 point-plane使用说明
http://www.inrm3d.cn/viewthread. … page%3D1&page=4
12:面是分层构建的 http://www.inrm3d.cn/viewthread. … page%3D1&page=4
13:light工具包中最重要工具光强工具light  idensity之使用方法说名http://www.inrm3d.cn/viewthread. … page%3D1&page=4
14.计算机图形学之光照模型实例–
历史上第一个简单光照模型叫做phong模型,这是我在几何画板中实现的第一个phong模型http://www.inrm3d.cn/viewthread.php?tid=2986&extra=page%3D1
15.变换的思想在几何画板中的实现http://www.inrm3d.cn/viewthread.php?tid=2905&extra=page%3D1
16.网友作品:
changxde网友的cv曲线(呗塞尔曲线):http://www.inrm3d.cn/viewthread.php?tid=860&extra=page%3D41
三角形球化http://www.inrm3d.cn/viewthread.php?tid=953&extra=page%3D43
http://www.inrm3d.cn/viewthread.php?tid=934&extra=page%3D43
正方体的展开图http://www.inrm3d.cn/viewthread.php?tid=2795&extra=page%3D6
正方体的截面http://www.inrm3d.cn/viewthread. … hlight=%BD%D8%C3%E6
http://www.inrm3d.cn/viewthread. … hlight=%BD%D8%C3%E6
有兴趣研究截面的可以看这篇说明文章http://wenku.baidu.com/view/b686febdf121dd36a32d82a1.html
17.测试http://www.inrm3d.cn/viewthread. … page%3D1&page=4
18.新手看这里-》几何画板入门书:http://wenku.baidu.com/view/3104 … eight=6&count=5
19.正12面体和正20面体的制作http://www.inrm3d.cn/viewthread. … page%3D1&page=5
目录转接下楼
===============================================
3d-7b坐标系简介(第7页为在线视频介绍)
本坐标系是以自定义变换为基础创建的3d坐标系统。配套的目前有6个工具包,分别为line,light,AC,shade工具包,和球工具包7b-bool tool和度量工具包measure。
在本论坛我发了不少关于变换的帖子,那些作品看上去并不精美,但是勿容置疑,作品中体现的数学思路是重要的。没有那些作品的探索,不可能有今天的3d- 7b坐标系。另3d-7b系统的工具基本都要点击o’,x,y,z以识别坐标系统。也就是说如果其它平台有这4点本平台的工具也可以尝试搬到其它平台.还 有就是在使用描点工具时请注意反复使用的两个平面点确定空间一点这种方法(两点定义一点)。
关于新发的度量工具包measure说明:本工具包可以进行二面角,线面角,线线角,线段的定比分点 坐标计算,可以绘制平面,求算平面的法向量。可以完成向量与坐标面,坐标轴,和向量在xy平面内的投影与x轴的有向角的度量。可以做出点到线的投影,点到 平面的投影,同时可以计算出投影点的坐标。可以作图:面面平行,线面平行,面面垂直,线面垂直,做出的图像可以拖动。本工具包是为了解决高中立体计算问题 而设计的。
3d-7b坐标系专页(GeoPad画板)
http://user11.jabry.com/geopad/
百度或google 输入关键字:“3d-7b坐标系”,或输入“geopad画板”即可以找到这个下在地此。
此外:工具在使用中,如发现错误,望反馈。
为什么叫3d-7b坐标系:这个平台最初只可以旋转xy平面,和整个坐标系在屏幕内的旋转,这个平台的首发时间是2011-7月,所以第一个版本叫 2011-7a,到后来改进了版本,增加了沿z轴的翻转,自然就把最后这个版本叫2011-7b,最后定名为3d-7b坐标系。最后,本平台可以当2d平 台使用,按下x键,成为2d平台,可以在里面描绘平面的二次曲线的图像,平面几何的图形(如用工具plot(x,y,0)或point xy绘制即可)。
201-10-11晚上9点完成  今日更新,在bool包中,新增加几个工具:1.正12面体,正20面体的生成工具。2.正8,12,20面体的上色图形生成工具。3.正多面体数据表。因为每次都去描点画正多面体麻烦。干脆做成工具以便重复使用。——————————————
现已经将全部工具包改为了中英文双名字。主要原因是我用的是英文版本的几何画板5.0.
已经改好的有:bool工具包,light工具包,shade,line,acoord。你可以根据自己的习惯只留下一个名字。个别工具无法改为中文,别扭。这种情况就加上了备注。
#######################################
初次涉及几何画板的网友,请先下载几何画板软件安装。
几何画板软件下载(汉化版):http://www.inrm3d.cn/viewthread.php?tid=401&extra=page%3D1
推荐有条件的网友直接在网上找到5.0的序列号,然后到官方网站下正版英文软件使用。英文版的优点是可以解决乱码问题。回头看历史上的画板作品,还有几个不是乱码的.这也是本平台采用英文的原因。
#######################################

正n棱柱.gsp(144.41 KB)zhengmh 发的,第7页有在线制作视频
3d-7b tool(中文按钮).gsp(81.7 KB)2011-9-25更新 创建坐标系统的工具.更新文件以英文版为准。
3D-7B说明文档基本工具说明.zip(91.83 KB)chm格式
3d坐标系-2011-7b.gsp(71.07 KB)3d-7b坐标系统 源文件
对象消隐算法实现虚线和实线的转换2.gsp(100.25 KB) 
3d-7b tool.gsp(74.13 KB)生成坐标系统。10月7号,调整了透视工具1,2
7b-light tool.gsp(140.91 KB)光工具包
7b-line tool.gsp(129.5 KB)线面消隐工具包:10.7添加了计算点在观察坐标系的坐标工具
3d-7b光照工具使用说明.gsp(137.83 KB) 
光照工具迭代注意事项.gsp(192.91 KB) 
光照工具包7b-light tool例子.gsp(117.11 KB) 
7b-acoord tool.gsp(76.78 KB)活动标架工具包(AC):更新10.8:针对ac3,增加了定位初始点的工具。说明在11页。
7b-shade tool.gsp(26.92 KB)明暗工具包:22号更新了深度算法
7b-bool tool.zip(66.78 KB)球工具包(含迭代球面的一个工具数列)
3D-7B说明文档理论部分.zip(154.15 KB)chm格式
3D-7B说明文档 球工具包.zip(103.75 KB)chm格式
工具ac2 说明实例.gsp(117.12 KB)专为工具包ac之工具 ac2配置的实例
7b-measure tool.zip(30 KB)度量工具包:提供度量计算和简单作图工具。基本工具制作完成。测试一段时间就定稿。10月6号。阅读目录:
————————————————————————————
20.活动坐标系工具active coord 1,2实例说明:http://www.inrm3d.cn/viewthread. … page%3D1&page=5
上述地此放的2个例子:一个是关于活动坐标系展开正方体,一个是关于自转与公转的例子。
活动坐标系的作用可以用来展开多面体,还可以解决月亮绕着地球转动的自转与公转问题。
21.文字遮罩http://www.inrm3d.cn/viewthread. … page%3D1&page=4
这是在做球变换时,我无意中发现的几何画板中可实现flash遮罩动画。原来是利用变换,把图片放到定义域里就显示,超出定义域部分就不显。
作品没美化,只是说明原理。22.AC工具构思(活动坐标系)与画点工具plot(xyz),point xy-z的异同http://www.inrm3d.cn/viewthread. … page%3D1&page=5
23.关于消隐的那些事以及shade(明暗)工具包http://www.inrm3d.cn/viewthread. … page%3D1&page=524.shade工具包做明暗网格球教程(位于第5页最下面)
http://www.inrm3d.cn/viewthread. … page%3D1&page=5
25.巧用周期数列递推,以完成小方格的迭代
http://www.inrm3d.cn/viewthread. … page%3D1&page=5
26.关于曲面http://www.inrm3d.cn/viewthread. … page%3D1&page=7
27.3d-7b透视工具原码–新 http://www.inrm3d.cn/viewthread. … page%3D1&page=7
28.用ac工具包之工具ac2展开正20面体(第9页):http://www.inrm3d.cn/viewthread. … page%3D1&page=9
================================================

[/img] 1# myzam 3d坐标系-2011-7b软件示范。特别适合于高中立体几何课使用的几何画板3d坐标系。
我吹没吹牛,你看了就知道!了解消隐算法,首先要学习一定计算机图形学。下面是两篇大学计算机专业教材。
文章:计算机图形学之消隐算法讲解
http://wenku.baidu.com/view/5ba7a5d9ad51f01dc281f1c7.html
华中科技大学:计算机图形学教程
http://cs.hust.edu.cn/webroot/co … ai.php?bookpage=1_a
网络教教—-消隐算法(地质大学计算机学院)
[url]http://course.cug.edu.cn/cugThird/CGOL_NET/CLASS/course/8-a.htm
常见的观察坐标系为屏幕为xy平面,其实在几何画板里就可以取成几何画板的固有坐标系,z轴垂直于屏幕,指向你的眼睛。观察坐标系和物体存在的空间坐标系 是不同的坐标系。或者可以这样理解,我们在电脑前手举一个正方体,我们人所在的这个坐标系就是观察坐标系,而正方体所在的坐标系就是空间坐标系,然后,我 们设想把手中的正方体沿观察坐标系的-z轴方向投影到电脑屏幕,我们所要做的就是处理电脑上的这个投影,想办法让这个投影具有3维立体感,就这样就获得了 3维图形。
========================================================

3d坐标系-2011-7b 软件示范.gsp(19.12 KB) 
正n棱柱.gsp(144.54 KB)在3d-7b坐标系里,同样可以完成这个作图
3d坐标系-2011-7b应用之描点画长方体.gsp(62.79 KB)2011-7-19 14:00发
dial工具实例.gsp(83.16 KB) 
软件示范.gsp(107.94 KB) 
黑灰色显示动态线段.gsp(127.37 KB)工具black-grey的使用一个课题:想用几何画板表达光照。思路是有的,利用参数控制色彩就可以办到。想把光照问题打造为通法。只是没时间。算了还是把为问题提出来,留给有时间的网友去完成。如果有人完成这个课题,请告诉我,我会为你鼓掌的。
第二个课题:如何快速的在3d坐标系2011-7b中描点。
这里有2个思路,变换法,我喜欢用这个方法,还有就是打造一个描点工具。时间问题,还是留个网友吧。
后记:描点工具于2011-7-18晚上打造完成,已包含在上面发布的“3d坐标系2011-7b”版本中
============================================================
1.坐标系的构思:
我的构思是把xy坐标系映射到x‘y’坐标系,然后再次把xy坐标映射到x’z‘坐标系,xy坐标系的这两个像我让他们的x’轴重合,这样就形成了空间坐标系o’-x’y’z’。我不知道别人的构思是怎么想的,希望能有网友介绍一下其它人的构思。
我采用了变换法,我认为优点是便于寻找新旧坐标系间的关系。便于用公式去刻画新旧关系。比如说旧坐标系里的三角形面积是3,映射到了新坐标系的三角形面 积是多少,可以用公式算,又如在旧坐标系里两线段的夹角是30度,映射到新的坐标系里夹角是多少也可以用公式算出来。反之亦然。而这些计算公式又可以最终 整理为工具。但我上课是永远用不上这些东西的。我用到的最多就是一个旋转。
2.使用教程:
下一步再写。
————————————————————————-
几何画板中消隐算法的建立:对凸多面体才成立—原创算法
参考计算机图形学中的消隐算法之对象空间消隐算法,发现这种算法在几何画板中可以实现。对象空间消隐算法就是人在一个观察坐标系里去观察对象,
挡住的不显。设多面体的表面的外法矢n,观察矢量为v,这个矢量通常取成观察坐标系的z轴的正方向,人的观察视线是-v方向。
这样n与v的夹角是锐角时,面可以看到,否则不可见。这有只要就是内积n.v就可以了。由于观察矢量取成了观察坐标的z轴正方向,所以n.v的符号,
完全被n的第三分量决定。那么在几何画板中如何实现对象空间消隐算法呢:
可以实现,我们去观察坐标系的z轴垂直于电脑显示器平面,这样物体平面的法向量的第三分量nz可以按如下方法求出:假设该平面的三点为A,B,C
我们度量出这三点的坐标,这三个度量的坐标就是在观察坐标系了看物体的坐标,即观察则看物体的坐标,当然我们不需要知道他们的z坐标是多少,
这是因为利用叉积算ABC平面的法向量的第三分量nz并不需要A,B,C的z坐标,只要求出了nz就知道这个面是该显示还不该显示。如果
nz>=0,则显示这个面,否则不显示。记t=sgn(nz)。这样就可以实现面消隐。
如何消隐线:
我们假定线是两个面a,b的交线如果a,b的外法矢量(用右手螺旋判断)分别是n1,n2.此时计算出sgn(n1z),sgn(n2z)。
这条交线要不可见的充要条件是:面a,面b都不可见。等价于(sgn(n1z)+sgn(n2z))/2=-1.
利用这个条件就可以实现线的消隐。
总之利用度量菜单度量点的直角坐标就可以实现线面的消隐。确定了可以执行的算法后,只需打造成工具就可以了。以前我是一眼睛目测观察去找这个sgn值,现在可以直接计算出这个sgn值。算是一个进步。
深度算法在几何画板中如何实现,还没想清楚。难度在深度的定义上,怎样在几何画板中定义深度值。只要定义出深度值就可以实现第二类消隐算法:图形空间消隐算法。
上面的算法对凸多面体成立,对凹多面体需要计算相邻两面的法向量的内积的符合,这同样可以通过外法矢量完成。
下面的例子就是按上面的算法实现的:
也许你会奇怪,怎么可以用电脑屏幕的二维直角坐标去算空间的平面的法向量的坐标呢?这不是逻辑矛盾吗?这不是牵强附会吗?我说不是,请仔细看上楼最后一段,那一段描述了3维是怎么出现的。
在上述理论的指导下,同过根式函数和平面的符号,构造消隐因子就可以实现消隐。欲知详情,请慢慢的读下去。

实现对象消隐算法的例子.gsp(65.58 KB)对象消隐算方法实现黑白转换
对象消隐算法实现虚线和实线的转换.gsp(82.55 KB)工具dot-solid应用用色彩表现面。工具:3-gon color,4-gon color。。。的应用。

面的表现.gsp (162.43 KB)

 

单色面

面的显示.gsp(163.19 KB)一面两色(双色面)
彩色球工具bool-tool.gsp(148.26 KB) 
迭代画球.gsp(140.15 KB)

表现光照

[attach]13849[/attach]光强度计算工具
一点感受,玩几何画板,不能不多少看点计算机图形学的理论。
几何画板能不能表现复杂的光照效果?
回答是可以的。高光,距离对光的影响,透明效果,材质都可以表现。其思路在计算机图形学里有明确的说明,可以看首页我给的网此。
光的变化表现可以表现得类似于图形软件的效果。
但是色彩的表现上要差的多。几何画板表现灰度更强劲。表现彩色其实是在灰度上蒙了一层彩色的面。
几何画板不是专业的图形软件,所以从运算量的角度考虑,我们去表现环境光合漫反射就够用了。但并不是说不可以表现其它的光照效应。
另外上述作品所用的工具在首页的3d-7b tool里面的。工具的重点是光强度计算,而光强度的计算是由法向量给出的,而法向量又是有空间坐标给出的了。追踪到底就是空间坐标的定义的关键。
表现光照时,要用到下面的工具:
dial,shade light,point xy-z(位于工具包light中)
表现光照.gsp(162.66 KB)灰度表现
表现彩色光照.gsp(171.33 KB)单一彩色明暗变化
迭代光照圆锥.gsp(92.41 KB) 
光照圆锥2.gsp(137.12 KB) 
红色光照圆锥.gsp(144.63 KB) 
测试.gsp(163.54 KB)测试插值的代价,值不值得付出插值的代价。
圆筒.gsp(118.6 KB) 
色彩圆筒.gsp(123.21 KB) 
圆柱.gsp(111.53 KB)模仿flash文字遮罩动画。或者说它根本就的地道的遮罩动画。 我在做其它作品 时,发现几何画板可以做文字遮罩,完全是无意中发现的。作品未做任何修饰,只是用来说明原理吧了。

文字动画.gsp (121.36 KB)

 

快速画多面体,面是分层构建的

展示工具包light中的工具:4-gon skin-base in 2 side的皮肤分层。
展示工具包line中的工具dot-solid等的应用.
light工具包中还有一个工具就是可以画3点平面,4点平面,5点或6点平面。
这就是工具3 point plane等能完成的。light中还可以先画一个三点平面,计算平面内的任一点的z坐标,工具ABCDZ就可以完成,等等。或者说知道了平面的方程就可 以画出空间平面,只是要预先在平面上取三点。5点共面的画法很是有趣。如果你不填色的话看起来还真不像5点共面。
关于平面是基于一般式方程建立的画法,所以各种情况都可以画。如果是7点共面,就用工具point xy-z画好了。当然如果你经常用到7点以上的共面,
那就用ABCDZ,和point xy-z一起打造工具就是了。球的切面,切线工具有时间在做了。主要是球的上色问题,有点跑不动,这个问题暂时没想到好的方法。当然静态的球这个问题好办,动态的球就是跑不动,没解决。
热切的希望网友提供画球的方法,以便我参考用之希望画的球:上色+光照后要跑的动
在此先谢了,当球的工具完成后立体几何的问题就可以算基本完成了。。
展示分层的皮肤.gsp(37.39 KB) 
展示line工具包的应用.gsp(45.64 KB)

ligh工具包t中最重要工具—光强工具light idensity说明


—————————————————————————-
工具包light之工具
point xy-z,4 point-plane,point in plane的使用说明

光照工具包7b-light tool例子.gsp(117.1把图片点击,看大图就是教程。
[/url]
———————————–
正12面体文件下载
正12面体数据来源http://baike.baidu.com/view/817571.htm
正20面体数据来源http://baike.baidu.com/view/812066.htm
所用数据请到百度百科查,或维基百科查找。
另可以参考11页的正多面体的上色和作图。
———————————————–

正20面体作图.gsp(146.78 KB)计算所用数据可以在百度百科或维基百科查
正20面体:黄金矩形,数据来自于维基百科.gsp(198.57 KB) 
正12面体作图.zip(15.41 KB)正20面体的对偶是正12面体。

活动坐标系接长龙

42# myzam





必须在首页下载AC工具包(7B-COORD)
活动坐标系工具active coord 简称AC工具,共分三类。
1。不带参数,有一个转动轴和坐标轴是平行的。
2.带一个角参数。提供坐标面内的旋转。最后一个坐标轴和转动轴重合。
3.带两个角参数。提供坐标面内旋转,最后一个坐标轴和转动轴重合。
大多数情况是1,与2.
如正方体的展开图,用1就可以了。
而正四面体的展开图要用2.带一个参数才可以完成。
微分几何里有一类曲面叫:可展曲面,那里就是利用活动标架来完成的。 微分几何里面的活动标架是:
转动轴(切矢量)为一轴,主法矢量为一轴,付法矢量为一轴

关于多面体的展开:当建立好标架后,总是要用工具plot (xyz)或工具point xy-z在标架里面描点。
采用活动标架的思想,在平面上很容易按边展开多边形。其变换式与空间的写法一样,只需要依葫芦画瓢即可。
活动坐标系接长龙.gsp(108.68 KB) 
avctive coord 工具实例说明.gsp(196.64 KB)主要展示自转与公转
活动坐标系展开正方体.gsp(170.08 KB) 
正三棱锥展开图.gsp(142.51 KB) 
展开一面.gsp(122.55 KB)这是为学习工具而做的。随笔:
刚开始创建3d-7b坐标系时,遇到的第一个问题是就是如何消隐对象。于是在网上看了看计算机图形学的文章,就选一一种比较容易实现的消隐算法:对象空 间消隐算法,另一种消隐算法:图形空间消隐算法是一像素为采样点按深度来显示像素的属性,最初一直困惑深度的定义,所以没有采用后一种算法。现在想明白了 图像空间消隐算法时,平台也基本建完。如果要加入图形空间消隐算法的话,又得从底层做起走,实在没这个必要。我想要说的就是本平台的消隐算法是对象空间消 隐算法。不是以像素为采样点的图形空间消隐算法。
其二,本平台的光照只含两类光:环境光和漫反射光。不含镜面反射光。基本够用了。光照跌代时要做一个小小的修正,前面的图片也有说明。
其三,本平台的活动坐标系工具有两个,一个是转抽平行于空间坐标系的坐标轴的工具7b-coord ,还有一个是可以调节转轴的工具7b-coord 2.其实工具2可以代替1的,放上工具1主要是为了方便起见。
其四,描点工具大致分两类,一类是用参数描点,一类是把点映射到空间。
其五,函数工具很少,之所以少是因为可以由描点工具生成,或直接用自带的两个变换ctrl+1,ctrl+2完成。
其六,平面生成工具,可以生成3,4,5,6点共面的平面。
其7,本工具不具备透视变换的功能,这主要是中学数学课上把图像显示为透视图像有点不符合习惯,如果以后中学课本的图加入了透视图,那我就考虑在本平台 加入透视变换。在说一遍,本平台的底层是两个基石:直角坐标系和变换。所以在本坐标系上添加透视变换不是不可以的事情。关于透视变换的出来在计算机图形学 里有明确的说明。
其八,请注意变换上追加迭代这一典型用法,这在做光照时是很管用的方法。。迭代上是不可以追加变换的!如果你要想迭代产生高光,有两个办法可以办 到,1加入镜面反射光,2把背面的光强度设置为前面的光强的0.5,因为本平台的工具把前后面的光强度设置成了一个参数值,这开始是我的一个失误,后来发 现把前后面的光强值设成不同与设成相同值的差别很小,如果不迭代你几乎就看不出差别,我看就没多上差别,如果真的差别大,那我早就修正了。
总之,最关键的工具是光照工具,描点工具,活动坐标系工具。这是平台的骨干工具。
遗留问题:
球方面的问题,切线,切面,光照等,立体几何里平面相交时的消隐。圆锥到圆锥曲线。算一算要花不少时间才可以完成。慢慢的来吧。反正平台的基本骨干都其了,只差应用了。
用了一段时间的3d-7b坐标系后我发现其优点在于:当应用数学时,很贴近课本里面说的数学。基本是把课本的数学直接搬过来用。这比用几何法建立的3d平 台要要优越。特别是平台的活动标架工具actvie coord1 ,2简直就是直白的把旋转变换搬来用,犹如傻瓜搬东西一样,直来直去的就得了一个重要工具。最后,我研究了paul kunkel的平台,发现我的平台与paul的平台不兼容,不兼容的原因是彼此的缩放比不同步。比如说,他在x轴上缩放0.8时,在3d-7b平台可能这时正好缩放了0.5.这就是不兼容的关键了。
话说工具plot (xyz),当初这个工具出来时,我发现要比paul平台中的类似工 具多点击三次,多点击的三次为o’,x,y,z点。最初也研究过希望不点这三点,但失败了。今天来看这多出的三点是非常好的优点,因为正是因为多出的这三 点做到了选择识别坐标系的作用,正是因为多出的这三击,才可以自如的在活动坐标系里面描点,这三点起到了识别坐标系的作用。这三点充分的体现了辩证法是思 想,凡事都有利弊。
plot(xyz)与point xy-z的区别:最终结果一样都是描点,前一个以数得形,第二个从形到形。关于活动坐标系工具active coord(就叫AC工具)的构思:
1.active coord工具的构思:
在xy平面旋转t角,变换式为:
1cost-0sint,1sint+ocost,
0cost-1sint,0sint+1cost.
使用时,若你要得到绕x轴的旋转标架,就按下面的顺序点击o’,x.y,z.先点击转轴是关键。
若要得到绕z轴旋转的标架就这样点击:o’,z,x,y。实际结果是:z轴是转轴,并从x轴转动到y,
这样标架是受控的,受控的标架你才可使用。但要注意AC2,AC3的点击规律与AC1不同!
2.rotate theta构思:
把x轴旋转theta度。按o’,x,y,z的次序点击。x到y,这是关键。这是用上面的工具打造的工具。
3.rotate theta-phi构思:
把x轴旋转theta,实为旋转xy平面,再把yz平面绕新x轴转动phi度。
点击顺序为:o’,x,y,z
注意:不同的点击次序将得到不同的旋转。
4.active coord2构思:
这个工具其实是rotate theta工具的变种,原来一样。或者说是利用工具point xy-z结合工具rotate theta而得到的一个工具。
5.active coord 3构思:
这是用工具point xy-z结合工具rotate theta-phi而得到的一个工具。
6.在工具包7b-coord中的几个向量夹角工具,是利用代数法打造的向量夹角工具,这几个工具是为了配合
得到工具active coord2,AC3而定制的工具。
这组工具在使用时要注意点击o’,x,y,z的顺序。
AC1是转轴先点,AC2,3点击次序和坐标系的实际旋转次序相同。总之AC1,与AC2,3的点击次序规律不同,如果乱点,你得到的坐标系将不受你的控制,没有规律可言!你只要按这里说的规律做一次就可以发现这个规律。时间很紧,就说个大概吧。
一句话:你在使用标架时,点击o‘,x,y,z注意要组成右手系就看可以了。===============================================
关于画板工具:
画板工具这种方法在word中叫宏,在dos里面叫批处理,在vbs,vb里面叫子程序。这实际上是编程者在程序里面预设了一些参数,我们使用者是通过参数去启用程序设计者预设好的一系列子程序。
关于几何画板的使用:
几何画板的每一种技法的产生都会联系到一个数学知识,或是计算机知识。所以学习几何画板的工具前首先要明白使用的数学原理。工具都是按数学原理打造的。离 开数学原理单独的去追求技法,注定是失败的。如果你对比人的作品没看懂,其实是你不知道别人使用了那些数学原理。
几何画板是充满魅力的软件,它给你一个平台,让你去想象。
说真的,做3d有很多现成的软件可以完成,如inRm3D,快而方便。但是几何画板的魅力就是让你从低层一步一步的去完成3d,而且可以验证你的数学构思对不对,这是其它软件无法替代的地方。
几何画板可以让你更加深刻的理解数学原理。

渐变线作图(工具shade line使用)



工具point shade(点的明暗工具)算法公布:
1.在直角坐标平面内描出2点a(a1,a2),h(*,y1)
2.点a和h确定了空间的一点b其空间坐标为(a1,a2,y1)(用工具point xy-z就可以把它描出来)
3.在3d-7b坐标系里面,点b在xy平面的投影就是点a,而点b的z坐标就是点h的纵坐标y1.
4.把点a在直角坐标平面内旋转45度:x1=a1*cos45度-a2*sin45度,y1=a1sin45度 +a2cos45度。
这时点a在3d-7b里的默认状态下像点是垂直于计算机屏幕的底部的。
5.把y1乘以滑竿参数depth,得一量y1*depth(用来控制b在xy平面内的投影点a的y坐标的范围)
6.利用工具point xy-z在3d-7b坐标系里把点b描出来
7.用参数y1*depth去控制点b的灰度
8.做成工具。明暗显然由depth和直角坐标系的单位点决定。
另line shade的做法要通过在线段上插值得一动点(插值方法:x(1-t)+yt,t介于0~1之间,就是定比分点。),最后通过构造轨迹来完成。
做动态展示时需要把投影点a相对于3d-7b坐标系让其y坐标冻结起来。这只要增加逆变换就可以了。这在3d-7b中,技术上不会有任何难度的。
重要概念深度depth的定义:是在3d-7b的xy平面内计算的。这相对于是我们生活所在的空间坐标系(观察坐标系)的z坐标。观察坐标系这方面的论述,请看首页的关于消隐的那段文章。
这里参照了计算机图形学里面的深度消隐算法的思想。主要参考了z-buffer算法的思想。当然无法硬搬,只能取其思路。关于消隐的那些事,计算机图形学里提供了两类,一类是对象空间消隐算法,如 我的dot-solid虚实线工具,还有一类就是图形空间消隐算法,如这里的shade line(明暗线工具)工具。这两类消隐算法有本质的差别。简单的说就是,对象空间消隐算法,是站在真实的三位空间看待遮挡的一种消隐算法,而图形空间消 隐算法是以计算机屏幕为主体视角去消隐对象的一种方法。它们使用的坐标系不同,前一个是你生活的实实在在的空间里的三维坐标系,后一个是计算机屏幕里的那 个虚拟的三维坐标系。还有就是前一个方法是以法向量为关键计算量,去屏蔽被遮挡的部分,它直接处理线面,后一方法是以深度为关键计算量去显示像素属性,它 直接处理的是像素(可以理解为是点的最小单位),,从表现消隐的真实度来讲前一方法更加精确,后一方法是一种模糊的近似,从消耗内存的角度看在几何画板里 图形空间消隐算法更耗内存。至少在我的这个单核电脑上是这样。所一我更喜欢前一种消隐方法。说句真话,要不是做这个平台计算机图形学的那些概念还真没办法 理解如对象空间消隐算法,图形空间消隐算法,不通过动手做一遍这两个概念就只能是背下来,当然也就不可能形成真实的感受,成为自己的知识,充其量就是背得 吧了,动手做,太重要了,通过做这个平台到让我无意中知道了有一门学科叫计算机图形学。  几何画板中表现图形真实感的方法:1.对象空间消隐算法(法向量) 2.图形空间消隐算法(深度) 3.简单光照模型Phong(环境光加漫反射,法向量)玩3d,理论是第一位的,有了理论才有方向,我所使用的方法分别对应于计算机图形学的什么方法,
在这里我都作了明确的指出,这么做是方便网友按这里的思路去研究,去探索,以便创造出更多,更好的优秀算法,
这么做就是避免网友少走弯路,这么做就是为了避免网友一味的去模仿paul,从而扼杀了自身的创造力,
许多网友都被paul画的那个圈套住,很是可惜。paul有一个阴影滑竿,特想听听知道的说说它的工作原理。那位知道的望讲讲。或者发个用paul的阴影滑竿做的成品给我研究,
特别希望懂paul平台的网友,按照我这里提供的思路在paul平台里作一个阴影滑竿,我想看看实验的结果怎样。我虽不懂paul平台,
但我会看到paul里面有个工具point工具,用我这里提供的方法加上paul的point工具不知道能不能在paul的平台做出阴影滑竿,
我不懂paul平台,说错了别见笑。不过我真的好奇。2011-9-10 下午16点15分  明暗工具包shade介绍  shade 工具包测试完成。该工具包分为两组工具。一组是用来做静态展示的工具,为point shade,line shade,line shade’.这组工具不带角参数。另一组工具是point shade(t1,t3),line shade(t1,t3),line shade(t1,t3)’(带有撇号),这组工具带有角参数,是用于动态展示的。line shade,line shade’这两个工具不必区分它们,在使用时一个失效时用另一个即可。同样line shade(t1,t3),line shade(t1,t3)’也不用区分它们。
工具包中的工具copy parameter是用来复制系统参数t1,和t3的。这两个参数控制了坐标系的绕z轴旋转,和沿z轴的翻转。按下键盘的c就可以看到这两个系统参数了。
工具包中的深度滑块是一个普通的滑块。任意的一个滑块都可以作为深度滑块使用。
最后控制明暗的方法:一般调整深度滑块就够了。当然调整直角坐标系的单位点同样有效。由于这是通过构造轨迹产生的工具,请提前把系统的采样率设置为不超过100.系统默认值是500,按系统默认值运行就算是做一个六面体也会显得有点卡。
该工具包的用法在工具包或者在说明文档里有详细介绍,这里从约。工具包shade请在首页下载测试方面:我对球,六面体,六棱锥,六棱柱进行了旋转动态测试都可以正常显示,并反复观看了paul的球,猜测paul的算法就是深度消隐算法,
如果是就证实了我的猜测是对的,关于这一点要懂的paul平台的才回答得了,我只是猜测。不管怎么样消隐计算机图像学给出的主要就是两种消隐方法,每一个 人都可以按自己的习惯去打造自己的消隐工具,我自己都觉得可笑,一个paul平台的门外汉,居然去论述paul平台,是好笑,但是计算机图形学告诉我:万 变不离其中,所以我才大胆的论述paul平台。我突发其想,中国友那么多计算机教师,他们为什么不玩几何画板,因为为他们觉得这是小儿科,想想计算机图像 学,几何画板真的对他们来讲就是一个小儿科。本工具于在9月10号下午定稿。
以下作品都需要用的首页的工具包shade。更新说明:
2011-9-22对深度算法做了更新,算法稍后公布。
渐变线作图.gsp(134.6 KB)这是一个6面体,静态图
渐变六面体.gsp(130.17 KB)带3个参数,为了动态展示
动态渐变棱柱.gsp(163.17 KB)shade工具包应用
渐变三棱锥.gsp(78.1 KB)shade工具包应用。这是新深度算法。
新shade工具包之z-buffer算法明暗球.gsp(62.85 KB)球体:2011-9-22 更新了shade的深度算法
paul的球.gsp(84.16 KB)paul的网格球,对比z-buffer算法作品,paul的滑竿是不是就是z-buffer算法?我认为是。工具:球转盘bool dial的使用
1.把系统的采用率提前,一定要在作图前提前设置,设置为100,系统默认是500,否则系统跑不动
2.选中bool dial
3.在平面内点击得一转盘,并出现参数x,y,z
4.选中工具plot(x,y,z),并依次点击x,y,z三个参数
(不是3d-7b坐标系的单位点,是转盘参数)。
5,点击o’,x,y,z得到一点
6.构造点theta‘和phi对这点的的轨迹
7.在构造点theta‘和phi’对第6步出现的轨迹的函数族(轨迹的轨迹)即可得一半径为r的球。
系统采用率解决卡的问题。小问题犯大错误。

3d-7b shade工具包之shade point(t1,t3)应用

——–明暗网格球制作教程(更正:图片中应为shade point(t1,t3)点的明暗工具)
明暗工具包也更新过。明暗点工具的使用和这里一样。这是老的明暗工具包做的。












成品就是上楼的z-buffer算法作品。
由于3d-7b坐标系是用代数法建立的坐标系统,所以在打造工具时常常要点选数值参数,所以网友要打造自己的工具时请注意这点。这是有别于几何法建立的坐标系统的。

 

工具bool phong介绍
本工具是在球体上实现phong模型(在计算机的发展历史上,第一个简单光照模型就叫phong)。
用法很简单。
1.提前把系统的点采样率设置为100
2.选中工具在平面上点击得到4个滑竿
3.再依次点击3d-7b系统的o’,x,y,z即可得一phong模型球体。
工具位于3d-7b tool中,原名叫bool-tool。现改名为bool phong(球封工具)。

 

寻常数列被巧用


阅读柳烟发表的关于陈创义的迭代http://www.inrm3d.cn/viewthread. … page%3D1&page=4,发现了陈创义很巧妙的运用了一个很平常的周期数列。寻常数列被妙用。一个我们老师很熟悉的概念周期数列被我们忽视了。
在此感谢柳烟老师的奉献。
请继续看下楼

 

 

球面光照上色—突破无极限

参考柳烟发的陈创义的迭代,作品请下载本页的附件。
老师们对数列都很熟悉,我想只要抓住了f(k)的周期性,咱们想怎么递推就怎么递推。而不在受限于表达式。挺奇怪陈创义的个人网站,我试着进入没一次成功,也不知道你们是怎么进入的,郁闷。
另:由于变换上可以追加迭代,所以我们只要在迭代前选择a,b,c,d四点,并按下3d-7b坐标系的ctrl+1,变把这个小正方形映射到了3d-7b系统的xy
平面。这时如果进行相应的代数迭代,这个迭代将自动传送到3d-7b坐标系中去。
和平面迭代完全类似,可以直接在3d-7b中迭代小正方体。
请记住:陈创义的迭代在本质上就是对一个我们大家都非常熟悉的一个数列:
a(1)=c,a(k+1)=a(k)+1的变种,他借助于周期为T的数列f(k)=trunc(k/T)-trunc((k-1)/T)把数列a(k)改变成一个周期是T的数列。并附带的进行了一个递推:b(k+1)=b(k)+f(k),这就是陈创义迭代的核心点
如果把上面的两个数列修改,可以变成小数步长0.2:
a(k+1)=a(1)-[Tf(k)-1]/5
b(K+1)=b(1)+f(k)/5
根据f(k)的周期性,上述写法是不难理解的。
利用light工具包中的工具4-gon skin-base in 1side极易给这个迭代球上色,而且光照效果非常逼真。但是初值必须增加一个理论上的无穷小量如0.001度(这是几何画板的程序问题,不是我的问 题。),以补全球极点处的洞。 实例看下面的图片。差点忘记了,就是迭代次数请用眼睛看好像,次数太多会覆盖掉前面的像。要保证像无覆盖。这个轻松可以办到。陈创义的迭代法可以迭代上千 次不卡,我迭代到了8900次居然还可以在我的单核电脑上运行,不能不佩服陈的迭代,绝了。我给的这个实例迭代过程是先沿z轴迭代,满了一个周期就进入下 一个迭代周转,再次沿z轴翻滚迭代。说真的照搬陈的迭代法没必有我们使用期思想就可以了,你只需要抓住其核心f(k)是周期函数即可。我在这里就是这么做 的。我在进行迭代时就靠的是这个周期。在跌代时单位选角和弧度都行,我喜欢用角度,所以我在迭代中用的是角度。
正多面体的光照上色比球上色难。
另外把做球的迭代的递推公式做了个小工具repea f(k)
免得每次都去书写递推公式。工具放在了球工具包里:bool-tool,工具脚本的注解上,我做了使用说明。
这里发布的作品为探索过程,不精美。如果你愿意体会这种探索过程,不妨下来试试



跌代方格.gsp(10.32 KB)探索:步长=1
跌代方格1 小数步长探讨.gsp(9.88 KB)探索:步长=0.2
跌代方格2.gsp(10.85 KB)步长=1正确的结果:a(k+1)=a(k)+1-Tf(k)
获取正确的小数步长.gsp(8.56 KB)正确的小数步长=0.2
陈创义法迭代球.gsp(97.95 KB)详解陈创义法迭代球
给球表面光照填色–light工具包应用.gsp(113.53 KB)light工具包应用,适当修改φ1的初值,添加0.001度,以补洞。
迭代虚实线球.gsp(118.2 KB)虚实线工具hide line(bool),线消隐用sign pl …
给光滑表面光照填色–light工具包应用.gsp(114.01 KB) 
迭代方块.gsp(96.2 KB)关于原点为中心的迭代方块

迭代周期

通过上面对球迭代的例子。我觉得可以提前跌代周期这个概念。
假设球极是a,b在上述迭代球的过程中是从a点迭代到b点,算是一个迭代周期,然后又是从a点迭代到b点算是第二个周期。以此类推,跌迭代周期数列时,应该抓住迭代周期去理解跌代,控制迭代。

 


问题曲面z=x^3*y^2,是迭代与上色的配合造成的?还是消隐方法造成的?没弄清楚。

53# mjj_ljh
马鞍面旋转中的问题,未解决,我记得计算机图形学好像是这样讲的对于凹多面体的消隐,还要加入面面夹角。而对与凸多面体只要考虑外法矢量就可以了。正是没有考虑面面夹角,所以会出现这个问题。你的那个消隐问题,和我这里遇到的问题是一样的问题。研究中,未解决。但我总感觉到要从凹多面体的消隐入手。
梅老师,有时间的话,你简单的给我介绍一现那个彩色吧是怎么用的,我想了解一下,谢谢。
我觉得那个彩色吧上的颜色只有一层色彩,而我是分层几层上色,所以我想了解一下那个彩色吧上色的大至原理。

迭代曲面中的问题。.gsp(135.52 KB) 
虚实线马鞍面.gsp(105.44 KB) 
迭代曲面中的问题。1.gsp(136.2 KB) 
迭代曲面问题题3.gsp(134.72 KB)

几何画板的消隐难题—凹多面体的消隐


凹的那面部分可见。其消隐算法,如何在几何画板中实现?运算量过大,画板跑不动。该如何办?
按凸多面体的消隐算法就会把凹的那部分全部显示出来。也就是说目前几何画板中的消隐算法,都无法解决这个问题。这个问题计算机图形的理论上是解决了的。但 是在几何画板中实现起来太难,难就难在运算量上。通过实验,我发现凹与凸的消隐无法统一,所以跌代时有的图像就会出问题。毕竟工具是为凸多面体打造的。
马鞍面不能正确的消隐,问题就出在这里。z=x^2*y^3不能正确消隐,问题也在这里。谁能突破它,就是几何画板的功臣。凹的那地方面面要求交,如何求交,如何求交呢?
我是不想从求交这方面去思考了,我感觉那是一种遥遥无期的探讨。决定从画板色彩存储的机制上入手, 也就是说把色彩数据推入内存时,采用了先进先出,后进后出这种方法。现在我们来分别作两个有部分重合的平面a,b。我们先对平面a填色,这时程序会把这个 色彩数据推入内存,存储起来,然后我们b平面填色,这时程序也会把色彩数据推入内存存储起来。当两个面都填完色后,程序会把内存存放的数据弹出,其弹出次 序是先进先出,以就是说a平面的色彩先显示,接着在弹出b平面的色彩。这样后面的色彩就会盖住前面的色彩。
—-探讨,不一定对。2011-9-17.
通过对凹多面体实例的探讨,发现解决其消隐的关键是要正确的计算其凹的面的两侧法向量的交换。即正确的转化内外法向量。动态转化。
我可以负责任的讲,用3d-7b 的line工具包的上色工具可以完成具体的凹多面体的上色。但是初次用工具上好色后,要做调整:用右键菜单命令~送到前面,送到后面去调整遮挡关系。
但用于跌代时,对具有凹多面体特征的图像有的就会出问题。毕竟工具是为凸多面体上色而造的。
2011-9-19
凹多面体,凹曲面(曲面上存在至少一条弦,且弦上至少有一点在曲面内部)的消隐通法成为了一个难题。期盼有人能突破。
凹多面体消隐的个案 探讨.gsp(145.2 KB)个案:成功的面消隐
凹多面体点线消隐.gsp(147.12 KB)研究虚实线表达:失败
几何画板色彩存储原理探讨.gsp(128.71

曲面部分—-寻找平衡点

关于曲面的表现,一般来讲有这样一些方式:
1.用网格表式空间曲面(网格法)
这种方法分为两类,一类不考虑明暗,一类考虑明暗,后一种方法当然立体感强,但是内存要求以高。使用什么方法,不能逞强,这要由算法说了算。
2.用填色去表现空间曲面(填色法),这种方法通常是取空间4点,形成空间平面四边形,然后对这个四边形迭代,在迭代前先上色,最后达到用色彩去表达曲面。
而色彩表达曲面有划分为两种,其一是,不考虑光照,其二是考虑光照。填色法去表达空间曲面,如果空间曲面具有凹多面体的特征(即曲面上两点之连线的至少有 一点在其外部),填色法通常会导致失败。也就是说这种方法适合于具有凸性的曲面(即曲面上两点之连线还是在其内部),如马鞍面具有凹性,而旋转抛物面具有 凸性,这种方法立体效果很好,但是同时局限性也大。
故,空间曲面的表达,一方面要考虑立体感,同时还要考虑内存,算法。要在这两者之间找到一种平衡。要找到这种平衡,就与算法密切相关。
在曲面的表达上,trunc(x),round(x)由它们去构建周期函数,跳跃函数是一种典型的技巧。所以研究曲面的表达,必须先去认识这两个函数构建的周期函数,跳跃函数。而这一点只要在几何画板里面绘制其图,则明显的可以看出这些。
整个曲面的迭代,都在按照同一模式迭代。也就是说迭代是依赖于一个周期数列a,和一个跳跃数列b。当数列a完成一个周期的递推后,数列b就增加一个跳跃 度,然后开始新的一轮递推,就这样不断的重复,最后获得曲面。我这里个的曲面的一切例子都是按这个模式进行递推的。如果你有兴趣研究这些,请你务必先认识 所用到的数列的周期性和跳跃度。一通百通,万变不离其中。
写两个咱们不太熟悉的变换:
1.错切(错位)变换:
x’=x+ay,y’=y,相当于把正方形沿x轴推成了一个平行四边形。
x’=x,y’=bx+y相当于把正方形沿y轴方向推诚了一个平行四边形。a,b可以用正切表式,这也是推导方法。2.透视变换。
画家用的那种变换,射影几何中的射影变换可以定义为透视变换的积。设屏幕为xy平面,z轴指向你的眼睛。设透视中心(画家的眼睛位置)到屏幕的距离是 d,设P(X,Y,Z),经透视变换后P的像点Q(X’,Y’,Z,)(画家画布上的那个点),则由相似三角形知道,X’/X=Y’/Y=d /(d+z),这便是透视变换的表达式。这是一个射影变换。按画家的讲法,主消失点最多为3个。学过美术的人这点都清楚。===================================================





把图像变换到球上.gsp(161.9 KB) 
曲面的一种做法nk-trunc(nk).gsp(152.73 KB) 
演示描点工具:冻结点在xy平面.gsp(94.92 KB)上面的彩色动画,演示的就是本工具的功能。1‘,2’是被冻结的点

3d-7b坐标系里的透视



透视变换 特发原码以便大家看。关键变换公式在上楼,也可以参考在首页提供的:计算机图像学。里面有详细而标准的透视变换的描述。
直白的讲,透视变换做立体几何作品,不怎么的。做立体几何还是正轴侧投影漂亮。虽然3d-7b平台可以玩透视,但是我还是真诚的告诉你,做立体上课,还是 要做轴侧投影图为好,透视这玩意,横看竖看都是画家玩的东西,怎么看都不象数学。从理论上讲只有愿意每个平台都可以做透视图。也就是说能做轴侧投影的平 台,就一定可以做透视图。
真诚的告诫刚涉足几何画板的网友,如果你想玩几何画板,但又想少走弯路的话,建议你一定要去看看计算机图形学,不要抛开计算机图形去狂研名家大作,那是在浪费你的时间,玩几何画板只有数学是不够的。
告诫2,一定要对基本的线性变换熟悉,几何画板是充满了变换的一个软件,它间接或直接的在使用各种变换或变换法的思想,变换是玩几何画板的基础的基础。记住我的告诫吧。
如果你只是想用这个平台表现一下立体,那么计算机图性学的知识可以不管它。如果你想知道平台的建立过程,那么就一定,一定要有点计算机图性学的知识。一切的灵感从那里来的?从计算机图形学上来的。
透视研究.gsp(47.2 KB) 
3d-7b 透视工具原来简介.gsp(153.51 K

3d—7b在线视频 和说明文档

3d-7b的说明文档已全部更新,发布在首页了。3d-7b到今天,基本的工具都有了。在此感谢关心这个平台,为这个平台提出良好建议的朋友们。
———————————
给点预览内容:
######################################
#######3d-7b 在线视频####
#####################################
1.3d-7b坐标系之光照圆锥制作flash视频http://users11.jabry.com/geopad/shade%20bool/lenzhui.htm
——————————————-
2.3d-7b坐标系之椭圆交点:http://users11.jabry.com/geopad/shade%20bool/tuoyuan.htm
————————————
3.3d-7b平台之工具3d-7b coord tool(工具位于line工具包中)使用方法flash视频:
http://user11.jabry.com/geopad/shade bool/3d-7bcoord.htm
———————————–
4.3d-7b坐标系之描点工具plot(x,y,z)flash视频:
http://user11.jabry.com/geopad/shade bool/plotxyz.htm
———————————-
5.3d-7b坐标系之描点工具plot xy-z flash视频:
http://user11.jabry.com/geopad/shade bool/plotxy-z.htm
———————————-
6.3d-7b坐标系之函数工具plot f(point) flash视频:
http://user11.jabry.com/geopad/shade bool/plotf.htm
—————————————————
7.创建3d-7b坐标系的两个系统变换视频
http://user11.jabry.com/geopad/shade bool/ctrl12.htm
———————————————-
8.3d-7b的虚实线工具dot-solid的使用视频
http://user11.jabry.com/geopad/shade bool/dotsolid.htm
———————————————
9.3d-7b透视工具1:perspective  flash视频
http://user11.jabry.com/geopad/shade bool/perspective.htm
——————————————–
10.3d-7b透视工具2:perspective 2  flash视频
http://user11.jabry.com/geopad/shade bool/perspectiv2.htm
—————————————
11.3d-7b坐标系之工具:明暗工具包shade应用–创建明暗三棱锥视频
http://user11.jabry.com/geopad/shade bool/shade.htm
—————————————
12.3d-7b坐标系之工具:活动坐标系工具包AC应用–互相垂直的平面的展开视频
http://user11.jabry.com/geopad/shade bool/ac.htm
————————————————
13.3d-7b坐标系之工具:球工具包bool应用–利用球转盘做明暗球视频
http://user11.jabry.com/geopad/shade bool/shadebool.htm
————————————————————-
14.3d-7b坐标系之正n棱柱做法flash视频
http://user11.jabry.com/geopad/shade bool/z-n-lz.htm
15.3d-7b坐标系ACOORD工具包(活动标架工具包)之工具AC2:展开正四面体http://user8.jabry.com/3dcoord/shade bool/zhankai3.htm
16.3d-7b度量工具包简介:7b-measure tool
http://user8.jabry.com/3dcoord/shade bool/measurep.htm
=====================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2011-9-22 说明文档
正四面体展开.gsp(121.09 KB)你的建议真的很好,正是基于备份这个原因我弄了个个人网站,有时间我会慢慢的填加内容。http://user11.jabry.com/geopda。其实我们都是学数学的。只告诉你结论显然不过瘾。我们需要的是一个开放的平台。这样大家才可以交流,这样每一个人都可以站在别人的肩上向前面迈进。大家都进不了自己就会进步。
开书我真的不敢。咱们彼此交流没问题。我们都是从数学系毕业的。玩几何画板的数学知识都不欠缺。我觉得我自己欠缺的是计算机图形学的知识和应用体验。所 以我在本贴子的首页贴了几本网络教程,我个人认为挺不错的。看了受益匪浅。我个人的感受是从轴侧投影切入几何画板的立体部分是少走弯路的方法。paul的 平台不便于我们去学习。因为几何画板的东西一旦做成了工具,如果作者不告诉你如何做的。那真的让人迷茫。因此我个人的感受是不断的看计算机图形学,然后在 几何画板中实践,我们的立体知识就会慢慢的丰富起来,对别人的立体作品就能更进一步的理解。我说的也不一定对。
这个就是下载地此:
我弄的一个个人网站就是为慢慢的放下载资料用的下载地此,只是现在资料不多。慢慢的整理。我以感觉有点乱。是该整理一下。另你可以在百度和google 里面输入关键字:3d-7b坐标系,或输入 geopad画板,就可以找到我的各方人网站的下载地此。
其实用不到那么多。我觉得主要是:线性变换 1.旋转。2维和3维的。2.仿射变换。特别是伸缩变换。还有是就是仿射坐标系的原理。3.射影变换的简单知识。(身影变换中专门要讲—中心投影和平行投影)。
4. 就是计算机图形性学的:观察坐标系的概念,投影到屏幕,透视投影,轴侧投影。消隐的知识,光照。5.线性代数的矩阵知识。6.周期数列,递推数列。 7.解析几何的定比分点(插值用),空间解析几何的曲面方程。直线参数方程。特别是向量知识。因为几何法太难想了。在AC工具包中就有几个立体计算工具, 它们就是向量的应用。大概就这些吧。
关于AC工具包中的几个向量夹角公式:
1.angle (vector ab,x,y,z)
作用度量向量ab和x,y,z轴的角
2.angle(vector,xy)
作用度量向量ab和xy平面的夹角
3.angle(vector*,x)
作用度量向量ab在xy平面内的投影和x轴的夹角
4.angle of plane-plane
度量面面间的夹角。这个公式将输出两个互补的参数,不用我多说,大家都明白面面夹角为什么要让它输出量个参数的道理。
因为在展开立体时常常要确定x轴的转角,很面面夹角。上述工具就起这样的作用。
由于我认为向量的夹角和面面夹角是大家很熟悉的东西,所以在说明文档里面就没有介绍。
只有你有足够的耐心,展开多面体用AC工具包是没问题的。

acoord 工具包

ac工具包是5个工具包中最难于掌握的一个,主要原因是展开多面体时要赋予想像力。
首页有一个ac2说明实例。分步详细的列出了如何使用ac2工具展开正方体。可供参考。

正多面体百科数据http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%A4%9A%E9%9D%A2%E9%AB%94
展开正四面体2.gsp(121.65 KB) 
用ac2工具展开正方体.gsp(150.23 KB)

探索度量关系

—利用首页的度量工具包7b-measure tool
利用ac工具包展开多面体是不可能回避面面角的计算。这就逼迫你要去探索度量。现在将3d-7b中分散的度量工具集中在一起做成一个完整的工具包,即度量 工具包。这个实例是利用工具包探索正四面体里面的度量关系。我觉得有趣。起码比展开多面体有趣,展开多面体是一种机械般的重复工作。
遗憾的就是这些度量值都是浮点值,不合乎高中数学的潮流。要得到符号值还是maple软件厉害。
利用度量工具包探索度量.gsp(113.02 K

作品告诉你,ac工具包是做什么用的

ac工具包是做什么用的,功能如何?
用ac工具包之ac2工具展开正20面体
ac工具包展开正20面体.zip(20.04 KB) 
展开正12面体.zip(19.62 KB) 
自转与公转.gsp(95.36 KB)ac工具包应用
点在面内的投影.gsp(65.06 KB)

展开三棱柱

86# dududu929
好我试试。我试了没问题啊。下面是文件,你可以下来看看。
对了ac工具包我更新过一次。原来的那个有点小bug。主要是更新了角度大于180度时的bug。
另外谢谢你的关注。欢迎你多提建议。在讨论中完善。
不知我这么回答,是答对了你的问题?
对了,我是用line工具包的3边形和四边形上色工具上的色。
展开三棱柱.gsp(150.3 KB)作出空间面的平行线和垂线。

空间线面的平行和垂直.gsp(100.52 KB)这几天我在想,3d平台不能老是放在闺房里,应该用来解决高中立体问题。我们都知道,高中立体问题以计算为主。所以我得研究一下3d-7b平台的度量问题 和作图问题,这些东西才是教学中最实用的东西。我在度量工具包中做了一点工具。但是是否应用方便,还有带于进一不的完善。我个人的感觉是作图的工具需要完 善。我现在就是用那些工具真刀真枪的做高中的立体题目。只要通过用工具做题才可以发现问题。在度量工具包中的工具:
画平面plot plane,这个工具是在已知3个点对的情况下绘制平面,这个平行四边形平面的起点有一个可以变色的小线段,你把坐标系的单位点向右拉就可以看到。这条小 线段是平面法向量的1 /10(法向量的z坐标为正,小点为白色,为负,小点变黑,不这么设计的话画出来的图自己都搞不清是那面是正面,那面是反面了。),这条小线段是为了方便 做出平面的平行平面和垂面而设计的。我觉得这点是好用的。另一个工具就是创建自由点,这个工具将同时创建两点,这两点的连线和法向量平行。这是为作出平面 的垂面,垂线和平行面,平性线而设计的,感觉就是,绘制平面的平行线,面,垂直线,面因这条小线段而得以解决。今天我就拿了一张试卷在3d-7b平台选择 题。还真可以做出来。
由于几何画板只有浮点值,这就觉得了应用的足限行。但是这依然阻挡不了我对度量问题的探索。会完善度量工具包的。这需要通过做一定数量的题目才可以达到。 我看了很多的几何画板作品,确很少看到贴近高中立体的计算问题。大多数情况都是作图展示线面关系。所以这里的度量探索是必须的,也希望有更多的人参与这个 实践活动。到现在我渐渐的发现,对几何画板的探索永远都不会有尽头,因为数学本身无尽头,几何画板又怎么能有尽头呢?
可以说在数学的每一个分支都可以开发出相应的工具包。我个人认为几何画板就是由一系列工具包组成。世界级的顶级数学软件maple就是按包 (package)来组织的,它通过包编织了一张巨大的数学之网,最终使得maple无所不能。借鉴maple的组织思路,我想,几何画板的平台的强弱就 体现在工具包上。平台的工具包多,这个平台能解决的问题就多。到今天我终于明白一个缺少度量工具的平台有着天然的缺陷。一个发展不了度量功能的平台一定会 被淘汰。一个发展不了度量关系的平台,只是版友的玩物,是无法真正的走人我们高中的数学之中。


———————–
感受度量工具包的角度度量工具
一道真实的立体几何题目。
1.几何画板的反余弦函数,我在进行度量时居然遇到了无定义之说,也就是说我发现反余弦的值不能到达定义域的边界,到达边界就显示undefined(无 定义)。解决的办法为,增加一个理论上的无穷小量。可能是正也许应是负的0.00000001(看表达式来定,反正反余弦的定义域是[-1,1],别达到 边界就行,这跟本上就是几何画板的bug).这样做不影响结果,但会正常显示,我在做迭代球时也遇到了这个问题。不该遇到的我都遇到了。看来反三角的定义 域采用的是开区间。
2.制作立体几何的图像,关键是要分析清楚立体在xy平面内的投影,和关键点的高度。这两个要素合在一起就确定了一个 空间点。这就是本平台大量使用的“两点定义一点方案”。

感受度量工具包 立体几何题目1.gsp(116.45 KB) 
感受度量工具包 立体几何题目2.gsp(166.09 KB)这两天不知是怎么回事,老是打错东西。该休息几天l。应该是0.41才对
感受度量工具包 立体几何第3题.gsp(108.64 KB) 
感受度量工具包 题4.gsp(78.04 KB)球工具包之工具 repeat f(k)=0~1(循环数列值为0,0,0,…1汉字标记这些符号真别扭。)介绍:一.这个工具是干嘛用的?
工具是用来生成一个周期数列和一个跳跃数列。这两个数列是用来迭代小方格的。进一步就是用来迭代曲面的。如球面。
二.如何使用这个工具
方法如下:
1.创建参数k—代表数列ak,bk的序号,T—代表数列ak的周期。
2.创建参数n—代表迭代深度,并把它修改为T^2-1.因为小方格的总量=T^2,但本身有了一个小方格,所以迭代的总次数应该减去1.
3.选中工具repeat f
4.依次点击参数k,T,便生成了这个工具数列组:ak,bk
5.此时你将看到参数a1,b1,它们代表数列的首项。点开它们,并修改它们为:a1=b1=1,a1,b1的值可以乱输入。等于不等无所谓。
这时你见到的6/T—-代表步长,即迭代时每次小方格向右的平移量。
6.绘制初始小方格:
a(a1,b1),b(a1+delta,b1),c(a1+delta,b1+delta),d(a1,b1+delta),当然要连接,否则怎么叫方格呢,那叫方点,呵呵。
7.进行深度迭代:选中k,T,a1,b1,n,其次深度迭代,对应关系为:
k对应k+1,
a1对应ak
b1对应bk
—————
迭代完后,你将看到一个以原点为中心的方格群。
8.修改步长6/T,你将感受到方格群的变化。同样修改周期T,你也会发现方格群在变化。
9.更上一层楼:
用于迭代曲面,把上面的小方格abcd看成是曲面上的点在xy平面内的投影,以就是所曲面方程是这样的的z=F(X,Y)(可以是参数方程),我们把 小方格abcd的顶点坐标代人曲面的方程,便得到了曲面上的一个四边形,此时,我们重复上面的迭代,你将得到一个曲面网格。
————–
正8面体上色。
。不过给正8,12,20面体上色要两个光源,主要是上下两半截相互背光。特别注意不要乱改的描点出现的字母,因为上色时就是要看的是这些字母,否则你根本弄不清谁是谁。
,所以要各有一个点光源照射。—————————–



发一个老外的正20面体的上色作品:

正8面体上色.gsp(120.04 KB) 
正20面体上色.zip(20.82 KB) 
12面体上色.zip(18.92 KB)计算失误了一点点,改正后的上色图在11页。
Icosahedron(20面体上色,老外的,很不错的。).zip(49.05 KB)老外的正20面体上色,估计你不会去研究,你看了就觉得太复杂。我告诉你:设你要操作的三棱锥为v-abc。
1.ac3的原理:本工具是把x轴在xy平面内旋转一个角度到达一个特定位置。然后在这个新的坐标系里把新的x轴,在新的xz平面内旋转到我们想要的转轴的地方。转盘控制的是yz平面的旋转。
2.首先在直角坐标面内按“二定一方案”描出点。
也就是说:先绘制三角形abc,这是棱锥在空间坐标系里面投影到xy平面的图像。
其次,设想棱锥的顶点投影到xy平面的摸样。我们就假设棱锥的顶点v投影到xy平面为原点吧,这样我们在直角坐标面内描出v的投影就是原点o(不用描了),棱锥的顶点v的z坐标如果是h,我们就在直角坐标面内的y轴上描出坐标为(0,h)的点。我还是把这个点叫做h点。
3.这时选中ac3工具,依次点击:
o~h(对应空间棱锥的顶点v),a~o(对应空间棱锥的顶点a),这两个点对就确定了转轴为空间的av直线,最后依次点击o’,x,y,z,。这时在平面内点击一下你将得到标架,这时你会发现标架的x轴和空间棱锥的棱av是平行的。
注意:1.我估计你是受ac2的影响,点击点对的次序出了问题。ac2是先点击线段的端点,最后点击z坐标,而ac3的点击是:端点,z坐标,在端点,在z坐标。这是由于制作工具时造成的,无法统一。
2.请注意“二定一方案”
就是说每个空间点我把它分解为两部分,一部分是由它的x,y坐标组成,其实就是空间点在xy平面内的投影。一部分是由它的z坐标组成,其实就是空间点的高度的绝对值。也就是说平面的两个要素对应一个空间点。这就是“二定一方案”。这是本平台广泛使用的方案。
3.你其实可以用ac2完成的。你把展开的平面图形弄清楚,从平面到空间做完全是可以的。你说的这种展开就是我前面做的那个正四面体的展开那种类型。
从空间到平面展可以,从平面到空间合拢也可以。两个方案选一中执行吧。如果你是从平面向空间合拢,普通的三棱锥就要计算二面角,这可以用度量包中的工具测算。
4.ac3工具,还有一个顺点不行,则反点。

ac工具包之ac3工具补充说明.gsp(120.44 KB)新增了ac3定位初始位置的工具。工具位于首页ac包中正多面体数据表
关于正多面体:
一些是正8,12,20面体的虚实线图像和上色图像。它们都被打造成了工具,放在了bool工具包中。
下载地此为首页的bool包或 geopad画板网(在谷歌输入3d-7b便可以找到这个地此)
这些图像都可以用度量包的面面角工具检测。另在球工具包中有一个工具专门提供正多面的数据的。可以参考数据用度量包的工具检测这里的作图是否标准。————————

正8面体上色.zip(13.48 KB) 
正12面体上色.zip(40.04 KB) 
正20面体上色.zip(20.6 KB) 
正二十面体.gsp(134.51 KB) 
正12面体.gsp (185.88 KB)

 这是我们这次考试的立体几何19题。可以利用度量工具包计算出答案。

19题.zip (12.13 KB)
未经允许不得转载:MathCai » [置顶]3d坐标系2011-7b (球包中,新增加正多面体生成工具)2011.10.25
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址