jsxgraph 1.14.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +33 -3
  2. package/distrib/docs/3d_linspace3d.js.html +16 -10
  3. package/distrib/docs/3d_point3d.js.html +0 -5
  4. package/distrib/docs/3d_sphere3d.js.html +92 -69
  5. package/distrib/docs/3d_view3d.js.html +24 -16
  6. package/distrib/docs/Angle.html +7 -7
  7. package/distrib/docs/CircumcircleSector.html +2 -2
  8. package/distrib/docs/Conic.html +1 -1
  9. package/distrib/docs/Ellipse.html +23 -1
  10. package/distrib/docs/Hyperbola.html +24 -1
  11. package/distrib/docs/JXG.Board.infobox.html +1 -1
  12. package/distrib/docs/JXG.Board_.html +130 -130
  13. package/distrib/docs/JXG.CanvasRenderer.html +10 -10
  14. package/distrib/docs/JXG.Composition.html +3 -3
  15. package/distrib/docs/JXG.GeometryElement.html +26 -26
  16. package/distrib/docs/JXG.Math.Numerics.html +45 -47
  17. package/distrib/docs/JXG.Math.Statistics.html +14 -15
  18. package/distrib/docs/JXG.Math.Tiling.html +3 -7
  19. package/distrib/docs/JXG.Math.html +101 -83
  20. package/distrib/docs/JXG.Point3D.html +2 -2
  21. package/distrib/docs/JXG.SVGRenderer.html +12 -12
  22. package/distrib/docs/JXG.Sphere3D.html +1255 -2
  23. package/distrib/docs/JXG.View3D.html +29 -29
  24. package/distrib/docs/JXG.html +20 -20
  25. package/distrib/docs/MajorSector.html +1 -1
  26. package/distrib/docs/MinorSector.html +1 -1
  27. package/distrib/docs/NonReflexAngle.html +1 -1
  28. package/distrib/docs/Parabola.html +1 -1
  29. package/distrib/docs/Point3D.html +1 -1
  30. package/distrib/docs/ReflexAngle.html +1 -1
  31. package/distrib/docs/Sector.html +12 -12
  32. package/distrib/docs/Sphere3D.html +17 -1
  33. package/distrib/docs/View3D.html +1 -1
  34. package/distrib/docs/base_board.js.html +63 -13
  35. package/distrib/docs/base_composition.js.html +3 -3
  36. package/distrib/docs/base_constants.js.html +1 -1
  37. package/distrib/docs/base_element.js.html +2 -1
  38. package/distrib/docs/base_text.js.html +2 -2
  39. package/distrib/docs/element_conic.js.html +35 -1
  40. package/distrib/docs/element_sector.js.html +6 -3
  41. package/distrib/docs/index.html +1 -1
  42. package/distrib/docs/math_math.js.html +64 -35
  43. package/distrib/docs/math_numerics.js.html +13 -12
  44. package/distrib/docs/math_statistics.js.html +19 -19
  45. package/distrib/docs/math_tiling.js.html +6 -288
  46. package/distrib/docs/parser_jessiecode.js.html +1 -1
  47. package/distrib/docs/renderer_canvas.js.html +7 -6
  48. package/distrib/docs/renderer_svg.js.html +15 -7
  49. package/distrib/docs/scripts/jsxgraphcore.js +2 -2
  50. package/distrib/docs/styles/jsxgraph.css +1 -1
  51. package/distrib/docs/utils_type.js.html +11 -4
  52. package/distrib/geogebra.min.js +1 -1
  53. package/distrib/geonext.min.js +1 -1
  54. package/distrib/index.d.ts +11 -0
  55. package/distrib/intergeo.min.js +1 -1
  56. package/distrib/jsxgraph.css +1 -1
  57. package/distrib/jsxgraphcore.js +2 -2
  58. package/distrib/jsxgraphcore.mjs +2 -2
  59. package/distrib/jsxgraphcore.mjs.map +1 -1
  60. package/distrib/jsxgraphsrc.js +380 -496
  61. package/distrib/jsxgraphsrc.mjs +380 -496
  62. package/distrib/jsxgraphsrc.mjs.map +1 -1
  63. package/package.json +10 -12
  64. package/src/3d/linspace3d.js +16 -10
  65. package/src/3d/point3d.js +0 -5
  66. package/src/3d/sphere3d.js +92 -69
  67. package/src/3d/view3d.js +24 -16
  68. package/src/base/board.js +63 -13
  69. package/src/base/composition.js +3 -3
  70. package/src/base/constants.js +1 -1
  71. package/src/base/element.js +2 -1
  72. package/src/base/text.js +2 -2
  73. package/src/element/conic.js +35 -1
  74. package/src/element/sector.js +6 -3
  75. package/src/index.d.ts +11 -0
  76. package/src/math/math.js +64 -35
  77. package/src/math/numerics.js +13 -12
  78. package/src/math/statistics.js +19 -19
  79. package/src/math/tiling.js +6 -288
  80. package/src/parser/jessiecode.js +1 -1
  81. package/src/renderer/canvas.js +7 -6
  82. package/src/renderer/svg.js +15 -7
  83. package/src/utils/type.js +11 -4
  84. package/src/unused/bst.js +0 -475
  85. package/src/unused/heap.js +0 -135
  86. package/src/unused/locus.js +0 -162
  87. package/src/unused/server/JXG.py +0 -74
  88. package/src/unused/server/JXGServer.py +0 -94
  89. package/src/unused/server/JXGServerModule.py +0 -9
  90. package/src/unused/server/README.md +0 -63
  91. package/src/unused/server/RStats.py +0 -45
  92. package/src/unused/server/YahooFinance.py +0 -81
  93. package/src/unused/server/fft.py +0 -136
  94. package/src/unused/server/geoloci.py +0 -210
  95. package/src/unused/server/jxggroebner.py +0 -219
  96. package/src/unused/server/jxgtestplugin.py +0 -19
  97. package/src/unused/server/server.js +0 -280
  98. package/src/unused/sketch.js +0 -2895
  99. package/src/unused/symbolic.js +0 -416
