c++能访问mycat的吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++能访问mycat的吗相关的知识,希望对你有一定的参考价值。
参考技术A 可以,访问内容非常简单,仅需要我们将原mysql的连接信息替换为MyCat的连接信息即可。扩展:从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
有人能解释一下这段代码中的法线是如何计算的吗?
【中文标题】有人能解释一下这段代码中的法线是如何计算的吗?【英文标题】:Can someone explain how are normals calculated in this code? 【发布时间】:2015-05-11 12:30:02 【问题描述】:我正在用 C++ 编写一个 3ds 文件解析器。现在我正在研究法线,我在网上某处找到了这段代码:
void calculateNormals(vert a, vert b, vert c,GLfloat *nx,GLfloat *ny, GLfloat *nz)
GLfloat Qx, Qy, Qz, Px, Py, Pz;
GLfloat v1[3] = a.x,a.y,a.z;
GLfloat v2[3] = b.x,b.y,b.z;
GLfloat v3[3] = c.x,c.y,c.z;
Qx = v2[0]-v1[0];
Qy = v2[1]-v1[1];
Qz = v2[2]-v1[2];
Px = v3[0]-v1[0];
Py = v3[1]-v1[1];
Pz = v3[2]-v1[2];
*nx = Py*Qz - Pz*Qy;
*ny = Pz*Qx - Px*Qz;
*nz = Px*Qy - Py*Qx;
我几乎什么都懂,除了最后三行。我只是...无法弄清楚它是如何以及为什么起作用的。
有人能解释一下它是如何计算的吗?
【问题讨论】:
您可以使用cross product (as shown here) 计算法线,这基本上就是您的代码正在做的事情。 这里是关于计算表面法线的,你可以在opengl.org/wiki/Calculating_a_Surface_Normal看到。 最后一行正在计算cross product of two 3-vectors。关于法线的计算我推荐你这个答案***.com/a/6661242/524368 【参考方案1】:正如 Cyber 在 cmets 中所说,解决方案是计算叉积。数学描述为here。
代码将三角形点转换为 2 个向量(从点 1 到 2 以及从点 1 到 3),然后对它们进行计算并计算它们的叉积。
【讨论】:
【参考方案2】:这是一个交叉产品。请注意,当向量 (I,j,k) 在 (i0,j0,k0) 中相乘(叉积)时,结果是 (jk0-kj0,ki0-ik0,ij0-ji0) 通常法线也应该被归一化,如果向量不是单位长度。
【讨论】:
以上是关于c++能访问mycat的吗的主要内容,如果未能解决你的问题,请参考以下文章