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


C++ Quat::FromAxisAngle方法代码示例

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


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

示例1: Pitch

void Camera::Pitch( float angle )
{
	Vec3 dir = _at - _pos;
	Vec3 axis = dir.cross(Vec3(0, 1, 0));
	axis.normalize();
	Quat q;
	q.FromAxisAngle(axis, angle * QUAT_PI / 360.f);
	q.ToMatrix().TransformVec3(dir.x, dir.y, dir.z);
	_at = _pos + dir;

	UpdateViewProj();
}
开发者ID:wang35666,项目名称:LightWorld,代码行数:12,代码来源:Camera.cpp

示例2: Yaw

void Camera::Yaw(float angle) {
	Vec3 dir = _at - _pos;
	Quat q;
	q.FromAxisAngle(Vec3(0.f, 1.0f, 0.f), angle * QUAT_PI / 360.f);
	q.ToMatrix().TransformVec3(dir.x, dir.y, dir.z);
	_at = _pos + dir;

	//Sys_Printf("%f %f %f \n", _dir.x, _dir.y, _dir.z);

	//_at.rotatexzBy(angle, vec3(_pos.x, _pos.y, _pos.z));
	//Sys_Printf("%f %f %f \n", dir.x, dir.y, dir.z);
	UpdateViewProj();
}
开发者ID:wang35666,项目名称:LightWorld,代码行数:13,代码来源:Camera.cpp

示例3: RotateByAxis

void Camera::RotateByAxis( Vec3 axis, float angle ) {
	Quat q;
	q.FromAxisAngle(axis, angle * QUAT_PI / 360.f);
	q.ToMatrix().TransformVec3(_pos.x, _pos.y, _pos.z);
	UpdateViewProj();
}
开发者ID:wang35666,项目名称:LightWorld,代码行数:6,代码来源:Camera.cpp


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