Blender V5.0
BLI_math_constants.h File Reference
#include <math.h>

Go to the source code of this file.

Macros

#define M_PI   3.14159265358979323846 /* `pi` */
#define M_TAU   6.28318530717958647692 /* `tau = 2*pi` */
#define M_PI_2   1.57079632679489661923 /* `pi/2` */
#define M_PI_4   0.78539816339744830962 /* `pi/4` */
#define M_SQRT2   1.41421356237309504880 /* `sqrt(2)` */
#define M_SQRT1_2   0.70710678118654752440 /* `1/sqrt(2)` */
#define M_SQRT3   1.73205080756887729352 /* `sqrt(3)` */
#define M_SQRT1_3   0.57735026918962576450 /* `1/sqrt(3)` */
#define M_1_PI   0.318309886183790671538 /* `1/pi` */
#define M_E   2.7182818284590452354 /* `e` */
#define M_LOG2E   1.4426950408889634074 /* `log_2 e` */
#define M_LOG10E   0.43429448190325182765 /* `log_10 e` */
#define M_LN2   0.69314718055994530942 /* `log_e 2` */
#define M_LN10   2.30258509299404568402 /* `log_e 10` */
Conversion Defines
#define RAD2DEG(_rad)
#define DEG2RAD(_deg)
#define RAD2DEGF(_rad)
#define DEG2RADF(_deg)

Macro Definition Documentation

◆ DEG2RAD

◆ DEG2RADF

#define DEG2RADF ( _deg)
Value:
((_deg) * (float)(M_PI / 180.0))
nullptr float

Definition at line 75 of file BLI_math_constants.h.

