ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:24.61KB ,
资源ID:10062396      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10062396.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(怎样用scratch实现3d.docx)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

怎样用scratch实现3d.docx

1、 怎样用scratch实现3d 相信大家应该都接触过3D游戏和3D动画,那些惟妙惟肖的画面,其实它们并不是照片,而是通过〔编程〕让计算机实时画(计算)出来的。下面就来说说怎样用scratch实现3d,大家千万别错过。 怎样用scratch实现3d 基本思路 首先必须明确,3D这种东西不管那个平台的实现(已有的3D引擎不算,我指自己编写一个新的3D引擎)都是必须要一定的数学基础的。如果你没有过多的去研究数学的话,我建议初二(含初二)以下的吧友不要闯3D领域,你会觉得无从下手。关于3D的研究最合适高中的吧友们,这时候不仅可以增长编程水

2、平,而且对你的高中数学的学习也有极大的帮助。 关于3D的实现,最重要的是思路,公式及图像的形成原理大家都懂,我就不普及这种基础知识了。实现的思路有很多,这篇文章我会给你们提供我实现3D时使用的思路,并不会教你们那里怎么做哪里怎么做(这样我不如直接放源码出来),只是给你们一个可行的探究方向。 接着我们来看下一个3D实现的基础思路,我的这个思路很像计算机成像的思路: 用户脚本--运算--成像; 是不是很类似于计算机成像; 二进制欲显示图像--GPU处理--显示器发光. 没错,就是这样的。也就是这是我们3D成像主攻的3大块:用户脚本、运算、成像。我看过

3、我们吧友的一些3D实现方法,他们都犯了一个大错:将这3大块揉和在了一起。这是大错特错的,这三大块应该是可以分别从你的脚本中独立出来的(也就是3个角色)。 这样有利于对脚本的维护,学过高级语言的吧友们就知道了,这样"块'状的脚本是特别利于开发的。 关于这3大块的开发顺序应该是先开发运算、再成像、最后用户脚本。为何这么说,拿计算机成像来看,目前的显示器只支持GPU输出的图像,所以你得先研发GPU,然后GPU研发完了显示器就顺理成章了,接着在于CPU配对接受二进制,不然的话先给你二进制显示不出来有何意义?关于3D实现同理。如果你直接开发成像你会发现你在不知不觉中也开发了运算,然而这样开发出来

4、的运算是和成像揉在一起的,违反了我们的开发原则。 第一阶段 我们开发的第一阶段运算是最难啃的,这个阶段的开发犹如混水摸鱼。你并不知道你的运算结果是什么,你看不到图像,只知道运算而得到的数字。这要求对各类函数确实切掌握。那我们如何快速进阶呢?这个就很像矢量图了,大家可以在此处参照矢量图的实现。那我们要得到些什么数字?首先关于3D我们肯定得抛弃Scratch原有的二维坐标系统(xy),要自行再开发一个三位坐标系统(xyz),这个系统里要有长度单位、以及三维基本的三个轴。你3D里的每一个实体,都必须要一个确切的坐标以及长宽高。这是第一步。第二步,你要确定一个视界与被观察实体的相对位置

5、及相对距离,注意实体的坐标是固定的,但是视界不是固定的,所以我们必须要一个实时相对位置与相对距离算法,通过这个算法得知一些数据(至于是什么数据,就看你数学学怎么样了)以测算角度来成像。 例如p1(作图抽象,请自行想象)里的正方体是实体,长方体是你的可视范围,那么红线延长出去的就是视界。接下来就要介入成像了。 第二阶段 在成像方面,我比较推崇位图式与矢量式结合的思路。矢量式描述实体边框,位图式给一个面填色。矢量方面并不难,你只要运算出了关键数据,一根线(刚开始不要介入曲线)的长度、大小、位置、角度自然都是可以通过公式测算的出来的。假设p2(作图抽象,请自行想象)是我们看到

6、的图像,那么我们必须要确定图上几个关键性的红点把他们连起来,如何确定这些红点可以参照红线(我称之基准线),确定这些在成像时没有基准线就是运算要做的,这些基准线必须从视界的一个角出发其终点就是我们要的关键点。成像难在位图式(建议大家不要马上研究位图式这一块),你必须要研究在Scratch里实现MS-Paint里油漆桶的方式,研究出了这个,也就没什么难的了。但是实现个看似简单的油漆桶并不简单。 第三阶段 啃完了两块大难关,接着用户脚本的研究自然就特别简单了。我们只要自定义函数后提交到运算创建实体,然后给成像模块提供运算结果成像就完成了。 用scrat

7、ch制作3d投影的步骤 第一步:在"造型'里将思思兔的造型图片按照方向一一对应,动作越复杂,所必须图片越多。 第二步:设置思思兔的朝向、大小、位置。 第三步:设置重复执行动画。 第四步:见证奇迹的随时,运行脚本,注意脚本命令之间不要有断层。 用scratch实现3D动画的方法 1. 坐标 接触过scratch的同学关于2D坐标已经非常熟悉:一个物体的x坐标代表它在屏幕左右方向的位置,y坐标代表它在上下方向的位置。Scratch规定了舞台的坐标范围分别是:x坐标范围在-240到240,y坐标范围在-180到180。 3D坐标系增加了

