コード例 #1
0
ファイル: ray_intersect_sphere.c プロジェクト: NSSX/SSSSSSSS
static int		ray_solution_sphere(t_ray *ray, t_obj *obj)
{
	int sign;

	ray->obj = obj;
	ray->intersection = M_POINT(
		M_IJ(&(ray->start), 0, 0) + ray->dist * M_IJ(&(ray->dir), 0, 0),
		M_IJ(&(ray->start), 1, 0) + ray->dist * M_IJ(&(ray->dir), 1, 0),
		M_IJ(&(ray->start), 2, 0) + ray->dist * M_IJ(&(ray->dir), 2, 0));
	if (mat_norm(&(ray->start)) > 1)
		sign = 1;
	else
		sign = -1;
	ray->normal = M_DIR(
		sign * M_IJ(&(ray->intersection), 0, 0),
		sign * M_IJ(&(ray->intersection), 1, 0),
		sign * M_IJ(&(ray->intersection), 2, 0));
	return (0);
}
コード例 #2
0
ファイル: MatrixDecomposition.cpp プロジェクト: yueying/osg
 double norm_one(_HMatrix M) {return mat_norm(M, 1);}
コード例 #3
0
ファイル: MatrixDecomposition.cpp プロジェクト: yueying/osg
 double norm_inf(_HMatrix M) {return mat_norm(M, 0);}
コード例 #4
0
ファイル: Decompose.c プロジェクト: erich666/GraphicsGems
float norm_one(HMatrix M) {return mat_norm(M, 1);}
コード例 #5
0
ファイル: Decompose.c プロジェクト: erich666/GraphicsGems
float norm_inf(HMatrix M) {return mat_norm(M, 0);}