user: Show practical ways to work with Mathutils in a Blender add-on or script – include code.

assistant:  TextureNodeChecker(TextureNode) TextureNodeCombineColor(TextureNode) TextureNodeCompose(TextureNode) TextureNodeCoordinates(TextureNode) TextureNodeCurveRGB(TextureNode) TextureNodeCurveTime(TextureNode) TextureNodeDecompose(TextureNode) TextureNodeDistance(TextureNode) TextureNodeGroup(TextureNode) TextureNodeHueSaturation(TextureNode) TextureNodeImage(TextureNode) TextureNodeInvert(TextureNode) TextureNodeMath(TextureNode) TextureNodeMixRGB(TextureNode) TextureNodeOutput(TextureNode) TextureNodeRGBToBW(TextureNode) TextureNodeRotate(TextureNode) TextureNodeScale(TextureNode) TextureNodeSeparateColor(TextureNode) TextureNodeTexBlend(TextureNode) TextureNodeTexClouds(TextureNode) TextureNodeTexDistNoise(TextureNode) TextureNodeTexMagic(TextureNode) TextureNodeTexMarble(TextureNode) TextureNodeTexMusgrave(TextureNode) TextureNodeTexNoise(TextureNode) TextureNodeTexStucci(TextureNode) TextureNodeTexVoronoi(TextureNode) TextureNodeTexWood(TextureNode) TextureNodeTexture(TextureNode) TextureNodeTranslate(TextureNode) TextureNodeTree(NodeTree) TextureNodeValToNor(TextureNode) TextureNodeValToRGB(TextureNode) TextureNodeViewer(TextureNode) TextureSlot(bpy_struct) Theme(bpy_struct) ThemeBoneColorSet(bpy_struct) ThemeClipEditor(bpy_struct) ThemeCollectionColor(bpy_struct) ThemeCommon(bpy_struct) ThemeCommonAnim(bpy_struct) ThemeCommonCurves(bpy_struct) ThemeConsole(bpy_struct) ThemeDopeSheet(bpy_struct) ThemeFileBrowser(bpy_struct) ThemeFontStyle(bpy_struct) ThemeGradientColors(bpy_struct) ThemeGraphEditor(bpy_struct) ThemeImageEditor(bpy_struct) ThemeInfo(bpy_struct) ThemeNLAEditor(bpy_struct) ThemeNodeEditor(bpy_struct) ThemeOutliner(bpy_struct) ThemePreferences(bpy_struct) ThemeProperties(bpy_struct) ThemeRegions(bpy_struct) ThemeRegionsAssetShelf(bpy_struct) ThemeRegionsChannels(bpy_struct) ThemeRegionsScrubbing(bpy_struct) ThemeRegionsSidebars(bpy_struct) ThemeSequenceEditor(bpy_struct) ThemeSpaceGeneric(bpy_struct) ThemeSpaceGradient(bpy_struct) ThemeSpreadsheet(bpy_struct) ThemeStatusBar(bpy_struct) ThemeStripColor(bpy_struct) ThemeStyle(bpy_struct) ThemeTextEditor(bpy_struct) ThemeTopBar(bpy_struct) ThemeUserInterface(bpy_struct) ThemeView3D(bpy_struct) ThemeWidgetColors(bpy_struct) ThemeWidgetStateColors(bpy_struct) TimelineMarker(bpy_struct) TimelineMarkers(bpy_struct) Timer(bpy_struct) ToolSettings(bpy_struct) TrackToConstraint(Constraint) TransformCacheConstraint(Constraint) TransformConstraint(Constraint) TransformOrientation(bpy_struct) TransformOrientationSlot(bpy_struct) TriangulateModifier(Modifier) UDIMTile(bpy_struct) UDIMTiles(bpy_struct) UILayout(bpy_struct) UIList(bpy_struct) UIPieMenu(bpy_struct) UIPopover(bpy_struct) UIPopupMenu(bpy_struct) UI_UL_list(UIList) USDHook(bpy_struct) USERPREF_UL_asset_libraries(UIList) USERPREF_UL_extension_repos(UIList) UVLoopLayers(bpy_struct) UVProjectModifier(Modifier) UVProjector(bpy_struct) UVWarpModifier(Modifier) UnifiedPaintSettings(bpy_struct) UnitSettings(bpy_struct) UnknownType(bpy_struct) UserAssetLibrary(bpy_struct) UserExtensionRepo(bpy_struct) UserExtensionRepoCollection(bpy_struct) UserSolidLight(bpy_struct) UvSculpt(bpy_struct) VIEW3D_AST_brush_gpencil_paint(AssetShelf) VIEW3D_AST_brush_gpencil_sculpt(AssetShelf) VIEW3D_AST_brush_gpencil_vertex(AssetShelf) VIEW3D_AST_brush_gpencil_weight(AssetShelf) VIEW3D_AST_brush_sculpt(AssetShelf) VIEW3D_AST_brush_sculpt_curves(AssetShelf) VIEW3D_AST_brush_texture_paint(AssetShelf) VIEW3D_AST_brush_vertex_paint(AssetShelf) VIEW3D_AST_brush_weight_paint(AssetShelf) VIEW3D_AST_pose_library(AssetShelf) VIEW3D_FH_camera_background_image(FileHandler) VIEW3D_FH_empty_image(FileHandler) VIEW3D_FH_vdb_volume(FileHandler) VIEWLAYER_UL_aov(UIList) VIEWLAYER_UL_linesets(UIList) VOLUME_UL_grids(UIList) VectorFont(ID) VertexGroup(bpy_struct) VertexGroupElement(bpy_struct) VertexGroups(bpy_struct) VertexPaint(Paint) VertexWeightEditModifier(Modifier) VertexWeightMixModifier(Modifier) VertexWeightProximityModifier(Modifier) View2D(bpy_struct) View3DCursor(bpy_struct) View3DOverlay(bpy_struct) View3DShading(bpy_struct) ViewLayer(bpy_struct) ViewLayerEEVEE(bpy_struct) ViewLayers(bpy_struct) ViewerNodeViewerPathElem(ViewerPathElem) ViewerPath(bpy_struct) ViewerPathElem(bpy_struct) Volume(ID) VolumeDisplaceModifier(Modifier) VolumeDisplay(bpy_struct) VolumeGrid(bpy_struct) VolumeGrids(bpy_struct) VolumeRender(bpy_struct) VolumeToMeshModifier(Modifier) VoronoiTexture(Texture) WORKSPACE_UL_addons_items(UIList) WalkNavigation(bpy_struct) WarpModifier(Modifier) WaveModifier(Modifier) WeightedNormalModifier(Modifier) WeldModifier(Modifier) WhiteBalanceModifier(StripModifier) Window(bpy_struct) WindowManager(ID) WipeStrip(EffectStrip) WireframeModifier(Modifier) WoodTexture(Texture) WorkSpace(ID) WorkSpaceTool(bpy_struct) World(ID) WorldLighting(bpy_struct) WorldMistSettings(bpy_struct) XrActionMap(bpy_struct) XrActionMapBinding(bpy_struct) XrActionMapBindings(bpy_struct) XrActionMapItem(bpy_struct) XrActionMapItems(bpy_struct) XrActionMaps(bpy_struct) XrComponentPath(bpy_struct) XrComponentPaths(bpy_struct) XrEventData(bpy_struct) XrNavigation(bpy_struct) XrSessionSettings(bpy_struct) XrSessionState(bpy_struct) XrUserPath(bpy_struct) XrUserPaths(bpy_struct) bpy_prop_collection bpy_prop_collection_idprop bpy_struct wmOwnerID(bpy_struct) wmOwnerIDs(bpy_struct) wmTools(bpy_struct) Shared Enum Types Toggle navigation of Shared Enum Types Id Type Items Object Mode Items Workspace Object Mode Items Object Empty Drawtype Items Object Gpencil Type Items Metaelem Type Items Color Space Convert Default Items Proportional Falloff Items Proportional Falloff Curve Only Items Snap Source Items Snap Element Items Snap Animation Element Items Curve Fit Method Items Mesh Select Mode Items Mesh Select Mode Uv Items Mesh Delimit Mode Items Space Graph Mode Items Space File Browse Mode Items Space Sequencer View Type Items Space Type Items Space Image Mode Items Space Image Mode All Items Space Action Mode Items Fileselect Params Sort Items Region Type Items Object Modifier Type Items Constraint Type Items Boidrule Type Items Strip Modifier Type Items Strip Video Modifier Type Items Strip Sound Modifier Type Items Strip Scale Method Items Object Shaderfx Type Items Modifier Triangulate Quad Method Items Modifier Triangulate Ngon Method Items Modifier Shrinkwrap Mode Items Shrinkwrap Type Items Shrinkwrap Face Cull Items Node Warning Type Items Image Type All Items Image Color Mode Items Image Color Depth Items Image Generated Type Items Normal Space Items Normal Swizzle Items Bake Save Mode Items Bake Margin Type Items Bake Target Items Views Format Items Views Format Multilayer Items Views Format Multiview Items Stereo3D Display Items Stereo3D Anaglyph Type Items Stereo3D Interlace Type Items Exr Codec Items Color Sets Items Beztriple Keyframe Type Items Beztriple Interpolation Mode Items Beztriple Interpolation Easing Items Fcurve Auto Smoothing Items Keyframe Handle Type Items Driver Target Rotation Mode Items Keyingset Path Grouping Items Keying Flag Items Keying Flag Api Items Fmodifier Type Items Motionpath Bake Location Items Motionpath Display Type Items Motionpath Range Items Event Value Items Event Direction Items Event Type Items Event Type Mask Items Operator Type Flag Items Operator Return Items Operator Property Tag Items Brush Automasking Flag Items Brush Sculpt Brush Type Items Brush Vertex Brush Type Items Brush Weight Brush Type Items Brush Gpencil Types Items Brush Gpencil Vertex Types Items Brush Gpencil Sculpt Types Items Brush Gpencil Weight Types Items Brush Curves Sculpt Brush Type Items Brush Image Brush Type Items Brush Curve Preset Items Grease Pencil Selectmode Items Stroke Depth Order Items Axis Xy Items Axis Xyz Items Axis Flag Xyz Items Symmetrize Direction Items Texture Type Items Light Type Items Lightprobes Type Items Unpack Method Items Object Type Items Object Rotation Mode Items Object Type Curve Items Rigidbody Object Type Items Rigidbody Object Shape Items Rigidbody Constraint Type Items Object Axis Items Bake Pass Type Items Bake Pass Filter Type Items Keymap Propvalue Items Operator Context Items Wm Report Items Wm Job Type Items Property Type Items Property Subtype Items Property Subtype String Items Property Subtype Number Items Property Subtype Number Array Items Property Unit Items Property Flag Items Property Flag Enum Items Property Override Flag Items Property Override Flag Collection Items Property String Search Flag Items Shading Type Items Navigation Mode Items Node Socket In Out Items Node Socket Type Items Node Tree Interface Item Type Items Node Socket Structure Type Items Node Math Items Mapping Type Items Node Vec Math Items Node Boolean Math Items Node Compare Operation Items Node Integer Math Items Node Float To Int Items Node Map Range Items Node Clamp Items Node Compositor Extension Items Node Compositor Interpolation Items Ramp Blend Items Prop Dynamicpaint Type Items Clip Editor Mode Items Icon Items Uilist Layout Type Items Linestyle Color Modifier Type Items Linestyle Alpha Modifier Type Items Linestyle Thickness Modifier Type Items Linestyle Geometry Modifier Type Items Window Cursor Items Dt Method Vertex Items Dt Method Edge Items Dt Method Loop Items Dt Method Poly Items Dt Mix Mode Items Dt Layers Select Src Items Dt Layers Select Dst Items Context Mode Items Preference Section Items Attribute Type Items Color Attribute Type Items Attribute Type With Auto Items Attribute Domain Items Attribute Domain Edge Face Items Attribute Domain Only Mesh Items Attribute Domain Only Mesh No Edge Items Attribute Domain Only Mesh No Corner Items Attribute Domain Point Face Curve Items Attribute Domain Point Edge Face Curve Items Attribute Curves Domain Items Color Attribute Domain Items Attribute Domain Without Corner Items Attribute Domain With Auto Items Geometry Component Type Items Node Combsep Color Items Node Socket Data Type Items Node Geometry Curve Handle Side Items Node Geometry Mesh Circle Fill Type Items Volume Grid Data Type Items Collection Color Items Strip Color Items Subdivision Uv Smooth Items Subdivision Boundary Smooth Items Transform Orientation Items Velocity Unit Items Curves Type Items Curves Handle Type Items Curve Normal Mode Items Geometry Nodes Gizmo Color Items Geometry Nodes Linear Gizmo Draw Style Items Particle Edit Hair Brush Items Particle Edit Disconnected Hair Brush Items Keyframe Paste Offset Items Keyframe Paste Offset Value Items Keyframe Paste Merge Items Transform Pivot Full Items Transform Mode Type Items Nla Mode Extend Items Nla Mode Blend Items Keyblock Type Items Asset Library Type Items File Path Foreach Flag Items Types with Custom Property Support Utilities (bpy.utils) Toggle navigation of Utilities (bpy.utils) bpy.utils submodule (bpy.utils.previews) bpy.utils submodule (bpy.utils.units) Path Utilities (bpy.path) Application Data (bpy.app) Toggle navigation of Application Data (bpy.app) Application Handlers (bpy.app.handlers) Application Translations (bpy.app.translations) Application Icons (bpy.app.icons) Application Timers (bpy.app.timers) Property Definitions (bpy.props) Standalone Modules Audio System (aud) Additional Math Functions (bl_math) Font Drawing (blf) BMesh Module (bmesh) Toggle navigation of BMesh Module (bmesh) BMesh Operators (bmesh.ops) BMesh Types (bmesh.types) BMesh Utilities (bmesh.utils) BMesh Geometry Utilities (bmesh.geometry) Extra Utilities (bpy_extras) Toggle navigation of Extra Utilities (bpy_extras) bpy_extras submodule (bpy_extras.anim_utils) bpy_extras submodule (bpy_extras.asset_utils) bpy_extras submodule (bpy_extras.object_utils) bpy_extras submodule (bpy_extras.io_utils) bpy_extras submodule (bpy_extras.image_utils) bpy_extras submodule (bpy_extras.keyconfig_utils) bpy_extras submodule (bpy_extras.mesh_utils) bpy_extras submodule (bpy_extras.node_utils) bpy_extras submodule (bpy_extras.view3d_utils) bpy_extras submodule (bpy_extras.id_map_utils) Freestyle Module (freestyle) Toggle navigation of Freestyle Module (freestyle) Freestyle Types (freestyle.types) Freestyle Predicates (freestyle.predicates) Freestyle Functions (freestyle.functions) Freestyle Chaining Iterators (freestyle.chainingiterators) Freestyle Shaders (freestyle.shaders) Freestyle Utilities (freestyle.utils) Toggle navigation of Freestyle Utilities (freestyle.utils) freestyle.utils submodule (freestyle.utils.ContextFunctions) GPU Module (gpu) Toggle navigation of GPU Module (gpu) GPU Types (gpu.types) GPU Matrix Utilities (gpu.matrix) GPU Select Utilities (gpu.select) GPU Shader Utilities (gpu.shader) GPU State Utilities (gpu.state) GPU Texture Utilities (gpu.texture) GPU Platform Utilities (gpu.platform) GPU Capabilities Utilities (gpu.capabilities) GPU Utilities (gpu_extras) Toggle navigation of GPU Utilities (gpu_extras) gpu_extras submodule (gpu_extras.batch) gpu_extras submodule (gpu_extras.presets) ID Property Access (idprop.types) Image Buffer (imbuf) Toggle navigation of Image Buffer (imbuf) Image Buffer Types (imbuf.types) Math Types & Utilities (mathutils) Toggle navigation of Math Types & Utilities (mathutils) Geometry Utilities (mathutils.geometry) BVHTree Utilities (mathutils.bvhtree) KDTree Utilities (mathutils.kdtree) Interpolation Utilities (mathutils.interpolate) Noise Utilities (mathutils.noise) 5.0 Versions Loading... Note You are not using the most up to date version of the documentation. is the newest version. Back to top Toggle Light / Dark / Auto color theme Toggle table of contents sidebar Math Types & Utilities (mathutils) ¶ This module provides access to math operations. Note Classes, methods and attributes that accept vectors also accept other numeric sequences, such as tuples, lists. The mathutils module provides the following classes: Color , Euler , Matrix , Quaternion , Vector , Submodules Geometry Utilities (mathutils.geometry) BVHTree Utilities (mathutils.bvhtree) KDTree Utilities (mathutils.kdtree) Interpolation Utilities (mathutils.interpolate) Noise Utilities (mathutils.noise) import mathutils from math import radians vec = mathutils . Vector (( 1.0 , 2.0 , 3.0 )) mat_rot = mathutils . Matrix . Rotation ( radians ( 90.0 ), 4 , &#39;X&#39; ) mat_trans = mathutils . Matrix . Translation ( vec ) mat = mat_trans @ mat_rot mat . invert () mat3 = mat . to_3x3 () quat1 = mat . to_quaternion () quat2 = mat3 . to_quaternion () quat_diff = quat1 . rotation_difference ( quat2 ) print ( quat_diff . angle ) class mathutils. Color ( rgb = (0.0, 0.0, 0.0) , / ) ¶ This object gives access to Colors in Blender. Most colors returned by Blender APIs are in scene linear color space, as defined by the OpenColorIO configuration. The notable exception is user interface theming colors, which are in sRGB color space. Parameters : rgb ( Sequence [ float ] ) – (red, green, blue) color values where (0, 0, 0) is black & (1, 1, 1) is white. import mathutils # Color values are represented as RGB values from 0 - 1, this is blue. col = mathutils . Color (( 0.0 , 0.0 , 1.0 )) # As well as r/g/b attribute access you can adjust them by h/s/v. col . s *= 0.5 # You can access its components by attribute or index. print ( "Color R:" , col . r ) print ( "Color G:" , col [ 1 ]) print ( "Color B:" , col [ - 1 ]) print ( "Color HSV: {:.2f} , {:.2f} , {:.2f} " . format ( * col )) # Components of an existing color can be set. col [:] = 0.0 , 0.5 , 1.0 # Components of an existing color can use slice notation to get a tuple. print ( "Values: {:f} , {:f} , {:f} " . format ( * col )) # Colors can be added and subtracted. col += mathutils . Color (( 0.25 , 0.0 , 0.0 )) # Color can be multiplied, in this example color is scaled to 0-255 # can printed as integers. print ( "Color: {:d} , {:d} , {:d} " . format ( * ( int ( c ) for c in ( col * 255.0 )))) # This example prints the color as hexadecimal. print ( "Hexadecimal: {:02x}{:02x}{:02x} " . format ( int ( col . r * 255 ), int ( col . g * 255 ), int ( col . b * 255 ))) # Direct buffer access is supported. print ( memoryview ( col ) . tobytes ()) copy ( ) ¶ Returns a copy of this color. Returns : A copy of the color. Return type : Color Note use this to get a copy of a wrapped color with no reference to the original data. freeze ( ) ¶ Make this object immutable. After this the object can be hashed, used in dictionaries & sets. Returns : An instance of this object. from_aces_to_scene_linear ( ) ¶ Convert from ACES2065-1 linear to scene linear color space. Returns : A color in scene linear color space. Return type : Color from_acescg_to_scene_linear ( ) ¶ Convert from ACEScg linear to scene linear color space. Returns : A color in scene linear color space. Return type : Color from_rec2020_linear_to_scene_linear ( ) ¶ Convert from Rec.2020 linear color space to scene linear color space. Returns : A color in scene linear color space. Return type : Color from_rec709_linear_to_scene_linear ( ) ¶ Convert from Rec.709 linear color space to scene linear color space. Returns : A color in scene linear color space. Return type : Color from_scene_linear_to_aces ( ) ¶ Convert from scene linear to ACES2065-1 linear color space. Returns : A color in ACES2065-1 linear color space. Return type : Color from_scene_linear_to_acescg ( ) ¶ Convert from scene linear to ACEScg linear color space. Returns : A color in ACEScg linear color space. Return type : Color from_scene_linear_to_rec2020_linear ( ) ¶ Convert from scene linear to Rec.2020 linear color space. Returns : A color in Rec.2020 linear color space. Return type : Color from_scene_linear_to_rec709_linear ( ) ¶ Convert from scene linear to Rec.709 linear color space. Returns : A color in Rec.709 linear color space. Return type : Color from_scene_linear_to_srgb ( ) ¶ Convert from scene linear to sRGB color space. Returns : A color in sRGB color space. Return type : Color from_scene_linear_to_xyz_d65 ( ) ¶ Convert from scene linear to CIE XYZ (Illuminant D65) color space. Returns : A color in XYZ color space. Return type : Col