@@ -329,6 +329,36 @@ type <a href="Sphere3D.html">Sphere3D</a> instead.</p></div>
329
329
 
330
330
  <p class="summary">The type of projection (<code>'parallel'</code> or <code>'central'</code>) that the sphere is currently drawn in.</p>
331
331
 
332
+ </dd>
333
+ --></p>
334
+
335
+ <p class="columntext">
336
+
337
+ <a href="#range_u">range_u</a>
338
+
339
+ <!--
340
+ <dt id="range_u_short">
341
+ <a href="#range_u">range_u</a>
342
+ </dt>
343
+ <dd>
344
+
345
+ <p class="summary">The parameter range of <code>u</code></p>.</p>
346
+
347
+ </dd>
348
+ --></p>
349
+
350
+ <p class="columntext">
351
+
352
+ <a href="#range_v">range_v</a>
353
+
354
+ <!--
355
+ <dt id="range_v_short">
356
+ <a href="#range_v">range_v</a>
357
+ </dt>
358
+ <dd>
359
+
360
+ <p class="summary">The parameter range of <code>v</code></p>.</p>
361
+
332
362
  </dd>
333
363
  --></p>
334
364
 
@@ -776,6 +806,144 @@ Can be:</p>
776
806
 
777
807
 
778
808
 