Referenced by blender::bke::add_auto_smooth_node_tree(), blender::ed::object::add_generic_props(), blender::geometry::angle_match(), blender::geometry::angle_wrap(), ANIM_unit_mapping_get_factor(), Freestyle::AppView::AppView(), ARMATURE_OT_roll_clear(), blender::ed::transform::axisProjection(), bevel_list_flip_tangents(), BKE_freestyle_config_init(), BKE_linestyle_alpha_modifier_add(), BKE_linestyle_color_modifier_add(), BKE_linestyle_geometry_modifier_add(), BKE_linestyle_thickness_modifier_add(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_290(), blo_do_versions_420(), blo_do_versions_userdef(), blo_update_defaults_scene(), BLO_update_defaults_startup_blend(), BM_edge_calc_face_angle(), BM_edge_calc_face_angle_signed(), BM_edge_calc_face_angle_with_imat3(), bm_edge_delmimit_data_from_op(), bm_interior_face_group_calc_cost(), BM_vert_calc_edge_angle(), blender::nodes::node_composite_chroma_matte_cc::cmp_node_chroma_matte_declare(), blender::ed::sculpt_paint::greasepencil::compute_auto_flip(), blender::bke::create_auto_smooth_modifier(), CURVE_OT_draw(), blender::ed::curves::CURVES_OT_draw(), def_cmp_defocus(), def_sh_tex_sky(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), do_version_constraints_radians_degrees_270_1(), do_versions_nodetree_convert_angle(), blender::ed::vse::draw_vectorscope_graticule(), edbm_dissolve_prop__use_angle_threshold(), edbm_screw_exec(), edbm_tris_convert_to_quads_exec(), blender::geometry::find_best_fit_for_island(), blender::geometry::PackIsland::get_diagonal_support(), GPU_matrix_rotate_2d(), GPU_matrix_rotate_3fv(), GPU_matrix_rotate_axis(), blender::ed::greasepencil::GREASE_PENCIL_OT_set_corner_type(), blender::ed::greasepencil::grease_pencil_set_corner_type_exec(), imm_draw_circle_partial(), imm_draw_circle_partial_3d(), imm_draw_disk_partial(), imm_draw_disk_partial_3d(), blender::seq::init_text_effect(), join_triangle_props(), knife_snap_angle_impl(), laplacian_triangle_area(), make_bevel_list_3D_minimum_twist(), MESH_OT_beautify_fill(), MESH_OT_dissolve_limited(), MESH_OT_edges_select_sharp(), MESH_OT_faces_select_linked_flat(), MESH_OT_knife_tool(), MESH_OT_spin(), MESH_OT_vert_connect_nonplanar(), blender::ed::sculpt_paint::brushes::multiplane_scrape_preview_draw(), blender::nodes::node_shader_tex_sky_cc::node_shader_init_tex_sky(), blender::ed::object::OBJECT_OT_shade_auto_smooth(), blender::ed::object::OBJECT_OT_shade_smooth_by_angle(), blender::draw::overlay::ForceFields::object_sync(), blender::ed::sculpt_paint::greasepencil::TwistOperation::on_stroke_extended(), blender::geometry::pack_gobel(), blender::geometry::pack_islands_alpaca_rotate(), blender::geometry::plusminus_90_angle(), radial_control_modal(), blender::io::usd::USDLightReader::read_object_data(), rna_def_area_light(), rna_def_constraint_transform(), rna_def_linestyle(), rna_def_material_greasepencil(), rna_def_modifier_bevel(), rna_def_modifier_edgesplit(), rna_def_modifier_grease_pencil_texture(), rna_def_modifier_normaledit(), rna_def_scene_eevee(), rna_def_spot_light(), rna_def_statvis(), rna_def_sun_light(), rna_def_text(), rna_def_tool_settings(), rna_def_userdef_input(), rna_def_wipe(), RNA_def_world(), blender::geometry::rotate_inside_square(), blender::draw::statvis_calc_sharp(), strip_set_wipe_angle_cb(), strip_text_data_update(), blender::ed::object::TRANSFORM_OT_vertex_warp(), ui_but_pie_dir(), ui_draw_but_VECTORSCOPE(), blender::geometry::UVMinimumEnclosingSquareFinder::update_recursive(), UV_OT_smart_project(), v3d_editvertex_buts(), valuefn(), vectorscope_draw_target(), vieworbit_exec(), viewroll_exec(), viewrotate_apply_snap(), wm_gesture_straightline_do_angle_snap(), and xml_read_transform().

◆ M_1_PI

◆ M_E

#define M_E   2.7182818284590452354 /* `e` */

Definition at line 48 of file BLI_math_constants.h.

◆ M_LN10

#define M_LN10   2.30258509299404568402 /* `log_e 10` */

Definition at line 60 of file BLI_math_constants.h.

Referenced by soft_range_round_down(), and soft_range_round_up().

◆ M_LN2

#define M_LN2   0.69314718055994530942 /* `log_e 2` */

Definition at line 57 of file BLI_math_constants.h.

Referenced by blend_read_mdisps(), bm_corners_to_loops_ex(), and power_of_2().

◆ M_LOG10E

#define M_LOG10E   0.43429448190325182765 /* `log_10 e` */

Definition at line 54 of file BLI_math_constants.h.

◆ M_LOG2E

#define M_LOG2E   1.4426950408889634074 /* `log_2 e` */

Definition at line 51 of file BLI_math_constants.h.

◆ M_PI

#define M_PI   3.14159265358979323846 /* `pi` */

Definition at line 21 of file BLI_math_constants.h.

Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_fixed_pivot(), blender::nodes::node_fn_align_rotation_to_vector_cc::align_rotations_fixed_pivot(), angle_normalized_v2v2(), angle_normalized_v3v3(), angle_poly_v3(), angle_quad_v3(), angle_signed_on_axis_normalized_v3v3_v3(), angle_signed_on_axis_v3v3_v3(), angle_signed_v2v2_pos(), angle_tri_v3(), blender::geometry::angle_wrap(), angle_wrap_rad(), blender::ed::transform::applyRotationValue(), blender::ed::transform::axisProjection(), batch_sphere_wire(), BKE_kelvinlet_init_params(), BKE_light_area(), BKE_mask_spline_project_co(), BKE_maskrasterize_handle_init(), BKE_pose_channel_ensure(), BKE_uvproject_from_camera(), blend(), BLI_dial_angle(), BLI_easing_elastic_ease_in(), BLI_easing_elastic_ease_in_out(), BLI_easing_elastic_ease_out(), BLI_easing_sine_ease_in_out(), BLI_ewa_imp2radangle(), blo_do_versions_250(), blo_do_versions_270(), BM_edges_sharp_from_angle_set(), bm_mesh_calc_uvs_sphere_face(), BM_mesh_wireframe(), BM_vert_calc_edge_angle_ex(), bmo_create_uvsphere_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_edges_init(), bmo_vert_calc_edge_angle_blended(), button2d_geom_draw_backdrop(), blender::ed::sculpt_paint::auto_mask::calc_brush_normal_factor(), calc_radial_symmetry_feather(), blender::ed::sculpt_paint::auto_mask::calc_view_normal_factor(), blender::seq::calc_wipe_blend(), blender::geometry::calculate_angles(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::calculate_bounds_ico_sphere(), blender::bke::curves::poly::calculate_normals_minimum(), blender::nodes::node_shader_tex_gradient_cc::GradientFunction::call(), blender::nodes::node_shader_tex_wave_cc::WaveFunction::call(), clamp_angle(), compatible_eul(), compute_alignment(), compute_seam_normal(), blender::nodes::node_composite_glare_cc::GlareOperation::compute_streak_direction(), computeBindWeights(), Freestyle::GaussianFilter::computeMask(), blender::io::usd::USDMaterialReader::convert_usd_transform_2d(), convexhull_aabb_canonical_angle(), blender::bke::mesh::corner_fan_space_define(), blender::bke::mesh::corner_space_custom_data_to_normal(), blender::bke::mesh::corner_space_custom_normal_to_data(), blender::nodes::node_geo_curve_primitive_arc_cc::create_arc_curve_from_points(), blender::nodes::node_geo_curve_primitive_arc_cc::create_arc_curve_from_radius(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::nodes::node_geo_curve_primitive_circle_cc::create_point_circle_curve(), blender::nodes::node_geo_curve_primitive_circle_cc::create_radius_circle_curve(), blender::nodes::node_geo_curve_primitive_spiral_cc::create_spiral_curve(), blender::nodes::node_geo_curve_primitive_star_cc::create_star_curve(), blender::bke::tests::GreasePencilInterpolate::create_test_shape(), blender::io::usd::create_transform2d_shader(), blender::ed::sculpt_paint::cursor_draw_point_with_symmetry(), curve_bevel_make_full_circle(), curve_draw_exec(), blender::ed::curves::curve_draw_exec_precalc(), curve_draw_exec_precalc(), CURVE_OT_draw(), blender::ed::curves::curves_draw_exec(), blender::ed::curves::CURVES_OT_draw(), damptrack_do_transform(), dial_3d_draw_util(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_incremental_angle(), dial_ghostarc_get_angles(), direction_to_equirect(), do_kink(), do_kink_spiral(), do_kink_spiral_deform(), blender::ed::sculpt_paint::do_radial_symmetry(), do_twist(), do_version_constraints_radians_degrees_250(), blender::io::usd::USDLightWriter::do_write(), doEdgeSplit(), blender::eevee::Sampling::dof_disk_sample_get(), blender::io::usd::dome_light_to_world_material(), draw_circle_in_quad(), blender::ed::vse::draw_cursor_2d(), dvar_eval_rotDiff(), ED_anim_calculate_butterworth_coefficients(), ED_view3d_smooth_view_ex(), edbm_beautify_fill_exec(), edbm_delete_edgeloop_exec(), edbm_fill_grid_vert_tag_angle(), edbm_spin_exec(), edge_face_angle(), edge_wind_vertex(), blender::bke::mesh::edges_sharp_from_angle_set(), blender::draw::edituv_get_edituv_stretch_angle(), blender::io::usd::ensure_root_prim(), euler_filter_single_channel(), blender::geometry::extend_curve_curved(), fcm_fn_generator_evaluate(), blender::workbench::filter_blackman_harris(), filter_gauss(), libmv::Gaussian(), libmv::Gaussian2D(), libmv::GaussianInversePositive(), blender::ed::greasepencil::generate_arc_from_point_to_point(), blender::ed::greasepencil::generate_circle_from_point(), geometry_collide_offset(), blender::ed::sculpt_paint::boundary::get_mesh_strength(), blender::RandomNumberGenerator::get_unit_float2(), blender::RandomNumberGenerator::get_unit_float3(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::get_varray_for_context(), blender::ed::space_node::viewer_linking::get_viewer_node_position_candidates(), Freestyle::AppView::GetFovyDegrees(), GHOST_Wintab::getInput(), GIZMO_GT_dial_3d(), gizmo_mesh_spin_init_draw_prepare(), gizmo_mesh_spin_init_setup(), gizmo_mesh_spin_redo_setup(), blender::seq::glow_blur_bitmap(), gpu_batch_sphere(), GPU_matrix_perspective_set(), slim::grad(), blender::ed::greasepencil::GREASE_PENCIL_OT_set_corner_type(), Freestyle::gts_vertex_gaussian_curvature(), imm_draw_circle(), imm_draw_circle_3D(), imm_draw_circle_partial_3d(), imm_draw_cylinder_fill_3d(), imm_draw_cylinder_fill_normal_3d(), imm_draw_cylinder_wire_3d(), blender::io::hydra::LightData::init(), insert_seam_vert_array(), Freestyle::LanczosWindowed(), blender::ed::transform::large_rotation_limit(), blender::draw::gpencil::light_power_get(), lineart_create_render_buffer_v3(), lineart_geometry_object_load(), blender::workbench::SceneResources::load_jitter_tx(), make_unit_square_map(), map_to_sphere(), map_to_tube(), blender::bke::mesh_sharp_edges_set_from_angle(), mesh_uv_reset_array(), mix_normals(), MOD_lineart_chain_split_angle(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), nearly_parallel(), blender::nodes::node_geo_curve_primitive_arc_cc::node_declare(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_declare(), blender::io::usd::node_search(), blender::nodes::node_shader_tex_sky_cc::node_shader_gpu_tex_sky(), normalEditModifier_do(), libmv::NRealisticCamerasFull(), libmv::NRealisticCamerasSparse(), object_preview_camera_create(), offset_meet(), offset_meet_edge(), op_degrees(), op_radians(), blender::bke::pbvh::uv_islands::UVBorder::outside_angle(), blender::geometry::p_abf_adjust_alpha(), blender::geometry::p_abf_compute_gradient(), blender::geometry::p_chart_abf_solve(), blender::geometry::p_chart_correct_degenerate_triangle_point(), blender::geometry::p_chart_correct_degenerate_triangles2(), blender::geometry::p_chart_minimum_area_angle(), blender::geometry::p_chart_stretch_minimize(), blender::geometry::p_edge_boundary_angle(), blender::draw::pack_rotation_aspect_hardness_miter(), blender::ed::sculpt_paint::paint_brush_update(), paint_calculate_rake_rotation(), blender::ed::sculpt_paint::paint_stroke_curve_end(), blender::ed::sculpt_paint::paint_stroke_line_constrain(), point_between_edges(), blender::draw::precompute_sphere_points(), blender::ed::curves::primitive_random_sphere(), psys_get_birth_coords(), psys_get_dupli_path_transform(), quad_calc_error(), radial_control_modal(), RE_filter_value(), blender::io::usd::USDLightReader::read_object_data(), RNA_api_mesh(), rna_def_bone_curved_common(), rna_def_brush(), rna_def_brush_texture_slot(), RNA_def_camera(), rna_def_camera_dof_settings_data(), rna_def_constraint_kinematic(), rna_def_constraint_rotation_limit(), rna_def_curve_paint_settings(), rna_def_edit_bone(), rna_def_gpencil_guides(), rna_def_modifier_grease_pencil_simplify(), rna_def_modifier_screw(), rna_def_pose_channel(), rna_def_rigidbody_constraint(), rna_def_sculpt(), rna_def_space_view3d_shading(), rna_def_text(), Freestyle::NodeTransform::Rotate(), rotate(), rotation_between_vecs_to_quat(), blender::ed::transform::RotationBetween(), sabin_gamma(), safe_acos(), blender::eevee::Sampling::sample_ball(), blender::eevee::Sampling::sample_disk(), blender::eevee::Sampling::sample_hemisphere(), blender::eevee::Sampling::sample_sphere(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_spherical_with_symmetry(), blender::eevee::Sampling::sample_spiral(), blender::bke::mesh_surface_sample::sample_surface_points_projected(), blender::bke::mesh_surface_sample::sample_surface_points_spherical(), select_similar_direction(), set_boid_values(), blender::io::usd::USDTransformWriter::set_xform_ops(), Freestyle::FEdgeXDetector::setCreaseAngle(), IK_QElbowSegment::SetLimit(), IK_QRevoluteSegment::SetLimit(), IK_QSphericalSegment::SetLimit(), IK_QSwingSegment::SetLimit(), blender::draw::overlay::ShapeCache::ShapeCache(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), sin_cos_from_fraction(), sinc(), blender::nodes::node_shader_tex_sky_cc::sky_precompute_old(), blender::nodes::node_shader_tex_sky_cc::sky_simplify_multiscatter_elevation_rotation(), libmv::SolveCubicPolynomial(), sphclassical_density_accum_cb(), sphclassical_force_cb(), blender::draw::statvis_calc_overhang(), blender::draw::statvis_calc_sharp(), Freestyle::SteerableViewMap::SteerableViewMap(), stencil_control_calculate(), stitch_calculate_island_snapping(), HdCyclesLight::Sync(), blender::math::tests::TEST(), blender::math::tests::TEST(), blender::math::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), TEST(), TEST(), test_sin_cos_from_fraction_accuracy(), tex_saw(), tex_tri(), blender::ed::transform::TRANSFORM_OT_bend(), blender::ed::transform::TRANSFORM_OT_rotate(), blender::ed::transform::TRANSFORM_OT_rotate_normal(), blender::ed::transform::TRANSFORM_OT_tilt(), tri_corner_test(), ui_draw_but_HSVCIRCLE(), ui_draw_pie_center(), ui_hsvcircle_pos_from_vals(), ui_hsvcircle_vals_from_pos(), ui_numedit_but_UNITVEC(), update_duplicate_kinematics_constraint_settings(), uv_image_outset(), uv_map_rotation_matrix_ex(), vectorscope_draw_target(), vfont_to_curve(), view_axis_exec(), vieworbit_exec(), viewrotate_apply(), vpaint_do_radial_symmetry(), blender::seq::WipeData::WipeData(), WM_event_drag_direction(), wn_corner_angle(), wn_face_with_angle(), wpaint_do_radial_symmetry(), and wrap_rad_angle().

◆ M_PI_2

#define M_PI_2   1.57079632679489661923 /* `pi/2` */

Definition at line 27 of file BLI_math_constants.h.

Referenced by blender::geometry::angle_wrap(), blender::ed::transform::axis_angle_to_gimbal_axis(), blender::ed::transform::axisProjection(), blender::ed::transform::Bend(), bevel_quarter_fill(), BKE_mask_spline_project_co(), BLI_dial_angle(), BLI_easing_sine_ease_in(), BLI_easing_sine_ease_out(), blo_do_versions_290(), bm_edge_is_delimit(), bmo_dissolve_limit_exec(), calc_bevel_sin_cos(), calc_solidify_normals(), blender::nodes::node_shader_tex_wave_cc::WaveFunction::call(), compatible_eul(), computeAngularWeight(), computeBindWeights(), blender::io::usd::convert_to_z_up(), blender::nodes::node_geo_mesh_primitive_cube_cc::create_cube_mesh(), curve_nurb_select_similar_type(), curveprofile_build_supports(), damptrack_do_transform(), def_sh_tex_sky(), blender::deform_drawing(), dial_ghostarc_get_angles(), do_kink_spiral_deform(), do_vert_pair(), blender::io::alembic::ABCTransformWriter::do_write(), ED_armature_ebone_roll_to_vector(), fcm_fn_generator_evaluate(), find_even_superellipse_chords(), GHOST_Wintab::getInput(), imm_draw_circle_partial(), imm_draw_disk_partial(), imm_draw_disk_partial_3d(), init_data(), make_bevel_list_2D(), mball_select_similar_type(), blender::nodes::node_shader_bsdf_hair_cc::node_declare(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_declare(), blender::nodes::node_shader_tex_sky_cc::node_shader_gpu_tex_sky(), blender::ed::sculpt_paint::greasepencil::RandomizeOperation::on_stroke_extended(), orthogonalize_stable(), blender::geometry::p_chart_minimum_area_angle(), project_state_init(), quad_calc_error(), blender::io::alembic::AbcObjectReader::read_matrix(), rna_def_brush(), rna_def_camera_stereo_data(), rna_def_gpencil_options(), blender::ed::object::rotation_from_quat(), blender::io::alembic::AbcObjectReader::setupObjectTransform(), Freestyle::WOEdge::setVecAndAngle(), blender::draw::overlay::ShapeCache::ShapeCache(), splineik_evaluate_bone(), stitch_calculate_island_snapping(), stretchto_evaluate(), surface_determineForceTargetPoints(), blender::eevee::Camera::sync(), blender::bke::tests::TEST(), blender::math::tests::TEST(), blender::math::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::ed::sculpt_paint::tilt_apply_to_normal(), tri_corner_test(), ui_draw_pie_center(), UI_fontstyle_draw_rotated(), ui_hsvcircle_pos_from_vals(), UI_panel_category_draw_all(), update_wave_node_directions_and_offset(), uv_image_outset(), vectorscope_draw_target(), view3d_orbit_apply_dyn_ofs_ortho_correction(), blender::ed::sculpt_paint::vwpaint::view_angle_limits_init(), view_axis_exec(), view_roll_angle(), blender::ed::object::volume_import_exec(), VoronoiVertexWeight::VoronoiVertexWeight(), wm_xr_session_base_pose_calc(), and blender::write_weights_for_drawing().

◆ M_PI_4

◆ M_SQRT1_2

◆ M_SQRT1_3

#define M_SQRT1_3   0.57735026918962576450 /* `1/sqrt(3)` */

◆ M_SQRT2

◆ M_SQRT3

#define M_SQRT3   1.73205080756887729352 /* `sqrt(3)` */

◆ M_TAU

#define M_TAU   6.28318530717958647692 /* `tau = 2*pi` */

Definition at line 24 of file BLI_math_constants.h.

Referenced by blender::eevee::film_filter_weight().

◆ RAD2DEG

#define RAD2DEG ( _rad)
Value:
((_rad) * (180.0 / M_PI))

Definition at line 71 of file BLI_math_constants.h.

Referenced by blf_draw_gpu__start(), handleNumInput(), and blender::nodes::try_dispatch_float_math_fl_to_fl().

◆ RAD2DEGF