view mupdf-source/thirdparty/freeglut/progs/demos/spaceball/vmath.c @ 38:8934ac156ef5

Allow to build with the PyPI package "clang" instead of "libclang". 1. It seems to be maintained. 2. In the FreeBSD base system there is no pre-built libclang.so. If you need this library you have to install llvm from ports additionally. 2. On FreeBSD there is no pre-built wheel "libclang" with a packaged libclang.so.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 23 Sep 2025 10:27:15 +0200
parents b50eed0cc0ef
children
line wrap: on
line source

#include <math.h>
#include "vmath.h"

quat_t quat_rotate(quat_t q, float angle, float x, float y, float z)
{
  quat_t rq;
  float half_angle = angle * 0.5f;
  float sin_half = (float)sin(half_angle);

  rq.w = (float)cos(half_angle);
  rq.x = x * sin_half;
  rq.y = y * sin_half;
  rq.z = z * sin_half;

  return quat_mul(q, rq);
}