猫史档案馆


3D投影公式开源 附活动一个

用户:天马神坑_真天马神坑_真查看:15 回复:21 评论:15 创建时间:2020-06-25T21:52:24


本文使用kitten3.0进行讲解

 

是的没错

我又回来了

最近看到很多人都在求3D算法

就没人看看我的作品吗

我早就开源了

(哼╭(╯^╰)╮)

 

诶诶回来,这真的不是广告,不是广告啊······

 

来,先放一个体验链接

https://shequ.codemao.cn/work/31598517

来解析一下这个作品

由于编程猫的帖子编辑器不能直接粘贴图片,很不方便,于是大部分讲解就不附图了,请各位打开购买好的作品源码来对照着看

 

目前的代码是今天刚更新的最新版,优化了一下角色分工,包装了一下函数,添加了一点注释,可读性增强

所以说如果以前购买过此作品,可以直接看着之前买的作品,但是还是强烈建议重新购买最新版本,新版本可读性更强,学习起来更容易

声明一下,我不缺金币,我也不是来喵金币的,如果你说实在不想花金币,就......别学了?啊不,可以私聊我QQ2689361767,但是50个金币不稀有吧,相信大部分人都有,现在假设你已经购买了作品,我们继续讲

 

首先这个作品由两个角色组成,1 是画笔,2 是控制,背景音乐不算

画笔是用来画图形的

控制是用来控制的

 

(这跟废话一样)

 

控制部分可以稍微看一下,没有什么大的意义,就是一些判断的代码而已

重点看画笔部分

 

画笔部分最重要的一个函数是   移到  X  Y  Z

这个函数是三维投影到二维的函数

使用此积木可以将画笔移动到你设置的3D得平面投影,这里运用了三角函数全家桶,不过多解释,已封装完毕 直接调用即可

这个函数配合控制角色,可以自动根据鼠标,转化图形视角,也就是说你只需要使用这个积木,检测鼠标是控制角色做的事,你不必自己转化视角,画好一个角度的就会自己跟着鼠标旋转

来来来,感受一下三角函数全家桶的力量吧center_image

 

接着就是函数   绘制,它通过变量  图形  来控制当前图形,这个只能放在这个角色,因为有画笔和移动,如果放在控制用 告诉XXX执行XXX 的话会有点卡顿

 

然后发现了一群  绘制XXX  的函数

这些就是绘制不同图形的函数

试着展开  绘制正方体2  这个函数

发现了一长串积木

别着急 一行行来看

 

首先是  清除画笔  这是基本的,绘制图形之前先清除一下上次画的

然后有一堆  抬笔落笔  移到  X  Y  Z  的积木,这些就是用来三维绘制的

和以前画二维图形类似,只不过  移到 X Y  积木变成了  移到  X  Y  Z 

画图形的第一步是要构思好一个图形怎么画,每个角,每条边在哪里,坐标是多少

什么时候该落笔,什么时候该

 

这里插一句话,在编程中,凡是有关绘制的函数,应保持抬笔进,抬笔出,这样可以减少出错的概率

本作品只考虑到了抬笔出,不过也足够了,因为抬笔进和抬笔出其实只要满足一个就可以了,但是两个都满足会更保险

 

代码大致看懂了,接下来试着自己做一个图形

首先,新建一个函数,命名为  绘制  (图形名)  (图形序号ID)

接着在里面编写你画的图形,具体的话可能以后会出教程吧

比方说这个时候,我新建一个名叫  绘制一条线5  的函数

就是叫他在X轴画一条线,话不多说直接上代码center_image

然后,找到这串代码

center_image

增加一项如果 图形是 IDcenter_image

接着,在控制角色里添加这么一串代码center_image

这样就成功添加了  画一条线  这么一个功能

运行作品,按下 按键5 ,是不是出现了一条线?

而且作品原本保留的放大缩小旋转功能是不是都可以用?

干得漂亮!

你成喵会了添加一个图形,试着添加更多图形吧

 

比赛:

三维杯开赛了

比赛规则:

在作品https://shequ.codemao.cn/work/31598517的基础上在创作,添加自己创作的图形

命名为:三维杯——你的昵称

例如我要参赛的话,命名为:三维杯——CJW天马神坑

请注意,参赛作品为了防止抄袭,请全部闭原,比赛结束后再开源!!!

然后把创作后的作品发到评论区,格式为:

(XXX为你的用户名)

 

XXX的三维杯参赛申请

作品链接:https://shequ.codemao.cn/work/.......

我承诺再创作部分由本人原创,无抄袭成分

 

然后......就没有然后了

没有人会来参加比赛的......真的......真的

 

比赛于2020年7月15日结束,将会发帖选出获胜者

 

获胜有什么好处?

......没有什么好处......

就当是锻炼自己的机会emotion_doge

哦对对对,还有......人民币?

好吧意思一下

一等奖   1元

二等奖   0.5元

三等奖   0.25元

仅支持微信支付

 

希望大家不是为了人民币来比赛的,而是为了锻炼自己来比赛的

然后......就没有然后了

没有人会来参加比赛的......真的......真的

 

附加:

 

在比赛期间发布绘制图形教程贴的,

若被官方选为 精选贴 可获得人民币......不超过1元的......都说了只是意思一下......emotion_doge

 

然后......就没有然后了

没有人会来参加比赛的......真的......真的

 

拜拜~期待各位参赛


回复

上一页1 页 / 共 1下一页
天马神坑_真天马神坑_真

天马神坑_退猫_感兴趣代码编程私聊QQ 的三维杯参赛申请

作品链接:https://shequ.codemao.cn/work/31598517

我承诺再创作部分由本人原创,无抄袭成分emotion_doge

 

这只是个示例......

点赞0


评论


ZCH幻影深渊ZCH幻影深渊

hi

点赞0


评论


天马神坑_真天马神坑_真

点赞0


评论


天马神坑_真天马神坑_真

DD

点赞0


评论


CRP_辞旧CRP_辞旧

6666666666666666

点赞0


评论


天马神坑_真天马神坑_真

DD

点赞0


评论


天马神坑_真天马神坑_真

DD

点赞0


评论


天马神坑_真天马神坑_真

我发现了,编程猫的贴子不顶就会沉

点赞0


评论


天马神坑_真天马神坑_真

顶起来!

点赞0


评论


天马神坑_真天马神坑_真

DD

点赞0


评论


土土er土土er

dd

点赞0


评论


天马神坑_真天马神坑_真

(个_个)

点赞0


评论


天马神坑_真天马神坑_真

DD

点赞0


评论


一只亿易喵吖一只亿易喵吖

那如果是用按键和鼠标一起控制的图形呢?就像3D游戏一样,那该咋搞emotion_doge

点赞0


评论


SKQASKQA

点赞0


评论


猫老祖000猫老祖000

顶一下,非常赞呢!!!!!!!!!!!!

点赞0


评论


IysthingraphicsIysthingraphics

为了学习平移和透视投影,小学的我被迫接受三角函数。。。

(sin,cos,tan,sec,cot,arcxxx...)

点赞0


评论


听雨aa听雨aa

顶!

点赞0


评论


听雨a听雨a

顶顶顶!

点赞0


评论


AthurChenAthurChen

伟大的帖子

点赞0


评论


imgainary_numberimgainary_number

挖!

点赞0


评论