File:Left-handed coordinate system (z to back).png

Uploaded by Watchduck
Upload date 2017-04-19T13:22:58Z
MIME type image/png
Dimensions 3000 × 3000 px
File size 144.3 KB

Summary

Description

left-handed coordinate system

Image set Handedness of coordinate systems; RGB Povray

3D coordinate systems can have two different orientations.
The circular arrows indicate positive rotation.

left right
 This image was created with POV-Ray.


This is the default coordinate system in the raytracing program POV-Ray, which was used to create this file.
Cinema 4D also uses a left-hand coordinate system, and the axes have these colors.

Source Own work
Author
Watchduck
You can name the author as "T. Piesk", "Tilman Piesk" or "Watchduck".
Other versions
right-handed

Licensing

I, the copyright holder of this work, hereby publish it under the following licenses:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
You may select the license of your choice.

POV-Ray source

#version 3.6;
global_settings { assumed_gamma 1.0 } 
#default{ finish{ ambient 0.1 diffuse 0.9 conserve_energy}}

#include "colors.inc"


////////////////////// camera and light

#declare Camera_Position = <3  3, -12>;                                                           
#declare Camera_Look_At = <0.75, 0.75, 0.5> ;
#declare Camera_Angle = 42.5 ;

camera{ 
  location Camera_Position
  right    x*image_width/image_height
  angle    Camera_Angle
  look_at  Camera_Look_At
}

light_source{<1200,2500,-2000> color White*0.9 shadowless}
light_source{ Camera_Position  color rgb<0.9,0.9,1>*0.1 shadowless}

sky_sphere{ pigment{ White } }



#macro CoordinateAxes(AxisLen, RGBStyle)



    ////////////////////// axes

    #macro Axis_(AxisLen, Texture1, Texture2)
      union{
        cylinder { <0,-AxisLen,0>, <0,AxisLen,0>, 0.05
          texture{checker texture{Texture1}
            texture{Texture2}
            translate<0.1, 0, 0.1>
          }
        }
        cone{<0,AxisLen,0>,0.2,<0,AxisLen+0.7,0>,0
        texture{Texture1}
        }
      }
    #end

    #macro Texture(AxisNum)
        #local Colors = array[3] {
            pigment{ color Red },
            pigment{ color rgb<0, 0.35, 0> },
            pigment{ color Blue },
        };
        #if(RGBStyle)
            #local Color = Colors[AxisNum];
        #else
            #local Color = pigment{ color rgb .05 };
        #end
        texture {
          Color
          finish { phong 1}
        }
    #end


    #declare TextureLight = texture {
      pigment{ color White }
      finish { phong 1}
    }

    #declare Axes = union{
      object { 
        Axis_(AxisLen, Texture(0), TextureLight)
        rotate< 0,0,-90>
      }
      object {
        Axis_(AxisLen, Texture(1), TextureLight)
      }
      object {
        Axis_(AxisLen, Texture(2), TextureLight)
        rotate<90,0,  0>
      }
    }


    ////////////////////// indicators of direction of rotation

    #declare Torus = torus {5, 0.5}
    #declare CutBox = box{ 
      <-10, -10, -10>, <10, 10, 10>
      translate 10*z
    }

    #declare Cone = cone{
      <-5, 0, 0>, 1.3
      <-5, 0, 3>, 0
    }

    #declare TorusSegment = difference{
      object{Torus}
      object{CutBox}
    }
    #declare TorusSegment2 = object{
      object{TorusSegment}
      rotate -50*y  // ring length
    }
    #declare TorusSegment = union{
      object{TorusSegment}
      object{TorusSegment2}
    }

    #declare ArrowY = union{
      object{TorusSegment}
      object{Cone}
      scale 0.1
      translate (AxisLen+1)*y
      rotate -70*y  // ring rotation
    }
    #declare ArrowX = object{
      object{ArrowY}
      rotate -90*z
    }
    #declare ArrowZ = object{
      object{ArrowX}
      rotate -90*y
    }

    #declare RotationIndicators = union{
      object{
        ArrowY
        Texture(1)
      }
      object{
        ArrowX
        Texture(0)
      }
      object{
        ArrowZ
        Texture(2)
      }
    }


    ////////////////////// text

    #declare Text = union{
        text { ttf "arial.ttf",  "x",  0.15,  0  Texture(0)
          scale 0.7
          translate <AxisLen+0.15, -0.8, 0> 
        }
        text { 
          ttf "arial.ttf",  "y",  0.15,  0  Texture(1)
          scale 0.7
          translate <-0.8, AxisLen+0.15, 0> 
        }
        text { ttf "arial.ttf",  "z",  0.15,  0  Texture(2)
          scale 0.9
          translate <0.9, -0.5, AxisLen+0.15> 
        }
    }


    ////////////////////// put objects

    union{
        object{Axes}
        object{RotationIndicators}
        object{Text}
    }



#end



////////////////////// use macro

CoordinateAxes(4, true)

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

image/png

147,782 byte

3,000 pixel

3,000 pixel

67c2b6369ee5f3a4ac9f43a4b43179911c6e265f