播放 bvh 运动捕捉动画文件
2023-1-10 ~ 2023-11-1
(0)
关于三维的东西远不止这么点内容,也不是我几句话可以讲完的,需要大家扎扎实实的看图形学。不能好高骛远,要扎实、系统的学习。还要注意相关数学知识的学习。
图形学一般是借助矩阵实现的各种转换。我在这篇文章里尽量不用图形学的术语,也不做优化、不加额外功能,只用最简单的三角函数实现,希望大家能从道理上看的清楚明白。
关于一个点,一定要有一个三维坐标,程序中的结构体 POINT3D 就是。
点的初始化由函数 InitPoint() 实现,该函数产生了 n 个半径为 1 的点。
点的运动,是在三维坐标内运动的,包括平移、缩放、旋转等。这个程序只涉及到了旋转,定义了三个方法:RotateX()、RotateY()、RotateZ(),分别实现绕三个轴旋转;可以使用矩阵运算来实现,也可以直接这样算出来。
最后需要将三维世界呈现出来,这里用到一个术语:投影,就是将三维的画面投影到二维上。投影有多种方法,这个球体用的单点透视,因此还需要一个“观察点”,程序中用 viewZ 定义,观
...一个方块阵,旋转移动的动态效果,执行效果如下:
可以在宏定义直接改变数量和画布大小等,直接感受不同的视觉效果。
完整源代码如下:
//项目名称 方块阵
//作者 星羽1704
//email 1479245050@qq.com
//联系方式 qq 1479245050
//描述 一个方块阵,旋转移动的动态效果
//编译环境 win10 64位 + vs2017 + easyx—ver: 20180727(beta)
////////////////////////
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <math.h>
////////////宏定义
// 常量
#define PI 3.1415926535898 // 圆周率
#define square_root_two
...
这个程序展示了一组旋转立方体构成的动态图像。
完整源代码如下:
// 项目名称 方块旋转动态
// 作者 星羽1704
// email 1479245050@qq.com
// 联系方式 qq 1479245050
// 描述 将三维空间的点投影到二维平面,感受三维正方体的旋转的视觉盛宴
// 暂时做到这点,以后要修改的话,应该是2019年的6月了。
// 编译环境 win10 64位 + vs2017 + easyx—ver: 20180727(beta)
//
#include <graphics.h>
#include <math.h>
#define Db_x 640
#define Db_y 640
#define center_x Db_x/2
#define center_y Db_y/2
#define square_root_two 1.4142135623731
#define
...