laziness, impatience, and hubris | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Ok first I want to apoligize for my previous post ... the formulas are fscked up. Rather than try to fix them for the general case Ill give you a simple version that will work for your specific case.
for each point R,G,B contained in (0,1)x(0,1)x(0,1): X=(R-0.5)/(B+1)*IMAGE_WIDTH + IMAGE_WIDTH/2 Y=(G-0.5)/(B+1)*IMAGE_HEIGHT + IMAGE_HEIGHT/2You can change the 1 to 'dolly' the camera back and forth. Just swap the variables to view along a different color axis. To view not along a color axis you need to rotate the points before hand. eg R'= R*cos(theta)+G*sin(theta) G'=-R*sin(theta)+G*cos(theta) B'= Bto rotate about the B axis R'= R G'= G*cos(theta)+B*sin(theta) B'=-G*sin(theta)+B*cos(theta)to rotate about the R axis, and R'=R*cos(theta)-B*sin(theta) G'=G B'=R*sin(theta)+B*cos(theta)to rotate about the G axis Geez I can't get anything right...maybe this really isnt as simple as I said :). The formulas should now map the entire RGB space into the image ... if you rotate the space then the corners will not be visible ... fix this by increasing the value added to the denomiator. In reply to Re: Re: Re: 3D Point Plotting
by Merlin42
|
|