3D coordinate system orientation in Office Drawing Binary File Format

Regina Henschel 131 Reputation points

The Office Drawing Binary File Format has the attributes c3DKeyX, c3DKeyY, c3DKeyZ and c3DFillX, c3DFillY, c3DFillZ. How is the coordinate system orientated? Is it a right-hand or a left-hand system?

Office Open Specifications
Office Open Specifications
Office: A suite of Microsoft productivity software that supports common business tasks, including word processing, email, presentations, and data management and analysis.Open Specifications: Technical documents for protocols, computer languages, standards support, and data portability. The goal with Open Specifications is to help developers open new opportunities to interoperate with Windows, SQL, Office, and SharePoint.
103 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Mike Bowen 1,101 Reputation points Microsoft Employee

    Hi @Regina Henschel ,

    The viewpoint (camera) is facing the "negative z direction". That implies these spatial properties use a right-handed coordinate system.

    Please let me know if that answers your question.

    Michael Bowen
    Escalation Engineer - Microsoft Open Specifications

    0 comments No comments

  2. Regina Henschel 131 Reputation points

    Hi @Mike Bowen ,

    In my calculations I get a direction with positive values towards the observer. That would be a left-hand coordinate system. As you get a right-hand coordinate system, it would be nice, if you point me to the error in my calculations.

    Insert a circle, save to Rich Text Format (RTF). Toggle extrusion on, set 'Parallel' and 'Center', 'Surface' to 'Plastic', 'Lighting' to 'Normal'. Tilt circle up by 90deg. You get a rectangle with some bright facets.

    Imagine you look from the top on to the solid. Then you see a circle. The x-axis points right and the y-axis points away from you. The observer looks from bottom to top. I assume, that the facet is brightest, if the reflected light is parallel to the z-axis.

    The incoming light strikes the circle in one point P so, that the reflected light is parallel to the z-axis. This point P has a center angle 'beta'. The incoming light has an angle 'alpha'. Because of rule 'the angle of incidence equals the angle of reflection' you get the equation alpha=2*beta-90deg. (Angles measured clockwise against the positive part of the x-axis). The observer sees the brightest facet at position width/2+width/2*cos(beta) measured from the left edge of the 90deg rotated, extruded circle.

    Try a RTF light direction (40000, 0 , 30000) and look at the actual rendering. That looks like 'z-axis towards observer' for me. And that would be a left-hand coordinate system. Unfortunately the comment does not allow long explanation. May I sent you a document with explanations and illustrations and an RTF example?

    Regina Henschel