是一个温柔而懂得宽容的女孩子

她喜欢在大冬天拉着我去吃五角钱一根的冰棍,喜欢偶尔发发疯在大雨里跑两圈。我们常睡在一张窄窄的床上,对着彼此讲彼此喜欢的男孩子,也讲那些我们以为很遥远的未来和我们以为我们只要努力就能实现的梦想,我们讲我们要去同一座城市读大学,我们讲未来要把房子买在对门便于蹭饭,我们相互鼓励,彼此为对方擦去过失败的泪水。那时,她伸起手触摸阳光微笑的样子,是我见过最美的笑容,足于让世间最美的风景都变得黯然失色。而如今的她,坚强而隐忍,现实而沉稳,懂得承担生活的责任,可是她的成熟却让我心酸。如果可以,我多希望,她依然还是那个爱幻想的孩子,还会大冬天霸道地拖着我去吃一大堆的廉价的冰棍,第二天一起感冒逃课,睡在床上大眼瞪着小眼,相互责怪对方最后又笑着打成一片。可是我们已经长大了,是时光让我们长大的。

 作家蒋韵说:“在聚光灯下,可能会迷失方向。”我的姐妹A,是一个温柔而懂得宽容的女孩子,她几乎陪我走过有关于成长的所有时光,从初中到高中六年,我们一起从一个靠山小镇走到一个繁荣县城,

曾经的她单纯而幼稚,像个爱幻想的孩子,

年轻的岁月,每个青春都是一颗张狂的心,我们敏感,我们偏执,我们顽固到底地故作坚强;我们轻易的伤害别人,也轻易的被别人所伤。我们追逐于颓废的快乐,陶醉于寂寞的美丽;我们坚信自己与众不同,坚信世界会因我而改变;这是一段如此自以为是、又如此狼狈不堪的青春岁月,有欢笑,也有泪水;有朝气,也有颓废;有甜蜜,也有荒唐;有自信,也有迷茫。而在这段年轻的生命岁月里,有一群人默默的出现,又默默地离开。

时光一直让她被迫地去长大,去不得不选择离开,走得越来越远的城市,疏得越来越淡的情感,如今即使没健壮的身躯和一颗热爱篮球的心,我曾和她是同桌,还闻过她不少的汗臭味。前面都是调侃她的,我知道她不会生气,我们认识那么多年,从懵懵懂懂到如今的恍恍惚惚,她大概是我不多的朋友中,最

OBB算法(Oriented Bounding Box)用于获取3D模型的最小包容盒。以下是使用C++实现的OBB算法: ```cpp #include <iostream> #include <vector> #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/type_ptr.hpp> using namespace std; const int MAXN = 100; // 3D点类 class Point3D { public: float x, y, z; Point3D(float _x = 0, float _y = 0, float _z = 0) : x(_x), y(_y), z(_z) {} }; // 3D模型类 class Model3D { public: int n; // 顶点数 Point3D p[MAXN]; // 顶点坐标 // 计算OBB盒的中心和半边长 void calcOBB(Point3D& center, glm::mat3& axis, Point3D& halfSize) { // 计算协方差矩阵 glm::mat3 covariance; for (int i = 0; i < n; i++) { glm::vec3 v(p[i].x, p[i].y, p[i].z); covariance += glm::outerProduct(v, v); } covariance /= n; // 计算特征值和特征向量 glm::vec3 eigenValues; glm::mat3 eigenVectors; glm::eigen(covariance, eigenValues, eigenVectors); // 计算OBB盒信息 axis = eigenVectors; center = Point3D(0, 0, 0); for (int i = 0; i < n; i++) { center.x += p[i].x; center.y += p[i].y; center.z += p[i].z; } center.x /= n; center.y /= n; center.z /= n; halfSize = Point3D(0, 0, 0); for (int i = 0; i < n; i++) { glm::vec3 v(p[i].x - center.x, p[i].y - center.y, p[i].z - center.z); v = glm::transpose(axis) * v; halfSize.x = max(halfSize.x, abs(v.x)); halfSize.y = max(halfSize.y, abs(v.y)); halfSize.z = max(halfSize.z, abs(v.z)); } } }; int main() { Model3D model; // 读入模型信息 cin >> model.n; for (int i = 0; i < model.n; i++) { cin >> model.p[i].x >> model.p[i].y >> model.p[i].z; } Point3D center, halfSize; glm::mat3 axis; model.calcOBB(center, axis, halfSize); cout << "OBB盒中心:" << center.x << " " << center.y << " " << center.z << endl; cout << "OBB盒半边长:" << halfSize.x << " " << halfSize.y << " " << halfSize.z << endl; cout << "OBB盒轴向:" << endl; for (int i = 0; i < 3; i++) { cout << axis[0][i] << " " << axis[1][i] << " " << axis[2][i] << endl; } return 0; } ``` 在实现中,我们使用了glm库进行矩阵计算。该库可以通过以下命令安装: ``` sudo apt-get install libglm-dev ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值