|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mike Horvath <mik### [at] gmailcom> wrote:
>
> I forgot that in my version of "screen.inc" I added a macro called
> "Get_Screen_XY" ...
Yeah, I was perplexed as to how the 'vanilla' version of screen.inc could do
that.
This looks interesting. Thanks for posting your modified version.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mike Horvath <mik### [at] gmailcom> wrote:
> I forgot that in my version of "screen.inc" I added a macro called
> "Get_Screen_XY" that takes any 3D scene coordinate as input and outputs
> the 2D screen coordinate, normalized between 0 and 1. This makes things
> super simple!
Hmmm. I recall that Screen.inc uses a -0.5 to +0.5 range.
Might you want to edit "Get_Screen_XY" to output THAT range, so that it would be
easy to align things on the screen with objects in the image,
and then rename the "Get_Screen_XY" to "Get_Image_XY" - since that might
disambiguate things a bit?
I suppose if you're ambitious enough - you could flip those macros around and
given a distance from the camera-right-up plane, you could return x,y,z
coordinates to place an object into the scene, so that it would line up with a
place on the screen or in the image.
> I just list whatever points I want to project, and then
> write the 2D locations to a text file.
Since the SVG is just a text file, and you can clearly follow the syntax - why
not just write the SVG header, output an SVG line definition, and add some
triangles or whatnot, and get your usable SVG straight from POV-Ray?
It would cut out a lot from the workflow.
Just a suggestion.
> I've attached "screen.inc" to this post.
Thank you :)
One thing that might be useful is to include some reminders and usage info for
output to the debug stream.
I often
#declare Verbose = true;
in my scene, and then any macros or parts of the scene where I want to get data
from check for that variable and then I get everything I want with just one
"switch".
I do the same thing with any weird command syntax that I use - I just output or
include in the comments a working line of code using that command.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 5/4/2017 12:44 PM, Bald Eagle wrote:
> Mike Horvath <mik### [at] gmailcom> wrote:
>
>> I forgot that in my version of "screen.inc" I added a macro called
>> "Get_Screen_XY" that takes any 3D scene coordinate as input and outputs
>> the 2D screen coordinate, normalized between 0 and 1. This makes things
>> super simple!
>
> Hmmm. I recall that Screen.inc uses a -0.5 to +0.5 range.
> Might you want to edit "Get_Screen_XY" to output THAT range, so that it would be
> easy to align things on the screen with objects in the image,
> and then rename the "Get_Screen_XY" to "Get_Image_XY" - since that might
> disambiguate things a bit?
>
I just checked the code again and realized the output is not normalized
to between 0 and 1. Instead, it outputs a fraction of whatever
image_width and image_height are. Switching back to -0.5 to +0.5 should
be easy.
> I suppose if you're ambitious enough - you could flip those macros around and
> given a distance from the camera-right-up plane, you could return x,y,z
> coordinates to place an object into the scene, so that it would line up with a
> place on the screen or in the image.
>
I can't really remember the details of how the code works. It's been so
long since I looked at this code. If you want to take a crack at it, go
ahead.
>> I just list whatever points I want to project, and then
>> write the 2D locations to a text file.
>
> Since the SVG is just a text file, and you can clearly follow the syntax - why
> not just write the SVG header, output an SVG line definition, and add some
> triangles or whatnot, and get your usable SVG straight from POV-Ray?
> It would cut out a lot from the workflow.
> Just a suggestion.
>
I would have to rewrite this code for every scene I create. What if I
want to change the colors? What if I want to add some text? Angle or
distance measurements? Buttons and check boxes? This all means extra
work compared to GeoGebra, which is WYSIWYG.
>> I've attached "screen.inc" to this post.
>
> Thank you :)
>
> One thing that might be useful is to include some reminders and usage info for
> output to the debug stream.
> I often
> #declare Verbose = true;
> in my scene, and then any macros or parts of the scene where I want to get data
> from check for that variable and then I get everything I want with just one
> "switch".
>
> I do the same thing with any weird command syntax that I use - I just output or
> include in the comments a working line of code using that command.
>
I don't think I modified the debug text from the original. This is all I
could find:
#ifdef(View_POV_Include_Stack) #debug "including screen.inc\n" #end
Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 5/4/2017 12:44 PM, Bald Eagle wrote:
> I suppose if you're ambitious enough - you could flip those macros around and
> given a distance from the camera-right-up plane, you could return x,y,z
> coordinates to place an object into the scene, so that it would line up with a
> place on the screen or in the image.
>
I checked the code once again, an it may be already possible to do this
by adjusting the "Scaling" parameter of the "Screen_Object" and
"Screen_Plane" macros. I might be wrong though.
Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Update in the attachment.
Mike
Post a reply to this message
Attachments:
Download 'wp_graphical_projection_examples_20170505.zip' (313 KB)
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Bald Eagle" <cre### [at] netscapenet> wrote:
>
> One thing that might be useful is to include some reminders and usage info for
> output to the debug stream.
> I often
> #declare Verbose = true;
> in my scene, and then any macros or parts of the scene where I want to get data
> from check for that variable and then I get everything I want with just one
> "switch".
>
> I do the same thing with any weird command syntax that I use - I just output or
> include in the comments a working line of code using that command.
That's a new trick to me; I thought Verbose was only for
use in an .ini file (I'm running Windows.) Could you explain how you use it or
how you make it work? I tried simply sticking #declare Verbose=on in the
middle of a scene file, but didn't see anything different(?) in the message
stream after the render. I'm *obviously* not 'getting it'... :-( Is it used in
conjunction with #debug somehow? Do other .ini parameters need changing too?
Thanks. This looks to be quite useful!
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Kenneth" <kdw### [at] gmailcom> wrote:
> That's a new trick to me; I thought Verbose was only for
> use in an .ini file (I'm running Windows.)
Ha! And there's something _I_ was unaware of. :O
> Could you explain how you use it or
> how you make it work? I tried simply sticking #declare Verbose=on in the
> middle of a scene file, but didn't see anything different(?) in the message
> stream after the render. I'm *obviously* not 'getting it'... :-( Is it used in
> conjunction with #debug somehow? Do other .ini parameters need changing too?
>
> Thanks. This looks to be quite useful!
It's not an internal POV-Ray thing - I write it into the macro or SDL myself.
If I have a complicated scene, there may be a lot of
#if (Verbose)
#debug blah blah blah value1 value2 vectorA, etc
#end // end if Verbose
sprinkled throughout the scene,
and if I write a macro, I'll spit out messages that it's been included, that
it's just gotten invoked, what variables it's working with, what their values
are, a help/man-page style usage example, end when the macro exits.
It's just a better and "more convenient" way for me to get documentation and see
what's going on without having to track down a separate ini or mcr file or open
a help page or search through the code to see what the heck I mis-coded (again)
THIS time.
Sorry for the confusion
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Bald Eagle" <cre### [at] netscapenet> wrote:
>
> It's not an internal POV-Ray thing - I write it into the macro or SDL myself.
>
> If I have a complicated scene, there may be a lot of
> #if (Verbose)
> #debug blah blah blah value1 value2 vectorA, etc
> #end // end if Verbose
>
> sprinkled throughout the scene,
>
(***laughing out loud***)
OH, so *that's* what it means!! Thanks for clarifying. I haven't been so
thoroughly confused since I tried to understand the true nature of gravity. :-P
It just so happens that, right before I saw your post, I had been working with
POV-Ray's own "Verbose" command. So I naturally assumed... uh...
Had a good laugh over that one. :-)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Sorry for the delay - it's been a positively tumultuous week or two, and I
have to juggle files back and forth on a USB stick...
Here's a short scene that writes SVG objects directly to file.
Post a reply to this message
Attachments:
Download 'make_svg.pov.txt' (13 KB)
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Another update.
Mike
Post a reply to this message
Attachments:
Download 'wp_graphical_projection_examples_20170514.zip' (358 KB)
|
|
| |
| |
|
|
|
|
| |