8、一个z轴,其实就是2D坐标在纵深方向的扩大。红色直线代表x、y、z轴,黑色点的坐标(x,y,z)代表了它在三维立体空间中的位置。 在scratch的2D舞台上画一个四边形,我们必须要知道四个顶点的坐标,然后把它们连线就可以画出来。同样道理,如果要在3D空间中画出一个物体,一个方法是知道它的所有顶点的坐标,然后把顶点用直线连起来。比如下面这个立方体,把它的8个顶点连起来就能画出来。 事实上,最复杂的3D图案和最真实的3D动画,背后都是通过这种方法画出来。当然画面细节越丰富,背后的数学模型越复杂,也必须要越多的计算机资源(CPU、内存、显卡)。作为入门介绍,本文只用最基本的3D图形

9、作为例子。 比如下面这个八面体,它有6个顶点,上半部分和下半部分分别有四个三角形。它是最简单的可以一笔画出来的多面体(上面的立方体就不能一笔画出来,而八面体可以,同学们可以思索一下为什么),比如依次连接点1-6-2-5-3-6-4-5-1-2-3-4-1就可以不重复任一条边把它画出来。 简单来说,只要我们知道了八面体的6个顶点的3D坐标,我们就能一笔过把它画出来。 2. 投射 计算机屏幕是一个2D的平面,我们通过屏幕看到的3D物体,实际上是它依据透视原理在屏幕上的一个2D投射。 原理:视点代表了观察者(眼睛或者摄像头)的位置。蓝色是一个3D物体,红色平面

10、代表了屏幕。绿色部分就是3D物体在屏幕上的投射。在屏幕上显示一个3D物体,其实是显示它在2D平面上的投射(绿色部分)。 在屏幕上看到的一个3D物体的大小和形状,其实跟以下几个因素有关:3D物体的实际位置、视点的位置、屏幕的位置。 那3D空间某一个点投射在某个2D屏幕上的坐标是怎么计算的呢? P代表3D空间中的一个点,设它的位置坐标值是x,y,z。现在要计算的是它在红色的代表屏幕的平面上的投射点P的坐标值。其中O点代表视点。 两次强调,3D点的投射除了和它本身的坐标有关之外,还和视点位置、投射屏幕位置有关。这三个因素是互相影响的。忽略了任何一个因素都不能得出投射点

11、坐标! 绿色平面代表P经过的、和红色屏幕平面平行的一个平面。线段OAB和红色以及绿色平面都垂直。为了方便计算,我们让红色平面与x轴和y轴组成的平面平行。这样,线段OAB和z轴平行(并垂直于红色及绿色平面);线段BC以及AC与x轴平行;线段PC以及PC与y轴平行。 因为BC与AC平行、PC与PC平行。依据相似三角形的特点,我们很容易知道: OA /OB = AC / BC = PC / PC 所以,如果知道: P点坐标x,y,z O点坐标ox,oy,oz 红色平面的z坐标值pz 则: OA = pz oz OB =

12、 z oz BC = x ox PC = y oy 则P在红色屏幕平面投射点P的x、y轴坐标值为: P的x坐标 = ox + AC = ox + [(pz oz) * (x - ox)/(z - oz)] P的y坐标 = oy + PC = oy + [(pz - oz) * (y - oy)/(z - oz)] 接下来我们就用这个结论在scratch里画出一个3D的八面体来。 我们要做的就是把3D物体在2D屏幕上的投射画出来。所以在画(编程)之前我们先要在自己心中有一个3D坐标,视点的位置、屏幕的

13、位置、物体的位置我们都要先想清楚。 八面体有6个顶点,依次连接点1-6-2-5-3-6-4-5-1-2-3-4-1就可以一笔过画出它来; - 首先我们用三个数组分别储存八面体6个顶点的x坐标、y坐标和z坐标; - 定义视点及投射屏幕平面的位置(前面说过,为了方便计算,我们让投射平面与x轴和y轴组成的平面平行,所以投射面只有一个z值); - 依据前面3D到2D屏幕的投射公式,自定义一个积木用来投射转换; - 接下来就依次投射1-6-2-5-3-6-4-5-1-2-3-4-1点,用画笔画出连接各点的轨迹。 执行"投射八面体"积木就可以画出下面的形状:

14、 3. 移动 物体移动只必须要改变它所有顶点的x,y,z值,然后再重新投射一次就可以了。 注意这里物体的移动是在原3D空间的移动,所以物体在x轴方向或y轴方向移动后,在屏幕上的投射会产生一定的旋转效果。视点离投射平面越近,这种旋转效果越显然。 物体在z轴方向的移动会产生物体大小变化的视觉效果:物体远离视点时物体投射缩小,接近视点时物体投射增大。 4. 旋转 物体旋转涉及到三角函数的知识。推导过程必须要一定的篇幅。我们只必须要记住简单的结论来应用就可以了。 旋转可以分为三种:沿x轴的旋转、沿y轴的旋转和沿z轴的旋转。 - 沿x轴旋转

15、时,物体的x坐标不变,y坐标和z坐标的变幻规律是(A为旋转角度): 新的y坐标 = y * cos A + z * sin A; 新的z坐标 = z * cos A y * sin A。 - 沿y轴旋转时,物体的y坐标不变,x坐标和z坐标的变幻规律是(A为旋转角度): 新的x坐标 = x * cos A z * sin A; 新的z坐标 = x * sin A + z * sin A。 - 沿z轴旋转时,物体的z坐标不变,x坐标和y坐标的变幻规律是(A为旋转角度): 新的x坐标 = x * cos A y * sin A; 新的y坐标 = x * sin A + y * cos A。 显示了沿z轴旋转时的变幻状况。有兴趣的同学可以自己推导出坐标的变幻规律。 注意上面说的坐标变化都是物体原3D坐标的变化,而不是投射在2D平面上的投射坐标的变化。换言之,旋转改变物体坐标后,还要重新计算投射坐标。 第 10 页 共 10 页

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服