2020年3月31日
摘要: 法线的相关操作都在图中,实现部分还是大家自己练习,照着图写代码就行了。 类声明: class Normal3 { public: Normal3(); ~Normal3(); Normal3(ldouble a); Normal3(ldouble a, ldouble b, ldouble c); 阅读全文
posted @ 2020-03-31 03:33 dalgleish 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 支持以下图中的运算 类声明: class Point2 { public: Point2(); ~Point2(); Point2(ldouble a); Point2(ldouble a, ldouble b); Point2(const Point2& p); Point2 operator+( 阅读全文
posted @ 2020-03-31 03:31 dalgleish 阅读(981) 评论(0) 推荐(0) 编辑
摘要: 大家一定要先看书,在看我的随笔啊。不然不知道原理的。而且我是不写教程的,只是写笔记怕自己忘记了。 我把所有的基础类放在了名叫geometry的文件中,包含Vector3, Normal3, Point3, Point2等 类声明: #include "../../Types.h" class Poi 阅读全文
posted @ 2020-03-31 03:24 dalgleish 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: //要实现以后的方便移植,并且实现x64和x86的编译不报错,那肯定要先定义一些通用类型。 //需要包含的头文件 #include <iostream> #include <fstream> #include <sstream> #include <string> #include <algorit 阅读全文
posted @ 2020-03-31 03:12 dalgleish 阅读(290) 评论(0) 推荐(0) 编辑
  2018年11月20日
摘要: 算法描述:数据按照线性函数加密 y = (a*x+b) mod m (gcd(a,m)=1) 解密 x = (y-b)*af mond m (gcd(af,m)=1, af和a互逆) 暴力破解 枚举a, b,其中a, b范围是[1,m-1] C/C++语言代码 加密函数 解密函数 暴力破解函数 Ma 阅读全文
posted @ 2018-11-20 12:26 dalgleish 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: 位移算法描述:将某个字节数c据向后位移k位,超过字符集最大数m时,则取模 y=(x+k) mod m 解密算法 x=(y-k) mod m 暴力破解思路:尝试所有k,k的范围只在[1, m-1]才有意义 C语言实现 加密函数 解密函数 暴力破解函数 Main函数 测试图 阅读全文
posted @ 2018-11-20 12:20 dalgleish 阅读(3763) 评论(0) 推荐(0) 编辑
  2018年11月17日
摘要: 程序来自于《加密与解密3》的第五章的PacMe.exe。书中并没有给出C语言实现的加密与解密代码,自己花了一些时间,把代码还原了,并且写了一个C语言的注册机。 加密原理:正如书中所说,此程序是生成一个11x16的迷宫,其中*表示不通,.表示通,起点为C,终点为X。所经过的路径的方向,每4个作为1字节 阅读全文
posted @ 2018-11-17 13:41 dalgleish 阅读(1538) 评论(0) 推荐(0) 编辑
  2018年9月2日
摘要: 从16位开始,不存在调色板,顶多存在一个RGBQUAD的掩码。 16位位图,我没有拿到对应的素材,但是根据官方文档的描述和代码验证后,我总结为下: 当biCompression为BI_RGB时,此时是RGB555格式,不存在调色板。 当biCompression为BI_BITFIELDS时,16位位 阅读全文
posted @ 2018-09-02 22:02 dalgleish 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: 起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名,字符串“BM”, DWORD bfSize; //文件大小 WORD bfReserved1; //保留字 WORD bfReserved2; //保留字 DWORD bfOff 阅读全文
posted @ 2018-09-02 22:00 dalgleish 阅读(3480) 评论(0) 推荐(0) 编辑
摘要: 起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名,字符串“BM”, DWORD bfSize; //文件大小 WORD bfReserved1; //保留字 WORD bfReserved2; //保留字 DWORD bfOff 阅读全文
posted @ 2018-09-02 21:59 dalgleish 阅读(697) 评论(0) 推荐(0) 编辑