Only search projects.blender.org
Log In
New Account
Home
My Page
Projects
Blender 2.x BF release
Summary
Activity
Tracker
SCM
Files
Blender 2.6 Bug Tracker: Browse
[#26089] editbone.transfrom() seems to mess up bone roll (by more than float precision error)
Date:
2011-02-15 05:24
Priority:
3
State:
Closed
Submitted by:
bassam kurdali (
bassamk
)
Assigned to:
Campbell Barton (campbellbarton)
Category:
Python
Status:
Fixed / Closed
Relates to:
Duplicates:
Patches:
Summary:
editbone.transfrom() seems to mess up bone roll (by more than float precision error)
Detailed description
editbone.transform(matrix) followed by editbone.transform(inverse of matrix) should get us back to the same head/tail/roll we were at in the beginning (minus tiny float errors). When I was trying to use it, I wasn't understanding the results - If I'm not just barking up the wrong tree, the roll is getting handled incorrectly.
Attached is a blend file that attempts this , print()s in the scripts show the discrepancy. If I did something stupid, sorry for the waste of time ;)
When I run the script I get:
oldroll= -0.494820386171
newroll= 0.750505387783
difference= 1.24532577395
running blender on GNU/Linux, 64 bit/intel (Ubuntu 10.10)
Followup
Message
Date
: 2011-02-15 11:19
Sender
:
Campbell Barton
assigning to myself.
Date
: 2011-02-21 02:31
Sender
:
Campbell Barton
The roll needs to be changed to so it is the same relative to the head/tail, however I can see it may not be what you want. added a keyword argument, r35008.
ebone.transform(matrix, scale=True, roll=True)
also double checked the bones roll is being transformed correctly.
Attached Files:
Name
Date
Download
transfrom.blend
2011-02-15 05:24
Download
Changes:
Field
Old Value
Date
By
status_id
Open
2011-02-21 02:31
campbellbarton
close_date
None
2011-02-21 02:31
campbellbarton
Status
New
2011-02-21 02:31
campbellbarton
assigned_to
none
2011-02-15 11:19
campbellbarton
File Added
15026: transfrom.blend
2011-02-15 05:24
bassamk