809
+
810
+ <h4 class="name" id="range_u"><span class="type-signature"></span>range_u<span class="type-signature"> : Array</span></h4>
811
+
812
+
813
+
814
+
815
+
816
+ <dl class="details">
817
+
818
+ <dt class="tag-description">Description</dt>
819
+ <dd class="tag-description"><p>The parameter range of <code>u</code></p></dd>
820
+
821
+
822
+
823
+ <dt class="tag-description">Type</dt>
824
+ <dd class="tag-description">
825
+ <span class="param-type">Array</span>
826
+
827
+
828
+ </dd>
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+ <dt class="tag-source">Source</dt>
863
+ <dd class="tag-source">
864
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line192">line 192</a>
865
+ </dd>
866
+
867
+
868
+
869
+ </dl>
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+ <h4 class="name" id="range_v"><span class="type-signature"></span>range_v<span class="type-signature"> : Array</span></h4>
880
+
881
+
882
+
883
+
884
+
885
+ <dl class="details">
886
+
887
+ <dt class="tag-description">Description</dt>
888
+ <dd class="tag-description"><p>The parameter range of <code>v</code></p></dd>
889
+
890
+
891
+
892
+ <dt class="tag-description">Type</dt>
893
+ <dd class="tag-description">
894
+ <span class="param-type">Array</span>
895
+
896
+
897
+ </dd>
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+ <dt class="tag-source">Source</dt>
932
+ <dd class="tag-source">
933
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line198">line 198</a>
934
+ </dd>
935
+
936
+
937
+
938
+ </dl>
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
779
947
 
780
948
  <h4 class="subsection-title" id="members-inherited">Inherited</h4>
781
949
  <div class="list_container">
@@ -880,6 +1048,94 @@ Can be:</p>
880
1048
 
881
1049
  <p class="summary">Calculates the radius of the circle.</p>
882
1050
 
1051
+ </dd>
1052
+ --></p>
1053
+
1054
+ <p class="columntext">
1055
+
1056
+ <a href="#X">X</a>
1057
+
1058
+ <!--
1059
+ <dt id="X_short">
1060
+ <a href="#X">X</a>
1061
+ </dt>
1062
+ <dd>
1063
+
1064
+ <p class="summary">Returns the x-coordinate of the sphere given as parametric surface for parameters <code>u</code> and <code>v</code>.</p>
1065
+
1066
+ </dd>
1067
+ --></p>
1068
+
1069
+ <p class="columntext">
1070
+
1071
+ <a href="#Y">Y</a>
1072
+
1073
+ <!--
1074
+ <dt id="Y_short">
1075
+ <a href="#Y">Y</a>
1076
+ </dt>
1077
+ <dd>
1078
+
1079
+ <p class="summary">Returns the y-coordinate of the sphere given as parametric surface for parameters <code>u</code> and <code>v</code>.</p>
1080
+
1081
+ </dd>
1082
+ --></p>
1083
+
1084
+ <p class="columntext">
1085
+
1086
+ <a href="#Z">Z</a>
1087
+
1088
+ <!--
1089
+ <dt id="Z_short">
1090
+ <a href="#Z">Z</a>
1091
+ </dt>
1092
+ <dd>
1093
+
1094
+ <p class="summary">Returns the z-coordinate of the sphere given as parametric surface for parameters <code>u</code> and <code>v</code>.</p>
1095
+
1096
+ </dd>
1097
+ --></p>
1098
+
1099
+ <p class="columntext">
1100
+
1101
+ <a href="#buildProjection">buildProjection</a>
1102
+
1103
+ <!--
1104
+ <dt id="buildProjection_short">
1105
+ <a href="#buildProjection">buildProjection</a>
1106
+ </dt>
1107
+ <dd>
1108
+
1109
+ <p class="summary">Create 2D helper points and an ellipse to visualize the <code>sphere3d</code>.</p>
1110
+
1111
+ </dd>
1112
+ --></p>
1113
+
1114
+ <p class="columntext">
1115
+
1116
+ <a href="#focusFn">focusFn</a>
1117
+
1118
+ <!--
1119
+ <dt id="focusFn_short">
1120
+ <a href="#focusFn">focusFn</a>
1121
+ </dt>
1122
+ <dd>
1123
+
1124
+ <p class="summary">The central projection of a sphere is an ellipse.</p>
1125
+
1126
+ </dd>
1127
+ --></p>
1128
+
1129
+ <p class="columntext">
1130
+
1131
+ <a href="#innerVertexFn">innerVertexFn</a>
1132
+
1133
+ <!--
1134
+ <dt id="innerVertexFn_short">
1135
+ <a href="#innerVertexFn">innerVertexFn</a>
1136
+ </dt>
1137
+ <dd>
1138
+
883
1139
  </dd>
