{"id":1094,"date":"2023-10-24T10:28:50","date_gmt":"2023-10-24T10:28:50","guid":{"rendered":"https:\/\/uneedtalk.com\/config\/tredword\/?page_id=1094"},"modified":"2023-12-01T13:14:32","modified_gmt":"2023-12-01T13:14:32","slug":"a-fibonacci-hemisphere","status":"publish","type":"page","link":"https:\/\/radi-cal.org\/method\/a-fibonacci-hemisphere\/","title":{"rendered":"A Fibonacci hemisphere"},"content":{"rendered":"<div class=\"row\"  id=\"row-1645231965\">\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\" style=\"padding:0 0px 0px 0px;margin:0px 0px -26px 0px;\" >\n<h1>5.3. A Fibonacci hemisphere<\/h1>\n<h2>5.3.1. Background and theory<\/h2>\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner\" style=\"margin:12px 0px 0px 0px;\" >\n<p>In the method presented here, the scattering or absorption behaviour of the analysed system is not provided in a discrete form (like the Klems matrix) but in a functional form. However, in order to derive this functional form (SIOP, see section 6.1) it is necessary to provide discrete measurement samples of the target quantity for different incidence directions on the hemisphere. The most suitable distribution of incidence directions for the intended technical application should cover the hemisphere with equal spacing. A regular angular pattern, as provided by the Klems segmentation, does not seem ideal for that purpose. The reason for that is threefold: first, the two-axis symmetry (vertical\/horizontal) of the angular Klems pattern will often lead to an inefficient sampling of<\/p>\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_69494091\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"421\" height=\"423\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a16-6.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a16-6.jpg 421w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a16-6-280x280.jpg 280w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a16-6-398x400.jpg 398w\" sizes=\"(max-width: 421px) 100vw, 421px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_69494091 {\n  width: 100%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\"  >\n<p>redundant information, as the analysed object (e.g. shaded window), will often also show symmetryin the vertical and\/or horizontal axis. In the case of a rotationally symmetric behaviour (e.g. ofunshaded glazings or textile screens), the full Klems matrix can be derived from only nine incidencedirections. Second, the regular spacing of the two angles is more prone to sampling issues, e.g.aliasing, since the analysed applications, like a window shaded by tilted Venetian blinds, will alsoshow a pronounced regular angular pattern. Sampling this angularly equally spaced pattern at a fewequally-spaced detection angles can easily lead to aliasing effects if these patterns are correlated.Finally, the angular resolution of the Klems matrix decreases for higher incidence angles \ud835\udf03 and istherefore less able to capture gradients of shadings or reflectivity increases that are dominant atthese angles (see below). <br \/>\nFollowing these arguments, it seems more appropriate to distribute the sampling directions evenlyon the hemisphere with little symmetry regarding its angular distribution. Providing an even distribution of directions (points) on a sphere is a theoretical topic with a long history and high relevancein various scientific disciplines.<br \/>\nVarious approaches are available for that purpose, like the icosahedron algorithm and numerousmethods based on numerical optimisation. Considering all requirements stated above, the Fibonaccisphere method seems to provide the ideal distribution of directions here:<\/p>\n<ul>\n<li>a) it provides an almost perfect evenly spaced distribution on the sphere (hemisphere)<\/li>\n<li>b) it shows little symmetry regarding the vertical or horizontal axis<\/li>\n<li>c) it can be generated for any desired number of sampling directions N<\/li>\n<li>d) it is a direct and fast method (as it is not based on optimisation)<\/li>\n<\/ul>\n<p>The angular or spatial patterns that are based on Fibonacci distributions are frequently found in nature, for example, the arrangement of seeds (e.g. sunflowers) or leaves (e.g. aloe plants). The frequent occurrence in nature is generally a good indication regarding the efficiency and optimality of the distribution. <\/p>\n<h2>5.3.1.1. The Fibonacci sphere algorithm<\/h2>\n<p>In order to derive a Fibonacci sphere, firstly, a Fibonacci lattice on the unit square is considered. The coordinates for the corresponding vertices \ud835\udc5d\ud835\udc56 can be written as (Marques et al., 2013):<\/p>\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_1648205088\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"213\" height=\"94\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a17-6.jpg\" class=\"attachment-large size-large\" alt=\"\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_1648205088 {\n  width: 52%;\n}\n<\/style>\n\t<\/div>\n\t\n<p>Where \ud835\udc39\ud835\udc5a and \ud835\udc39\ud835\udc5a\u22121 are the elements of the Fibonacci number series, and % stands for the modulo operator. Using a Lambert cylindrical equal-area projection, the pattern can be mapped on a sphere. Additionally, the ratio \ud835\udc39\ud835\udc5a \ud835\udc39\ud835\udc5a\u22121 is substituted with the golden ratio \ud835\udef7 = 1 2 \u2044 (1 + \u221a5), as the ratio of consecutive Fibonacci numbers quickly converges to this ratio for higher \ud835\udc5a values (Graham et al., 1994). Consequently, the vertices for a Fibonacci sphere with \ud835\udc41 = \ud835\udc39\ud835\udc5a elements can be expressed in polar coordinates as<\/p>\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_421409351\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"392\" height=\"461\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a18-6.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a18-6.jpg 392w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a18-6-340x400.jpg 340w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_421409351 {\n  width: 79%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_1521276466\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"372\" height=\"72\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a19-5.jpg\" class=\"attachment-large size-large\" alt=\"\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_1521276466 {\n  width: 41%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\"  >\n<h3>5.3.1.2. A (slightly) optimised Fibonacci hemisphere<\/h3>\n<p>This canonical Fibonacci distribution can be optimised by inserting an offset \u03b5 at the beginning and the end of its vertical distribution (94). Further, the distribution is shifted in a way that it is symmetrical in its z coordinates, as the original distribution has its top vertex slightly offset (\ud835\udc67 = 2\/\ud835\udc41) and its bottom vertex at the bottom pole (\ud835\udc67 = \u22121). Hence, the z coodinates of the \ud835\udc41 points, that are initially equally spaced within the interval [\u22121, 1 \u2212 2\/\ud835\udc41], are now mapped onto the interval [\u22121 + \ud835\udf00, 1 \u2212 \ud835\udf00]. The distribution of the directions in polar coordinates can then be written as:<\/p>\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_1936713980\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"85\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a20-5.jpg\" class=\"attachment-large size-large\" alt=\"\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_1936713980 {\n  width: 75%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\"  >\n<p>In Figure 72, it can be seen how the first vertex is offset from the pole along the helix formed by the vertices. The vertical distance of this offset is defined by the parameter \ud835\udf00. The parameter \ud835\udf00 can now be used to \u201cfine-tune\u201d the distribution of the directions. Deviating from the proposal made by Roberts (2020), a constant value \ud835\udf000 for all \ud835\udc41 values is sought here. This shall, on the one hand allow simple replicability of the distribution and on the other hand the value of \ud835\udf00 converges quickly for &#8211; the here relevant &#8211; higher \ud835\udc41 values anyway. The maximization of the average minimum distance \ud835\udefc\u0305 of all vertices has been chosen as the criterion for the optimisation process:<\/p>\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_1229216068\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"272\" height=\"66\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a21-3.jpg\" class=\"attachment-large size-large\" alt=\"\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_1229216068 {\n  width: 30%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner\"  >\n<p>with \ud835\udefc\ud835\udc56 being the minimum angle between the vertex \ud835\udc56 and its closest neighbour. Additionally, since &#8211; for the application intended here &#8211; only the hemisphere is considered, a new constant \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 is introduced. \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 represents the number of Fibonacci vertices that are provided for the (upper) hemisphere. However, \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 does not need to be identical with the half of the \ud835\udc41. Rather, for any desired \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56, \ud835\udc41 is determined in a way that precisely \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 vertices of the upper hemisphere are located above a certain threshold \u03be. This threshold value is introduced to avoid grazing incidence angles, i.e. almost parallel directions. These grazing directions can be detrimental, as they can increase the calculation time\u00a0<\/p>\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_555971945\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"455\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a22-4.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a22-4.jpg 509w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a22-4-447x400.jpg 447w\" sizes=\"(max-width: 509px) 100vw, 509px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_555971945 {\n  width: 100%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\" style=\"margin:-29px 0px 0px 0px;\" >\n<p>or lead to numerical issues. The height threshold value, which applies to the cosine of \ud835\udf03 (=z-coordinate), has been defined as \u03be = 0.001.<br \/>\nIn the optimisation process, the optimal values for \ud835\udf00 according to equation (96) for hemispheres with an increasing number of directions \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 (up to 10,000) were analysed. The results of the optimisation process are depicted in Figure 73. It can be seen that while there are different solutions for smaller \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 distributions, the value of \ud835\udf00 converges for higher numbers. Therefore, a constant value of \ud835\udf000 = 0.3613 is defined and universally applied in the following.<br \/>\n. Figure 74 and Figure 75 show the angular segmentation of the hemisphere according to the classical Klems approach and the implemented Fibonacci approach as polar plots and 3D representations. As can be seen, the Klems matrix shows high symmetry in multiple axes as well as angular correlations. Both features are not ideal for the RadiCal approach. By contrast, the Fibonacci segmentation shows no axial symmetries and little correlation. It can also be seen that due to the actual implementation, the first Fibonacci patch is slightly offset from the pole, which is intended.<\/p>\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_792118578\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"964\" height=\"431\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a1-8.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a1-8.jpg 964w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a1-8-800x358.jpg 800w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a1-8-768x343.jpg 768w\" sizes=\"(max-width: 964px) 100vw, 964px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_792118578 {\n  width: 90%;\n}\n<\/style>\n\t<\/div>\n\t\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_37481532\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"947\" height=\"357\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a2-10.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a2-10.jpg 947w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a2-10-800x302.jpg 800w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a2-10-768x290.jpg 768w\" sizes=\"(max-width: 947px) 100vw, 947px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_37481532 {\n  width: 90%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner\"  >\n<h2>5.3.1.3. Analysis of distributions<\/h2>\n<p>In order to analyse the quality of the angular distributions, the corresponding solid angles are analyzed. For the Klems segmentation, these are explicitly provided in its definition, while for the Fibonacci hemisphere, they are computed based on a proximity criterion. The solid angles of the Klems distribution show a significant variation due to the regular segmentation in \ud835\udf03. The solid angles of the angular patches increase with the incidence angle \ud835\udf03. This was obviously a design choice of Klems, as the relevance of these directions<\/p>\n<\/div><\/div>\n<div class=\"col medium-6 small-12 large-6\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_737446520\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"421\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a3-8.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a3-8.jpg 531w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a3-8-505x400.jpg 505w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_737446520 {\n  width: 96%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\" style=\"margin:-34px 0px 0px 0px;\" >\n<p>will, for many applications, usually decrease proportionally with \ud835\udc50\ud835\udc5c\ud835\udc60(\ud835\udf03). On the other hand, it can be argued that higher gradients of the represented functions (such as the transmission of the window) can be expected mainly for these higher incidence angles. For example, the area shaded by protruding parts or the reveal will increase proportionally to \ud835\udc61\ud835\udc4e\ud835\udc5b(\ud835\udf03). Hence, correctly capturing this characteristic requires higher sampling resolution for higher incidence angles. Considering both arguments, sampling with equally spaced directions, as provided by the Fibonacci hemisphere, seems to be the most appropriate approach. Figure 76 shows a comparison of the solid angles that correspond to the angular patches provided by three different distributions. It can be seen that the patches of the Klems distribution for the highest incidence angles (>75\u00b0) are approximately six times larger than the ones near normal incidence (0\u00b0). In contrast, the Fibonacci distributions provide almost perfect equally-spaced directions for most incidence angles. Only in regions near grazing incidence (close to 90\u00b0) a fluctuation of the patch sizes is apparent. The reason for this is the clipping effect by the surface plane and the threshold height criterion.<\/p>\n<h2>5.3.2. Implementation<\/h2>\n<p>In the implementation, all algorithms relevant for setting up and evaluating the Fibonacci hemisphere are contained in the class TFibonacciHemiSphere of the library rc_fibonacci_sphere.<\/p>\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_263712685\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"931\" height=\"634\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a5-9.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a5-9.jpg 931w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a5-9-587x400.jpg 587w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a5-9-768x523.jpg 768w\" sizes=\"(max-width: 931px) 100vw, 931px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_263712685 {\n  width: 88%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\"  >\n<p>The angular and vector-based data is precomputed to increase performance. The precalculation can either be performed directly by calling the procedure setupHemi or indirectly by calling getFiboHemisphereAngles or getFiboHemisphereAngles for the first time, as they will, in turn, call the setup procedure.<br \/>\nThe actual and remarkably simple Fibonacci algorithm is contained in the setup procedure. It is presented in full here:<\/p>\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner text-center\"  >\n\t<div class=\"img has-hover x md-x lg-x y md-y lg-y\" id=\"image_906143914\">\n\t\t\t\t\t\t\t\t<div class=\"img-inner dark\" >\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"927\" height=\"637\" src=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a6-8.jpg\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a6-8.jpg 927w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a6-8-582x400.jpg 582w, https:\/\/radi-cal.org\/method\/wp-content\/uploads\/2023\/10\/a6-8-768x528.jpg 768w\" sizes=\"(max-width: 927px) 100vw, 927px\" \/>\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n<style scope=\"scope\">\n\n#image_906143914 {\n  width: 88%;\n}\n<\/style>\n\t<\/div>\n\t\n<\/div><\/div>\n<div class=\"col small-12 large-12\"  ><div class=\"col-inner\"  >\n<p>In the first part of the setup procedure, the correct value for the number of directions on the entire Fibonacci sphere \ud835\udc41 is determined. \ud835\udc41 is determined in a way that ensures that precisely the desired \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 are located above the height threshold. Afterwards, the angles and vectors that define the \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 directions are precomputed based on equation (95) and stored in the corresponding arrays.<\/p>\n<h2>5.3.3. Testing and validation<\/h2>\n<p>During the implementation of the algorithm and, in particular, during the optimisation of the parameter \ud835\udf000 several tests and validations of the algorithm were performed. The distribution of solid angles and angles among the directions were computed and analysed for many different \ud835\udc41\u210e\ud835\udc52\ud835\udc5a\ud835\udc56 values. Beyond that, the visual representations, as depicted in Figure 74 and Figure 75, are a reliable indicator for the validity of the implemented code.<\/p>\n<\/div><\/div>\n<\/div>\n<style>\n#menu-main li:nth-child(5) .sub-menu{display:block !important;}\n<\/style>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-right-sidebar.php","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/pages\/1094"}],"collection":[{"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/comments?post=1094"}],"version-history":[{"count":34,"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/pages\/1094\/revisions"}],"predecessor-version":[{"id":1971,"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/pages\/1094\/revisions\/1971"}],"wp:attachment":[{"href":"https:\/\/radi-cal.org\/method\/wp-json\/wp\/v2\/media?parent=1094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}