摘要: class wcPt3D { public: GLfloat x, y, z; }; typedef GLfloat Matrix4x4[4][4]; // 打印矩阵 void printMatrix4x4(Matrix4x4 mat) { printf("["); for (int row = 0; row < 4; ++row) { for (int col = 0; col... 阅读全文
posted @ 2019-05-14 21:20 鞭挞代码 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 二维几何变换相比三维略简单一点但原理基本一致,下列代码实现了平移、缩放、旋转变换,并有一个复合变换矩阵保存所有变换计算后的结果,方便用其结果在OpenGL进行渲染 阅读全文
posted @ 2019-05-01 22:10 鞭挞代码 阅读(1061) 评论(0) 推荐(0) 编辑
摘要: 数字微分分析仪(digital differential analyzer)方法是一种线段扫描转换算法。 DDA算法比直接使用直线方程计算的速度更快,它利用光栅特性消除了直线方程种的乘法。 本代码参考自《计算机图形学》第四版,该函数将在verts末尾按次序添加需要的点坐标 阅读全文
posted @ 2019-04-28 12:15 鞭挞代码 阅读(1591) 评论(0) 推荐(0) 编辑
摘要: JSON是当前互联网最常用的信息交换格式之一,而Go语言标准库提供了编码和解码JSON的包。 使用"encoding/json"可轻松将结构体转换为JSON格式: 该程序成功得到了JSON格式的数据,但存在一个小问题是JSON字段普遍使用驼峰命名,上面我们得到的则是大写开头的。只需添加标签即可解决这 阅读全文
posted @ 2019-04-28 12:05 鞭挞代码 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 本代码参考自《计算机图形学》第4版,根据极坐标参数方程绘制曲线:蜗形线、心形线、三叶曲线、四叶曲线、螺旋线共5种图形。 生成定点坐标的程序如下所示,该函数将需要绘制的顶点按顺序添加到入参verts的最后 绘制时调用glDrawArrays(GL_LINES, 0, vert_num); (vert_ 阅读全文
posted @ 2019-04-26 16:26 鞭挞代码 阅读(2067) 评论(0) 推荐(0) 编辑
摘要: 之前学习的Goroutine可以让我们便捷的进行并行编程,而通道则可以让我们方便的实现Goroutine之间的通信。 一个简单的通道使用示例: package mainimport ( "fmt" "time")func slowFunc(c chan string) { time.Sleep(ti 阅读全文
posted @ 2019-04-08 12:14 鞭挞代码 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 并发是编程语言提供的一种常见的功能,Go语言提供了Goroutine让开发者能够处理并发操作。 下面是一个模拟阻塞的操作: package main import ( "fmt" "time" ) func slowFunc() { time.Sleep(time.Second * 2) fmt.P 阅读全文
posted @ 2019-04-06 16:57 鞭挞代码 阅读(321) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std; void prob1023() { string num; cin >> num; string num0 = num; int flag = 0; for (auto iter = num.rbegin(); iter != num.rend(); ... 阅读全文
posted @ 2019-04-06 16:55 鞭挞代码 阅读(107) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include using namespace std; class Record { public: string reg_num; int grade; int final_rank; int loc_num; int loc_rank; }; ... 阅读全文
posted @ 2019-04-06 16:54 鞭挞代码 阅读(130) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std; class TNode { public: vector childs; }; void prob1004() { int n, m; scanf("%d%d", &n, &m); vector tree(n + 1); for (int i = 0... 阅读全文
posted @ 2019-04-06 16:53 鞭挞代码 阅读(200) 评论(0) 推荐(0) 编辑