Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Donnerstag, 17. Mai 2018, 22:46

Droplet Cylindrical vlookatmax Calculation

In porting a Flash based (non-KRPano) interactive pano solution to a HTML5 KRPano solution I've run across an issue when calculating the vlookatmax. The previous and custom Flash based solution works as expected. In porting this custom Flash version to HTML5 while using KRPano, the vlookatmax calculation (informed by http://wiki.panotools.org/Field_of_View) is:

Quellcode

1
vlookatmax = 2 * (Math.atan(Math.tan(hfov/2) * (height/width)) * (180/Math.PI))


This calculation works but often clips some of the panos (of which there are tons) prematurely when using limitview="range". When I take a sample pano and run it through the MAKE PANO (NORMAL) droplet the value works when applied manually to the KRPano XML. The problem is I need to use a formula (like the one above) to calculate the correct vlookatmax dynamically as we can't run them all through the droplet.

My questions are:
  1. Does anything standout with the formula above? It doesn't result in the same value (though close) that the manual droplet process evaluates to?
  2. Is there any way @klaus.krpano that you could share the droplet code that calculates just the vlookatmax value? That would be extremely helpful I'm sure. If not, is there anything anyone can share that would lead me down the path of finding the correct solution?

FWIW - Using version krpano-1.19-pr12

Thank you in advance for any help.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dak« (18. Mai 2018, 18:26)


2

Freitag, 18. Mai 2018, 21:28

For future reference the calc from Cartesian to cylindrical is θ = arctan (y/x).

As such the full calc is:

Quellcode

1
x = width / (2*Math.PI);y = height/2;maxPitch = Math.atan(y/x) * (180/Math.PI);minPitch = -maxPitch;

where width and height are the original pano image dimensions (x is the radius).