编程思想:从图片类设计看程序结构,以及对图片类对象的展望

前言

        不管是学习,还是创造,都得反复总结,得到解决某个或者某类问题的一般方法,那么下次遇到同样的问题就是信手拈来.

图片类对象的抽象含义

        其实就一句话:怎样把一个数据静止放到一个场景中.

        把图片类对象的范围放宽,同样适用.数据对象可能是字符,一段音乐,一段话,按照前面的定义:计算机世界的一种客观存在,都可以被视作数据.当然字符,音乐或者一段话会被写入对应硬件中.

程序结构

        以下是笔者理解的程序结构

这里引入了几个概念:元素,组件,场景和硬件.

        元素 

        开始时数据还只有一个类型,当生成了数据对象或者数据文件中找到一堆点(寄存器),他还尚未能被使用.此时需要定义接口类或者接口函数来进行转换.如前所述,笔者定义了接口函数,如果定义接口类,也是差不多的写法.最主要的是要理解:场景内的元素和数据对象差别在哪里?很明显,在图片类对象转换成场景元素时,需要加上他的位置.因此接口类可以这样写:

//矩阵在场景xscene中
struct Matrix_in_xscene{
    int x_cord;                                       //x坐标,等同混合函数中的x_ref
    int y_cord;                                       //y坐标,等同混合函数中的y_ref
    Matrix_in_xscene(Matrix& data,Matrix& xscene);    //构造函数
    //算法和混合函数相同,场景xscene等同out_matrix,其中对应数据有改变
}

        数据类型不一样,接口类分开定义.当然也不是绝对的,根据情况而定.分开定义是考虑每种数据类型采用的算法可能有区别.

        组件

        组件由元素混合而成,混合前打了问号❓,有时候元素不需要混合,本身就是组件,例如上一篇帖子中的字符3.

         场景和硬件

        场景可能不止一个,有多个场景.场景之间可以映射数据.能把数据写入硬件的场景叫主场景(笔者自己命名).其他场景把数据写入主场景.

        好消息:场景和硬件都是矩阵类Matrix对象.

        笔者估计所有的程序结构都差不多,从这里可以简单区分程序的三层结构:数据,逻辑和场景.数据写入硬件比较简单,不归于程序结构中.只是静态页面的话,逻辑只有一条怎么把数据写到场景中,在接口类里面就定义好了,所以看起来挺简单.

        复杂的程序牵涉的逻辑比较多的话,或许有四五六多层结构,但基本上差别也不大,因为层与层之间相互独立,只解决数据传送问题就可以了.朋友相信你自己,下次应聘时考官问你想要什么职位,你说架构师(*^_^*)

一些展望

        只是做图片的话,网页端基本上就是20年前的样子,不够生动.从做图片这件事可以向前延展.

        1.动画

        动画是二维图片在时间维度上的延伸.

        动画=图片+延时.动画基础在以后将做一点讨论

         2.3D造型

        3D造型是二维图片在空间维度上的延伸.

        二维图片中的矩阵是点的二维数组,空间矩阵是点的三维数组.计算量大了很多,但效果也好了许多,而且现在电脑硬件方面不担心性能.

         3.游戏

        能做动画,能做3D,当然在游戏开发方面不会有大的问题了.

         4.C++

        听人讲C++在桌面端天然有优势,发展历史那些框架支持就不讲了.根据自己感觉,C/C++是和数据直接打交道的语言,效率比较高.正是因为直接面向数据,所以常说的引擎开发,做个PS软件,或者3D造型软件,Qt是完全用C++开发的,是标准C++支持的类库.

         5.职业

        笔者估摸着架构师掌握程序结构,以及一些关键代码,此外算法工程师应纳入考虑之列.像一些不太难的图形造型,程序员应该自己写而不要去找算法工程师 

         6.面向对象

        面向过程可以解决一切问题,但在规划程序的时候不太好办.面向对象有着一定优势,至少知道解决问题,要找一个"对象".没有现成的对象,就自己写一个.

后记

        图片类设计小小告一段落,尽管还有许多不完善的地方,但目的也不是说要自己开发个PS软件什么的,主要是编程思路的开拓.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重庆彭枫

你的鼓励是我创作的动力,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值