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

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(3,000 × 3,000 pixels, file size: 566 KB, MIME type: image/png)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

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.
Date
Source Own work
Author Watchduck

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following license:
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.

POV-Ray source[edit]

#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.3, 0.3, 0.3> ;
#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 } }



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

#declare AxisLen = 4;

#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, Transparency)
    #local Colors = array[3] {
        pigment{ color rgbt<1, 0, 0, Transparency> },
        pigment{ color rgbt<0, 0.35, 0, Transparency> },
        pigment{ color rgbt<0, 0, 1, Transparency> }
    };
    #local Color = Colors[AxisNum];
    texture { Color finish{phong 1} }
#end


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

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


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

#declare RawRotationIndicator = difference{
    merge{
        #for (Value, 0, .96, .001)
            sphere{
                3.8*x,                 // default place
                .16 - Value*.16        // decreasing radius
                rotate Value * 90 * z  // rotation
            }
        #end
    }
    plane{ y, 0  rotate 20*z }
    rotate -8.5*z
}
#declare Transparency = .8;
#declare RotationIndicatorsBlue = union{
    object{ RawRotationIndicator  Texture(2, 0) }
    object{ RawRotationIndicator  Texture(2, Transparency)  rotate 90*z }
    object{ RawRotationIndicator  Texture(2, Transparency)  rotate 180*z }
    object{ RawRotationIndicator  Texture(2, Transparency)  rotate 270*z }
}
#declare RotationIndicatorsGreen = union{
    object{ RawRotationIndicator  Texture(1, 0) }
    object{ RawRotationIndicator  Texture(1, Transparency)  rotate 90*z }
    object{ RawRotationIndicator  Texture(1, Transparency)  rotate 180*z }
    object{ RawRotationIndicator  Texture(1, Transparency)  rotate 270*z }
    rotate -90*x  rotate -90*y
}
#declare RotationIndicatorsRed = union{
    object{ RawRotationIndicator  Texture(0, 0) }
    object{ RawRotationIndicator  Texture(0, Transparency)  rotate 90*z }
    object{ RawRotationIndicator  Texture(0, Transparency)  rotate 180*z }
    object{ RawRotationIndicator  Texture(0, Transparency)  rotate 270*z }
    rotate 90*y  rotate 90*x
}
#declare RotationIndicators = union{
    object{RotationIndicatorsBlue}
    object{RotationIndicatorsGreen}
    object{RotationIndicatorsRed}
}


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

union{
    object{Axes}
    object{RotationIndicators}
}

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current20:26, 13 November 2021Thumbnail for version as of 20:26, 13 November 20213,000 × 3,000 (566 KB)Watchduck (talk | contribs)Uploaded own work with UploadWizard

Metadata