File:Left-handed coordinate system (z to back) whirl.png
| Uploaded by | Watchduck |
|---|---|
| Upload date | 2021-11-13T20:26:57Z |
| MIME type | image/png |
| Dimensions | 3000 × 3000 px |
| File size | 566.3 KB |
Summary
| Description |
left-handed coordinate system
|
||||||||||||||||||
| Date | |||||||||||||||||||
| Source | Own work | ||||||||||||||||||
| Author | Watchduck | ||||||||||||||||||
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
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
#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}
}