[x3d-public] OrthoViewpoint fieldOfView

Andreas Plesch andreasplesch at gmail.com
Fri May 4 13:57:17 PDT 2018


There was a user question on how to use the fieldOfView field for
OrthoViewpoint:

http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#OrthoViewpoint

The description in the paragraph is hard to follow since it does not
explicitly name the four components of the MFFloat field. If we name
the four components minx, miny, maxx, maxy in that order, then my best
guess is that:

minx: left x away from center of current view
miny: bottom y away from center of view
maxx: right x away from center of view
maxy: top y away from center of view

The "minimum and maximum extents" in the spec. then refer to corners
defined by these coordinates. These should be comfortably visible in
the viewport.

Then there is this correspondence:

display width    (maximum_x - minimum_x)
-------------- = -----------------------
display height   (maximum_y - minimum_y)

I think it is intended as an implementation note to suggest the
maximum/minimum_x/y need to be recomputed by the browser to fit the
display aspect ratio before being used in a projection matrix but I am
not sure. I may also be a warning that the fieldOfView parameters need
to have the same aspect ratio than the viewport which, however, is
typically not known to the scene author in advance. Overall, the note
may be more confusing than helpful.

There is also the question why the four corners should be provided and
not just a width and height, eg. two parameters, more similar to the
perspective field of view. In theory, providing the four corners
allows for an asymmetric projection, eg. an additional shift away from
the center. Since the center is also the center of rotation of examine
mode, this option seems exotic and not very useful. In fact, x3dom
seems to override any asymmetry and just uses the width and height
(deltas) with 0 offset. It looks x_ite allows that, on the other hand,
although I did not test. There was perhaps some additional
consideration when the field was introduced ? Does anybody recall ?

Finally, the default value of "-1, -1, 1, 1" seems to suggest some
fractional coordinates, following the idea of an angular field of view
for a perspective, although I am pretty sure that they are in units of
local coordinates (as stated). The default then only works for scenes
of about that 2x2x2 size, I suspect. On the other hand the default
viewpoint is 10m away from the origin, so perhaps a -10,-10,10,10
default would be more consistent with the default viewpoint position.
Since users may be surprised if the default does not work for their
100x100x100 or very small scene, a tool tip note may be appropriate,
if that is indeed the case.

Any confirmation or clarification much appreciated,

-Andreas


-- 
Andreas Plesch
Waltham, MA 02453



More information about the x3d-public mailing list