当前位置: 首页>>代码示例>>C++>>正文


C++ Vector4::Cross方法代码示例

本文整理汇总了C++中Vector4::Cross方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector4::Cross方法的具体用法?C++ Vector4::Cross怎么用?C++ Vector4::Cross使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Vector4的用法示例。


在下文中一共展示了Vector4::Cross方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Normalise

void Matrix4x4::LookAt(const Vector4 & vFrom, const Vector4 & vTo, const Vector4 & vUp)
{
	Vector4 vZ = Normalise(vFrom - vTo);
	//vZ.DumpVector4("vZ");
	Vector4 vX = Normalise(vUp.Cross(vZ));
	//vX.DumpVector4("vX");
	Vector4 vY = vZ.Cross(vX);
	//vY.DumpVector4("vY");

    elem[0][0] = vX.x;	elem[0][1] = vY.x;	elem[0][2] = vZ.x;	elem[0][3] = 0;
	elem[1][0] = vX.y;	elem[1][1] = vY.y;	elem[1][2] = vZ.y;	elem[1][3] = 0;
	elem[2][0] = vX.z;	elem[2][1] = vY.z;	elem[2][2] = vZ.z;	elem[2][3] = 0;

	elem[3][0] = -vX.Dot3(vFrom);
	elem[3][1] = -vY.Dot3(vFrom);
	elem[3][2] = -vZ.Dot3(vFrom);
	elem[3][3] = 1;
}
开发者ID:Jiyambi,项目名称:Pyroteknix,代码行数:18,代码来源:ps2matrix4x4.cpp

示例2: Align

void Quaternion::Align(Vector3 v1, Vector3 v2)
{
	if (v1 == v2) {
		s = 1.0f;
		x = 0.0f;
		y = 0.0f;
		z = 0.0f;
	} else {
		Vector4 A = Vector4(v1).Normalise();
		Vector4 B = Vector4(v2).Normalise();
		Quaternion res(acos(A.Dot3(B)),A.Cross(B));
		s = res.s;
		x = res.x;
		y = res.y;
		z = res.z;
	}
}
开发者ID:Steelbadger,项目名称:OpenGLFramework,代码行数:17,代码来源:quaternion.cpp

示例3: GetRotate

Matrix4 Matrix4::GetRotate(const Vector4& from, const Vector4& to) {
	Vector4 axis = from.Cross(to);
	axis.Normalize();
	float degrees = from.GetAngleBetween(to);
	return GetRotate(degrees, axis);
}
开发者ID:forstezt,项目名称:CS455,代码行数:6,代码来源:Matrix4.cpp


注:本文中的Vector4::Cross方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。