884
1140
  --></p>
885
1141
 
@@ -1072,7 +1328,1004 @@ Can be:</p>
1072
1328
 
1073
1329
  <dt class="tag-source">Source</dt>
1074
1330
  <dd class="tag-source">
1075
- <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line203">line 203</a>
1331
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line227">line 227</a>
1332
+ </dd>
1333
+
1334
+
1335
+
1336
+ </dl>
1337
+
1338
+
1339
+
1340
+
1341
+ </div>
1342
+
1343
+
1344
+
1345
+ <div class="container-method">
1346
+
1347
+
1348
+
1349
+ <h4 class="name" id="X"><span class="type-signature"></span>X(<span class="signature-param">u</span>, <span class="signature-param">v</span>)<span class="type-signature"> &rarr; {Number}</span></h4>
1350
+
1351
+
1352
+ <p class="tag-description"><p>Returns the x-coordinate of the sphere given as parametric surface for parameters <code>u</code> and <code>v</code>.</p></p>
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+ <h3 class="h3-parameters">Parameters</h3>
1367
+
1368
+
1369
+ <table class="params">
1370
+ <thead>
1371
+ <tr>
1372
+
1373
+ <th>Name</th>
1374
+
1375
+
1376
+ <th>Type</th>
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+ <th>Description</th>
1383
+ </tr>
1384
+ </thead>
1385
+
1386
+ <tbody>
1387
+
1388
+
1389
+ <tr>
1390
+
1391
+ <td class="name"><code class='signature-param'>u</code></td>
1392
+
1393
+
1394
+ <td class="type">
1395
+
1396
+
1397
+ <span class="param-type">Number</span>
1398
+
1399
+
1400
+
1401
+
1402
+ </td>
1403
+
1404
+
1405
+
1406
+
1407
+
1408
+ <td class="description"></td>
1409
+ </tr>
1410
+
1411
+
1412
+
1413
+ <tr>
1414
+
1415
+ <td class="name"><code class='signature-param'>v</code></td>
1416
+
1417
+
1418
+ <td class="type">
1419
+
1420
+
1421
+ <span class="param-type">Number</span>
1422
+
1423
+
1424
+
1425
+
1426
+ </td>
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+ <td class="description"></td>
1433
+ </tr>
1434
+
1435
+
1436
+ </tbody>
1437
+ </table>
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+
1452
+
1453
+
1454
+ <h3 class="h3-returns">Returns</h3>
1455
+
1456
+
1457
+ <div class="param-desc">
1458
+ <p>x-coordinate</p>
1459
+ </div>
1460
+
1461
+
1462
+
1463
+ <dl class="param-type">
1464
+ <dt>
1465
+ Type
1466
+ </dt>
1467
+ <dd>
1468
+
1469
+ <span class="param-type">Number</span>
1470
+
1471
+
1472
+
1473
+ </dd>
1474
+ </dl>
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+ <h3 class="h3-details">Details</h3>
1481
+
1482
+
1483
+
1484
+
1485
+ <dl class="details">
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+ <dt class="tag-source">Source</dt>
1518
+ <dd class="tag-source">
1519
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line161">line 161</a>
1520
+ </dd>
1521
+
1522
+
1523
+
1524
+ </dl>
1525
+
1526
+
1527
+
1528
+
1529
+ </div>
1530
+
1531
+
1532
+
1533
+ <div class="container-method">
1534
+
1535
+
1536
+
1537
+ <h4 class="name" id="Y"><span class="type-signature"></span>Y(<span class="signature-param">u</span>, <span class="signature-param">v</span>)<span class="type-signature"> &rarr; {Number}</span></h4>
1538
+
1539
+
1540
+ <p class="tag-description"><p>Returns the y-coordinate of the sphere given as parametric surface for parameters <code>u</code> and <code>v</code>.</p></p>
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+ <h3 class="h3-parameters">Parameters</h3>
1555
+
1556
+
1557
+ <table class="params">
1558
+ <thead>
1559
+ <tr>
1560
+
1561
+ <th>Name</th>
1562
+
1563
+
1564
+ <th>Type</th>
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+ <th>Description</th>
1571
+ </tr>
1572
+ </thead>
1573
+
1574
+ <tbody>
1575
+
1576
+
1577
+ <tr>
1578
+
1579
+ <td class="name"><code class='signature-param'>u</code></td>
1580
+
1581
+
1582
+ <td class="type">
1583
+
1584
+
1585
+ <span class="param-type">Number</span>
1586
+
1587
+
1588
+
1589
+
1590
+ </td>
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+ <td class="description"></td>
1597
+ </tr>
1598
+
1599
+
1600
+
1601
+ <tr>
1602
+
1603
+ <td class="name"><code class='signature-param'>v</code></td>
1604
+
1605
+
1606
+ <td class="type">
1607
+
1608
+
1609
+ <span class="param-type">Number</span>
1610
+
1611
+
1612
+
1613
+
1614
+ </td>
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+ <td class="description"></td>
1621
+ </tr>
1622
+
1623
+
1624
+ </tbody>
1625
+ </table>
1626
+
1627
+
1628
+
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+ <h3 class="h3-returns">Returns</h3>
1643
+
1644
+
1645
+ <div class="param-desc">
1646
+ <p>y-coordinate</p>
1647
+ </div>
1648
+
1649
+
1650
+
1651
+ <dl class="param-type">
1652
+ <dt>
1653
+ Type
1654
+ </dt>
1655
+ <dd>
1656
+
1657
+ <span class="param-type">Number</span>
1658
+
1659
+
1660
+
1661
+ </dd>
1662
+ </dl>
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+ <h3 class="h3-details">Details</h3>
1669
+
1670
+
1671
+
1672
+
1673
+ <dl class="details">
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+ <dt class="tag-source">Source</dt>
1706
+ <dd class="tag-source">
1707
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line172">line 172</a>
1708
+ </dd>
1709
+
1710
+
1711
+
1712
+ </dl>
1713
+
1714
+
1715
+
1716
+
1717
+ </div>
1718
+
1719
+
1720
+
1721
+ <div class="container-method">
1722
+
1723
+
1724
+
1725
+ <h4 class="name" id="Z"><span class="type-signature"></span>Z(<span class="signature-param">u</span>, <span class="signature-param">v</span>)<span class="type-signature"> &rarr; {Number}</span></h4>
1726
+
1727
+
1728
+ <p class="tag-description"><p>Returns the z-coordinate of the sphere given as parametric surface for parameters <code>u</code> and <code>v</code>.</p></p>
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+ <h3 class="h3-parameters">Parameters</h3>
1743
+
1744
+
1745
+ <table class="params">
1746
+ <thead>
1747
+ <tr>
1748
+
1749
+ <th>Name</th>
1750
+
1751
+
1752
+ <th>Type</th>
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+ <th>Description</th>
1759
+ </tr>
1760
+ </thead>
1761
+
1762
+ <tbody>
1763
+
1764
+
1765
+ <tr>
1766
+
1767
+ <td class="name"><code class='signature-param'>u</code></td>
1768
+
1769
+
1770
+ <td class="type">
1771
+
1772
+
1773
+ <span class="param-type">Number</span>
1774
+
1775
+
1776
+
1777
+
1778
+ </td>
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+ <td class="description"></td>
1785
+ </tr>
1786
+
1787
+
1788
+
1789
+ <tr>
1790
+
1791
+ <td class="name"><code class='signature-param'>v</code></td>
1792
+
1793
+
1794
+ <td class="type">
1795
+
1796
+
1797
+ <span class="param-type">Number</span>
1798
+
1799
+
1800
+
1801
+
1802
+ </td>
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+ <td class="description"></td>
1809
+ </tr>
1810
+
1811
+
1812
+ </tbody>
1813
+ </table>
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+ <h3 class="h3-returns">Returns</h3>
1831
+
1832
+
1833
+ <div class="param-desc">
1834
+ <p>z-coordinate</p>
1835
+ </div>
1836
+
1837
+
1838
+
1839
+ <dl class="param-type">
1840
+ <dt>
1841
+ Type
1842
+ </dt>
1843
+ <dd>
1844
+
1845
+ <span class="param-type">Number</span>
1846
+
1847
+
1848
+
1849
+ </dd>
1850
+ </dl>
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+ <h3 class="h3-details">Details</h3>
1857
+
1858
+
1859
+
1860
+
1861
+ <dl class="details">
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+ <dt class="tag-source">Source</dt>
1894
+ <dd class="tag-source">
1895
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line183">line 183</a>
1896
+ </dd>
1897
+
1898
+
1899
+
1900
+ </dl>
1901
+
1902
+
1903
+
1904
+
1905
+ </div>
1906
+
1907
+
1908
+
1909
+ <div class="container-method">
1910
+
1911
+
1912
+
1913
+ <h4 class="name" id="buildProjection"><span class="type-signature"></span>buildProjection(<span class="signature-param">attr</span>)<span class="type-signature"></span></h4>
1914
+
1915
+
1916
+ <p class="tag-description"><p>Create 2D helper points and an ellipse to visualize the <code>sphere3d</code>.
1917
+ Handles central and parallel projection simultaneously.</p>
1918
+ <p>This is done only once at creation time.</p></p>
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+ <h3 class="h3-parameters">Parameters</h3>
1933
+
1934
+
1935
+ <table class="params">
1936
+ <thead>
1937
+ <tr>
1938
+
1939
+ <th>Name</th>
1940
+
1941
+
1942
+ <th>Type</th>
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+ <th>Description</th>
1949
+ </tr>
1950
+ </thead>
1951
+
1952
+ <tbody>
1953
+
1954
+
1955
+ <tr>
1956
+
1957
+ <td class="name"><code class='signature-param'>attr</code></td>
1958
+
1959
+
1960
+ <td class="type">
1961
+
1962
+
1963
+ <span class="param-type">object</span>
1964
+
1965
+
1966
+
1967
+
1968
+ </td>
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+ <td class="description"><p>Attributes for the sphere objects</p></td>
1975
+ </tr>
1976
+
1977
+
1978
+ </tbody>
1979
+ </table>
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+ <h3 class="h3-details">Details</h3>
2000
+
2001
+
2002
+
2003
+
2004
+ <dl class="details">
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+ <dt class="tag-source">Source</dt>
2037
+ <dd class="tag-source">
2038
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line362">line 362</a>
2039
+ </dd>
2040
+
2041
+
2042
+
2043
+ </dl>
2044
+
2045
+
2046
+
2047
+
2048
+ </div>
2049
+
2050
+
2051
+
2052
+ <div class="container-method">
2053
+
2054
+
2055
+
2056
+ <h4 class="name" id="focusFn"><span class="type-signature"></span>focusFn(<span class="signature-param">sgn</span>)<span class="type-signature"> &rarr; {Array}</span></h4>
2057
+
2058
+
2059
+ <p class="tag-description"><p>The central projection of a sphere is an ellipse. The front and back
2060
+ points of the sphere -- that is, the points closest to and furthest
2061
+ from the screen -- project to the foci of the ellipse.</p>
2062
+ <p>To see this, look at the cone tangent to the sphere whose tip is at
2063
+ the camera. The image of the sphere is the ellipse where this cone
2064
+ intersects the screen. By acting on the sphere with scalings centered
2065
+ on the camera, you can send it to either of the Dandelin spheres that
2066
+ touch the screen at the foci of the image ellipse.</p>
2067
+ <p>This factory method produces two functions, <code>focusFn(-1)</code> and
2068
+ <code>focusFn(1)</code>, that evaluate to the projections of the front and back
2069
+ points of the sphere, respectively.</p>
2070
+ <p>The parallel projection of a sphere is a cicle. We use an ellipse curve
2071
+ for this projection, too. The two focii now coincide with the center of
2072
+ the sphere. The 2D radius point is defined by the projection of the center
2073
+ and the projected radius.</p></p>
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+
2082
+
2083
+
2084
+
2085
+
2086
+
2087
+ <h3 class="h3-parameters">Parameters</h3>
2088
+
2089
+
2090
+ <table class="params">
2091
+ <thead>
2092
+ <tr>
2093
+
2094
+ <th>Name</th>
2095
+
2096
+
2097
+ <th>Type</th>
2098
+
2099
+
2100
+
2101
+
2102
+
2103
+ <th>Description</th>
2104
+ </tr>
2105
+ </thead>
2106
+
2107
+ <tbody>
2108
+
2109
+
2110
+ <tr>
2111
+
2112
+ <td class="name"><code class='signature-param'>sgn</code></td>
2113
+
2114
+
2115
+ <td class="type">
2116
+
2117
+
2118
+ <span class="param-type">Number</span>
2119
+
2120
+
2121
+
2122
+
2123
+ </td>
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+ <td class="description"><p>Expecst -1 or 1 for the two focus points</p></td>
2130
+ </tr>
2131
+
2132
+
2133
+ </tbody>
2134
+ </table>
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+ <h3 class="h3-returns">Returns</h3>
2152
+
2153
+
2154
+ <div class="param-desc">
2155
+ <p>2D coordinates of the projected focus point</p>
2156
+ </div>
2157
+
2158
+
2159
+
2160
+ <dl class="param-type">
2161
+ <dt>
2162
+ Type
2163
+ </dt>
2164
+ <dd>
2165
+
2166
+ <span class="param-type">Array</span>
2167
+
2168
+
2169
+
2170
+ </dd>
2171
+ </dl>
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+ <h3 class="h3-details">Details</h3>
2178
+
2179
+
2180
+
2181
+
2182
+ <dl class="details">
2183
+
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+
2213
+
2214
+ <dt class="tag-source">Source</dt>
2215
+ <dd class="tag-source">
2216
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line271">line 271</a>
2217
+ </dd>
2218
+
2219
+
2220
+
2221
+ </dl>
2222
+
2223
+
2224
+
2225
+
2226
+ </div>
2227
+
2228
+
2229
+
2230
+ <div class="container-method">
2231
+
2232
+
2233
+
2234
+ <h4 class="name" id="innerVertexFn"><span class="type-signature"></span>innerVertexFn()<span class="type-signature"> &rarr; {Array}</span></h4>
2235
+
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+
2244
+
2245
+
2246
+
2247
+
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+
2263
+ <h3 class="h3-returns">Returns</h3>
2264
+
2265
+
2266
+ <div class="param-desc">
2267
+ <p>2D coordinates of the projected 3rd point that is on the ellipse.</p>
2268
+ </div>
2269
+
2270
+
2271
+
2272
+ <dl class="param-type">
2273
+ <dt>
2274
+ Type
2275
+ </dt>
2276
+ <dd>
2277
+
2278
+ <span class="param-type">Array</span>
2279
+
2280
+
2281
+
2282
+ </dd>
2283
+ </dl>
2284
+
2285
+
2286
+
2287
+
2288
+
2289
+ <h3 class="h3-details">Details</h3>
2290
+
2291
+
2292
+
2293
+
2294
+ <dl class="details">
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+
2303
+
2304
+
2305
+
2306
+
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+
2322
+
2323
+
2324
+
2325
+
2326
+ <dt class="tag-source">Source</dt>
2327
+ <dd class="tag-source">
2328
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line297">line 297</a>
1076
2329
  </dd>
1077
2330
 
1078
2331
 
@@ -1242,7 +2495,7 @@ Can be:</p>
1242
2495
 
1243
2496
  <dt class="tag-source">Source</dt>
1244
2497
  <dd class="tag-source">
1245
- <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line190">line 190</a>
2498
+ <a href="3d_sphere3d.js.html">3d/sphere3d.js</a>, <a href="3d_sphere3d.js.html#line214">line 214</a>
1246
2499
  </dd>
1247
2500
 
1248
2501