jsxgraph 1.10.0 → 1.10.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.
- package/CHANGELOG.md +25 -0
- package/distrib/docs/files.html +2 -61
- package/distrib/docs/index.html +2 -58
- package/distrib/docs/static/jsxgraphcore.js +2 -2
- package/distrib/docs/symbols/Angle.html +2 -18
- package/distrib/docs/symbols/Arc.html +2 -18
- package/distrib/docs/symbols/Arrow.html +2 -18
- package/distrib/docs/symbols/Arrowparallel.html +2 -18
- package/distrib/docs/symbols/Axes3D.html +2 -18
- package/distrib/docs/symbols/Axis.html +2 -18
- package/distrib/docs/symbols/Axis3D.html +2 -18
- package/distrib/docs/symbols/Bisector.html +2 -18
- package/distrib/docs/symbols/Bisectorlines.html +2 -18
- package/distrib/docs/symbols/Boxplot.html +2 -18
- package/distrib/docs/symbols/Button.html +2 -18
- package/distrib/docs/symbols/Cardinalspline.html +2 -18
- package/distrib/docs/symbols/Chart.html +2 -18
- package/distrib/docs/symbols/Checkbox.html +2 -18
- package/distrib/docs/symbols/Circle.html +2 -18
- package/distrib/docs/symbols/Circle3D.html +2 -18
- package/distrib/docs/symbols/Circumcenter.html +2 -18
- package/distrib/docs/symbols/Circumcircle.html +2 -18
- package/distrib/docs/symbols/CircumcircleArc.html +2 -18
- package/distrib/docs/symbols/CircumcircleSector.html +2 -18
- package/distrib/docs/symbols/Comb.html +2 -18
- package/distrib/docs/symbols/Conic.html +2 -18
- package/distrib/docs/symbols/Curve.html +2 -18
- package/distrib/docs/symbols/Curve3D.html +2 -18
- package/distrib/docs/symbols/CurveDifference.html +2 -18
- package/distrib/docs/symbols/CurveIntersection.html +2 -18
- package/distrib/docs/symbols/CurveUnion.html +2 -18
- package/distrib/docs/symbols/Derivative.html +2 -18
- package/distrib/docs/symbols/Ellipse.html +2 -18
- package/distrib/docs/symbols/ForeignObject.html +2 -18
- package/distrib/docs/symbols/Functiongraph.html +2 -18
- package/distrib/docs/symbols/Functiongraph3D.html +2 -18
- package/distrib/docs/symbols/Glider.html +2 -18
- package/distrib/docs/symbols/Grid.html +2 -18
- package/distrib/docs/symbols/Group.html +2 -18
- package/distrib/docs/symbols/Hatch.html +2 -18
- package/distrib/docs/symbols/Hyperbola.html +2 -18
- package/distrib/docs/symbols/Image.html +2 -18
- package/distrib/docs/symbols/ImplicitCurve.html +2 -18
- package/distrib/docs/symbols/Incenter.html +2 -18
- package/distrib/docs/symbols/Incircle.html +2 -18
- package/distrib/docs/symbols/Inequality.html +2 -18
- package/distrib/docs/symbols/Input.html +2 -18
- package/distrib/docs/symbols/Integral.html +2 -18
- package/distrib/docs/symbols/Intersection.html +2 -18
- package/distrib/docs/symbols/IntersectionCircle3D.html +2 -18
- package/distrib/docs/symbols/IntersectionLine3D.html +2 -18
- package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Board.html +4 -20
- package/distrib/docs/symbols/JXG.Board.infobox.html +2 -18
- package/distrib/docs/symbols/JXG.C.html +2 -18
- package/distrib/docs/symbols/JXG.CA.html +2 -18
- package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Chart.html +2 -18
- package/distrib/docs/symbols/JXG.Circle.html +2 -18
- package/distrib/docs/symbols/JXG.Circle3D.html +2 -18
- package/distrib/docs/symbols/JXG.Complex.html +2 -18
- package/distrib/docs/symbols/JXG.Composition.html +2 -18
- package/distrib/docs/symbols/JXG.Coords.html +2 -18
- package/distrib/docs/symbols/JXG.CoordsElement.html +98 -22
- package/distrib/docs/symbols/JXG.Curve.html +2 -18
- package/distrib/docs/symbols/JXG.Curve3D.html +2 -18
- package/distrib/docs/symbols/JXG.Dump.html +2 -18
- package/distrib/docs/symbols/JXG.EventEmitter.html +2 -18
- package/distrib/docs/symbols/JXG.Expect.html +2 -18
- package/distrib/docs/symbols/JXG.ForeignObject.html +2 -18
- package/distrib/docs/symbols/JXG.GeometryElement.html +2 -18
- package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -18
- package/distrib/docs/symbols/JXG.GeonextParser.html +2 -18
- package/distrib/docs/symbols/JXG.Group.html +2 -18
- package/distrib/docs/symbols/JXG.Image.html +2 -18
- package/distrib/docs/symbols/JXG.JSXGraph.html +2 -18
- package/distrib/docs/symbols/JXG.JessieCode.html +2 -18
- package/distrib/docs/symbols/JXG.Legend.html +2 -18
- package/distrib/docs/symbols/JXG.Line.html +2 -18
- package/distrib/docs/symbols/JXG.Line3D.html +2 -18
- package/distrib/docs/symbols/JXG.Math.BoxQuadtree.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Clip.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -18
- package/distrib/docs/symbols/JXG.Math.ImplicitPlot.html +2 -18
- package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Numerics.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Plot.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Poly.html +2 -18
- package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Quadtree.html +2 -18
- package/distrib/docs/symbols/JXG.Math.Statistics.html +22 -34
- package/distrib/docs/symbols/JXG.Math.html +2 -18
- package/distrib/docs/symbols/JXG.NoRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Options.html +2 -18
- package/distrib/docs/symbols/JXG.Plane3D.html +2 -18
- package/distrib/docs/symbols/JXG.Point.html +2 -18
- package/distrib/docs/symbols/JXG.Point3D.html +2 -18
- package/distrib/docs/symbols/JXG.Polygon.html +2 -18
- package/distrib/docs/symbols/JXG.Polygon3D.html +2 -18
- package/distrib/docs/symbols/JXG.PrefixParser.html +2 -18
- package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.Sphere3D.html +2 -18
- package/distrib/docs/symbols/JXG.Surface3D.html +2 -18
- package/distrib/docs/symbols/JXG.Text.html +2 -18
- package/distrib/docs/symbols/JXG.Text3D.html +2 -18
- package/distrib/docs/symbols/JXG.Ticks.html +2 -18
- package/distrib/docs/symbols/JXG.Transformation.html +2 -18
- package/distrib/docs/symbols/JXG.Turtle.html +2 -18
- package/distrib/docs/symbols/JXG.Util.Base64.html +2 -18
- package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -18
- package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -18
- package/distrib/docs/symbols/JXG.Util.html +2 -18
- package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -18
- package/distrib/docs/symbols/JXG.View3D.html +4 -19
- package/distrib/docs/symbols/JXG.XML.html +2 -18
- package/distrib/docs/symbols/JXG.html +2 -18
- package/distrib/docs/symbols/Label.html +2 -18
- package/distrib/docs/symbols/Legend.html +2 -18
- package/distrib/docs/symbols/Line.html +2 -18
- package/distrib/docs/symbols/Line3D.html +2 -18
- package/distrib/docs/symbols/MajorArc.html +2 -18
- package/distrib/docs/symbols/MajorSector.html +2 -18
- package/distrib/docs/symbols/Measurement.html +2 -18
- package/distrib/docs/symbols/Mesh3D.html +2 -18
- package/distrib/docs/symbols/Metapostspline.html +2 -18
- package/distrib/docs/symbols/Midpoint.html +2 -18
- package/distrib/docs/symbols/MinorArc.html +2 -18
- package/distrib/docs/symbols/MinorSector.html +2 -18
- package/distrib/docs/symbols/Mirrorpoint.html +2 -18
- package/distrib/docs/symbols/NonReflexAngle.html +2 -18
- package/distrib/docs/symbols/Normal.html +2 -18
- package/distrib/docs/symbols/Orthogonalprojection.html +2 -18
- package/distrib/docs/symbols/OtherIntersection.html +2 -18
- package/distrib/docs/symbols/Parabola.html +2 -18
- package/distrib/docs/symbols/Parallel.html +2 -18
- package/distrib/docs/symbols/Parallelogram.html +2 -18
- package/distrib/docs/symbols/Parallelpoint.html +2 -18
- package/distrib/docs/symbols/ParametricSurface3D.html +2 -18
- package/distrib/docs/symbols/Perpendicular.html +2 -18
- package/distrib/docs/symbols/PerpendicularPoint.html +2 -18
- package/distrib/docs/symbols/PerpendicularSegment.html +2 -18
- package/distrib/docs/symbols/Point.html +2 -18
- package/distrib/docs/symbols/Point3D.html +2 -18
- package/distrib/docs/symbols/PolarLine.html +2 -18
- package/distrib/docs/symbols/PolePoint.html +2 -18
- package/distrib/docs/symbols/Polygon.html +2 -18
- package/distrib/docs/symbols/PolygonalChain.html +2 -18
- package/distrib/docs/symbols/RadicalAxis.html +2 -18
- package/distrib/docs/symbols/Reflection.html +2 -18
- package/distrib/docs/symbols/ReflexAngle.html +2 -18
- package/distrib/docs/symbols/RegularPolygon.html +2 -18
- package/distrib/docs/symbols/Riemannsum.html +2 -18
- package/distrib/docs/symbols/Sector.html +2 -18
- package/distrib/docs/symbols/Segment.html +2 -18
- package/distrib/docs/symbols/Semicircle.html +2 -18
- package/distrib/docs/symbols/Slider.html +2 -18
- package/distrib/docs/symbols/Slopefield.html +2 -18
- package/distrib/docs/symbols/Slopetriangle.html +2 -18
- package/distrib/docs/symbols/Smartlabel.html +2 -18
- package/distrib/docs/symbols/Sphere3D.html +2 -18
- package/distrib/docs/symbols/Spline.html +2 -18
- package/distrib/docs/symbols/Stepfunction.html +2 -18
- package/distrib/docs/symbols/Tangent.html +2 -18
- package/distrib/docs/symbols/TangentTo.html +2 -18
- package/distrib/docs/symbols/Tapemeasure.html +2 -18
- package/distrib/docs/symbols/Text.html +12 -26
- package/distrib/docs/symbols/Text3D.html +2 -18
- package/distrib/docs/symbols/Ticks.html +2 -18
- package/distrib/docs/symbols/Ticks3D.html +2 -18
- package/distrib/docs/symbols/Tracecurve.html +2 -18
- package/distrib/docs/symbols/Transformation.html +2 -18
- package/distrib/docs/symbols/Turtle.html +2 -18
- package/distrib/docs/symbols/Vectorfield.html +2 -18
- package/distrib/docs/symbols/Vectorfield3D.html +53 -18
- package/distrib/docs/symbols/View3D.html +2 -18
- package/distrib/docs/symbols/_global_.html +2 -18
- package/distrib/docs/symbols/mirrorelement.html +2 -18
- package/distrib/docs/symbols/src/src_3d_box3d.js.html +261 -259
- package/distrib/docs/symbols/src/src_3d_curve3d.js.html +205 -156
- package/distrib/docs/symbols/src/src_3d_linspace3d.js.html +337 -327
- package/distrib/docs/symbols/src/src_3d_point3d.js.html +204 -187
- package/distrib/docs/symbols/src/src_3d_text3d.js.html +189 -177
- package/distrib/docs/symbols/src/src_3d_view3d.js.html +1246 -1236
- package/distrib/docs/symbols/src/src_base_board.js.html +2058 -2057
- package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
- package/distrib/docs/symbols/src/src_base_coordselement.js.html +383 -274
- package/distrib/docs/symbols/src/src_element_sector.js.html +1 -1
- package/distrib/docs/symbols/src/src_math_geometry.js.html +609 -604
- package/distrib/docs/symbols/src/src_math_statistics.js.html +418 -411
- package/distrib/docs/symbols/src/src_options.js.html +504 -502
- package/distrib/docs/symbols/src/src_options3d.js.html +952 -944
- package/distrib/docs.zip +0 -0
- package/distrib/geogebra.min.js +1 -1
- package/distrib/geonext.min.js +1 -1
- package/distrib/intergeo.min.js +1 -1
- package/distrib/jsxgraph.zip +0 -0
- package/distrib/jsxgraphcore.js +2 -2
- package/distrib/jsxgraphcore.mjs +2 -2
- package/distrib/jsxgraphcore.mjs.map +1 -1
- package/distrib/jsxgraphsrc.js +15405 -16038
- package/distrib/jsxgraphsrc.mjs +15405 -16038
- package/distrib/jsxgraphsrc.mjs.map +1 -1
- package/distrib/sketch.min.js +1 -1
- package/package.json +1 -1
- package/src/3d/box3d.js +2 -0
- package/src/3d/curve3d.js +53 -4
- package/src/3d/linspace3d.js +17 -7
- package/src/3d/point3d.js +20 -3
- package/src/3d/text3d.js +20 -8
- package/src/3d/view3d.js +17 -7
- package/src/base/board.js +1 -0
- package/src/base/constants.js +1 -1
- package/src/base/coordselement.js +119 -10
- package/src/element/sector.js +1 -1
- package/src/index.js +0 -3
- package/src/math/geometry.js +27 -22
- package/src/math/statistics.js +29 -22
- package/src/options.js +8 -6
- package/src/options3d.js +10 -2
- package/src/{server → unused/server}/JXGServer.py +4 -9
- package/src/{server → unused/server}/JXGServerModule.py +2 -2
- package/src/{server → unused/server}/README.md +25 -14
- package/src/{server → unused/server}/RStats.py +1 -1
- package/src/{server → unused/server}/YahooFinance.py +4 -4
- package/src/{server → unused/server}/fft.py +6 -6
- package/src/{server → unused/server}/geoloci.py +17 -17
- package/src/{server → unused/server}/jxggroebner.py +22 -22
- package/src/index2.js +0 -105
- /package/src/{element → unused}/locus.js +0 -0
- /package/src/{server → unused/server}/JXG.py +0 -0
- /package/src/{server → unused/server}/jxgtestplugin.py +0 -0
- /package/src/{server → unused/server}/server.js +0 -0
- /package/src/{math → unused}/symbolic.js +0 -0
|
@@ -304,159 +304,208 @@
|
|
|
304
304
|
<span class='line'>297</span> * end value of y. The vector field will contain (number of steps) + 1 vectors in direction of y.
|
|
305
305
|
<span class='line'>298</span> * @param {Array} zData Array of length 3 containing start value for z, number of steps,
|
|
306
306
|
<span class='line'>299</span> * end value of z. The vector field will contain (number of steps) + 1 vectors in direction of z.
|
|
307
|
-
<span class='line'>300</span>
|
|
308
|
-
<span class='line'>301</span>
|
|
309
|
-
<span class='line'>302</span>
|
|
310
|
-
<span class='line'>303</span>
|
|
311
|
-
<span class='line'>304</span>
|
|
312
|
-
<span class='line'>305</span>
|
|
313
|
-
<span class='line'>306</span>
|
|
314
|
-
<span class='line'>307</span>
|
|
315
|
-
<span class='line'>308</span>
|
|
316
|
-
<span class='line'>309</span>
|
|
317
|
-
<span class='line'>310</span>
|
|
318
|
-
<span class='line'>311</span>
|
|
319
|
-
<span class='line'>312</span>
|
|
320
|
-
<span class='line'>313</span>
|
|
321
|
-
<span class='line'>314</span>
|
|
322
|
-
<span class='line'>315</span>
|
|
323
|
-
<span class='line'>316</span>
|
|
324
|
-
<span class='line'>317</span>
|
|
325
|
-
<span class='line'>318</span>
|
|
326
|
-
<span class='line'>319</span>
|
|
327
|
-
<span class='line'>320</span>
|
|
328
|
-
<span class='line'>321</span>
|
|
329
|
-
<span class='line'>322</span>
|
|
330
|
-
<span class='line'>323</span>
|
|
331
|
-
<span class='line'>324</span>
|
|
332
|
-
<span class='line'>325</span>
|
|
333
|
-
<span class='line'>326</span>
|
|
334
|
-
<span class='line'>327</span>
|
|
335
|
-
<span class='line'>328</span>
|
|
336
|
-
<span class='line'>329</span>
|
|
337
|
-
<span class='line'>330</span>
|
|
338
|
-
<span class='line'>331</span>
|
|
339
|
-
<span class='line'>332</span>
|
|
340
|
-
<span class='line'>333</span>
|
|
341
|
-
<span class='line'>334</span>
|
|
342
|
-
<span class='line'>335</span>
|
|
343
|
-
<span class='line'>336</span>
|
|
344
|
-
<span class='line'>337</span>
|
|
345
|
-
<span class='line'>338</span>
|
|
346
|
-
<span class='line'>339</span>
|
|
347
|
-
<span class='line'>340</span>
|
|
348
|
-
<span class='line'>341</span>
|
|
349
|
-
<span class='line'>342</span>
|
|
350
|
-
<span class='line'>343</span>
|
|
351
|
-
<span class='line'>344</span>
|
|
352
|
-
<span class='line'>345</span>
|
|
353
|
-
<span class='line'>346</span>
|
|
354
|
-
<span class='line'>347</span>
|
|
355
|
-
<span class='line'>348</span>
|
|
356
|
-
<span class='line'>349</span>
|
|
357
|
-
<span class='line'>350</span> </span><span class="
|
|
358
|
-
<span class='line'>351</span> </span><span class="WHIT">
|
|
359
|
-
<span class='line'>352</span> </span><span class="WHIT"> </span><span class="
|
|
360
|
-
<span class='line'>353</span>
|
|
361
|
-
<span class='line'>354</span>
|
|
362
|
-
<span class='line'>355</span> </span><span class="WHIT">
|
|
363
|
-
<span class='line'>356</span> </span><span class="WHIT">
|
|
364
|
-
<span class='line'>357</span> </span><span class="WHIT">
|
|
365
|
-
<span class='line'>358</span> </span><span class="WHIT">
|
|
366
|
-
<span class='line'>359</span>
|
|
367
|
-
<span class='line'>360</span> </span><span class="WHIT">
|
|
368
|
-
<span class='line'>361</span> </span><span class="WHIT">
|
|
369
|
-
<span class='line'>362</span> </span><span class="WHIT"> </span><span class="
|
|
370
|
-
<span class='line'>363</span> </span><span class="WHIT"> </span><span class="
|
|
371
|
-
<span class='line'>364</span> </span><span class="WHIT"> </span><span class="
|
|
372
|
-
<span class='line'>365</span> </span><span class="WHIT"> </span><span class="
|
|
373
|
-
<span class='line'>366</span> </span><span class="WHIT">
|
|
374
|
-
<span class='line'>367</span> </span><span class="WHIT">
|
|
375
|
-
<span class='line'>368</span>
|
|
376
|
-
<span class='line'>369</span> </span><span class="WHIT">
|
|
377
|
-
<span class='line'>370</span> </span><span class="WHIT">
|
|
378
|
-
<span class='line'>371</span>
|
|
379
|
-
<span class='line'>372</span> </span><span class="WHIT">
|
|
380
|
-
<span class='line'>373</span>
|
|
381
|
-
<span class='line'>374</span>
|
|
382
|
-
<span class='line'>375</span>
|
|
383
|
-
<span class='line'>376</span>
|
|
384
|
-
<span class='line'>377</span>
|
|
385
|
-
<span class='line'>378</span>
|
|
386
|
-
<span class='line'>379</span>
|
|
387
|
-
<span class='line'>380</span>
|
|
388
|
-
<span class='line'>381</span>
|
|
389
|
-
<span class='line'>382</span>
|
|
390
|
-
<span class='line'>383</span>
|
|
391
|
-
<span class='line'>384</span>
|
|
392
|
-
<span class='line'>385</span>
|
|
393
|
-
<span class='line'>386</span> </span><span class="WHIT">
|
|
394
|
-
<span class='line'>387</span> </span><span class="WHIT">
|
|
395
|
-
<span class='line'>388</span>
|
|
396
|
-
<span class='line'>389</span> </span><span class="WHIT">
|
|
397
|
-
<span class='line'>390</span> </span><span class="WHIT"> </span><span class="
|
|
398
|
-
<span class='line'>391</span> </span><span class="WHIT"> </span><span class="
|
|
399
|
-
<span class='line'>392</span> </span><span class="WHIT"> </span><span class="COMM"
|
|
400
|
-
<span class='line'>393</span>
|
|
401
|
-
<span class='line'>394</span>
|
|
402
|
-
<span class='line'>395</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
403
|
-
<span class='line'>396</span> </span><span class="WHIT">
|
|
404
|
-
<span class='line'>397</span> </span><span class="WHIT"> </span><span class="
|
|
405
|
-
<span class='line'>398</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
406
|
-
<span class='line'>399</span>
|
|
407
|
-
<span class='line'>400</span> </span><span class="WHIT"> </span><span class="
|
|
408
|
-
<span class='line'>401</span> </span><span class="WHIT"> </span><span class="
|
|
409
|
-
<span class='line'>402</span> </span><span class="WHIT">
|
|
410
|
-
<span class='line'>403</span>
|
|
411
|
-
<span class='line'>404</span> </span><span class="WHIT">
|
|
412
|
-
<span class='line'>405</span> </span><span class="WHIT">
|
|
413
|
-
<span class='line'>406</span> </span><span class="WHIT">
|
|
414
|
-
<span class='line'>407</span> </span><span class="WHIT">
|
|
415
|
-
<span class='line'>408</span>
|
|
416
|
-
<span class='line'>409</span> </span><span class="WHIT">
|
|
417
|
-
<span class='line'>410</span> </span><span class="WHIT">
|
|
418
|
-
<span class='line'>411</span>
|
|
419
|
-
<span class='line'>412</span> </span><span class="WHIT">
|
|
420
|
-
<span class='line'>413</span> </span><span class="WHIT">
|
|
421
|
-
<span class='line'>414</span> </span><span class="WHIT">
|
|
422
|
-
<span class='line'>415</span> </span><span class="WHIT">
|
|
423
|
-
<span class='line'>416</span> </span><span class="WHIT">
|
|
424
|
-
<span class='line'>417</span> </span><span class="WHIT">
|
|
425
|
-
<span class='line'>418</span>
|
|
426
|
-
<span class='line'>419</span> </span><span class="WHIT">
|
|
427
|
-
<span class='line'>420</span> </span><span class="WHIT">
|
|
428
|
-
<span class='line'>421</span> </span><span class="WHIT">
|
|
429
|
-
<span class='line'>422</span> </span><span class="WHIT">
|
|
430
|
-
<span class='line'>423</span> </span><span class="WHIT">
|
|
431
|
-
<span class='line'>424</span> </span><span class="WHIT">
|
|
432
|
-
<span class='line'>425</span> </span><span class="WHIT">
|
|
433
|
-
<span class='line'>426</span> </span><span class="WHIT">
|
|
434
|
-
<span class='line'>427</span> </span><span class="WHIT">
|
|
435
|
-
<span class='line'>428</span> </span><span class="WHIT">
|
|
436
|
-
<span class='line'>429</span> </span><span class="WHIT">
|
|
437
|
-
<span class='line'>430</span> </span><span class="WHIT">
|
|
438
|
-
<span class='line'>431</span> </span><span class="WHIT">
|
|
439
|
-
<span class='line'>432</span> </span><span class="WHIT">
|
|
440
|
-
<span class='line'>433</span> </span><span class="WHIT">
|
|
441
|
-
<span class='line'>434</span> </span><span class="WHIT">
|
|
442
|
-
<span class='line'>435</span> </span><span class="WHIT">
|
|
443
|
-
<span class='line'>436</span> </span><span class="WHIT">
|
|
444
|
-
<span class='line'>437</span>
|
|
445
|
-
<span class='line'>438</span> </span><span class="WHIT">
|
|
446
|
-
<span class='line'>439</span> </span><span class="WHIT">
|
|
447
|
-
<span class='line'>440</span> </span><span class="WHIT">
|
|
448
|
-
<span class='line'>441</span> </span><span class="WHIT">
|
|
449
|
-
<span class='line'>442</span> </span><span class="WHIT">
|
|
450
|
-
<span class='line'>443</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
451
|
-
<span class='line'>444</span> </span><span class="WHIT">
|
|
452
|
-
<span class='line'>445</span> </span><span class="WHIT">
|
|
453
|
-
<span class='line'>446</span>
|
|
454
|
-
<span class='line'>447</span> </span><span class="WHIT">
|
|
455
|
-
<span class='line'>448</span>
|
|
456
|
-
<span class='line'>449</span> </span><span class="WHIT">
|
|
457
|
-
<span class='line'>450</span>
|
|
458
|
-
<span class='line'>451</span> </span><span class="WHIT">
|
|
459
|
-
<span class='line'>452</span> </span><span class="PUNC">
|
|
460
|
-
<span class='line'>453</span>
|
|
461
|
-
<span class='line'>454</span> </span><span class="
|
|
462
|
-
<span class='line'>455</span> </span
|
|
307
|
+
<span class='line'>300</span> *
|
|
308
|
+
<span class='line'>301</span> * @example
|
|
309
|
+
<span class='line'>302</span> * const view = board.create('view3d',
|
|
310
|
+
<span class='line'>303</span> * [
|
|
311
|
+
<span class='line'>304</span> * [-6, -3],
|
|
312
|
+
<span class='line'>305</span> * [8, 8],
|
|
313
|
+
<span class='line'>306</span> * [[-3, 3], [-3, 3], [-3, 3]]
|
|
314
|
+
<span class='line'>307</span> * ], {});
|
|
315
|
+
<span class='line'>308</span> *
|
|
316
|
+
<span class='line'>309</span> * var vf = view.create('vectorfield3d', [
|
|
317
|
+
<span class='line'>310</span> * [(x, y, z) => Math.cos(y), (x, y, z) => Math.sin(x), (x, y, z) => z],
|
|
318
|
+
<span class='line'>311</span> * [-2, 5, 2], // x from -2 to 2 in 5 steps
|
|
319
|
+
<span class='line'>312</span> * [-2, 5, 2], // y
|
|
320
|
+
<span class='line'>313</span> * [-2, 5, 2] // z
|
|
321
|
+
<span class='line'>314</span> * ], {
|
|
322
|
+
<span class='line'>315</span> * strokeColor: 'red',
|
|
323
|
+
<span class='line'>316</span> * scale: 0.5
|
|
324
|
+
<span class='line'>317</span> * });
|
|
325
|
+
<span class='line'>318</span> *
|
|
326
|
+
<span class='line'>319</span> * </pre><div id="JXG8e41c67b-3338-4428-bd0f-c69d8f6fb348" class="jxgbox" style="width: 300px; height: 300px;"></div>
|
|
327
|
+
<span class='line'>320</span> * <script type="text/javascript">
|
|
328
|
+
<span class='line'>321</span> * (function() {
|
|
329
|
+
<span class='line'>322</span> * var board = JXG.JSXGraph.initBoard('JXG8e41c67b-3338-4428-bd0f-c69d8f6fb348',
|
|
330
|
+
<span class='line'>323</span> * {boundingbox: [-8, 8, 8,-8], axis: false, showcopyright: false, shownavigation: false,
|
|
331
|
+
<span class='line'>324</span> * pan: {
|
|
332
|
+
<span class='line'>325</span> * needTwoFingers: true
|
|
333
|
+
<span class='line'>326</span> * }
|
|
334
|
+
<span class='line'>327</span> * });
|
|
335
|
+
<span class='line'>328</span> * const view = board.create('view3d',
|
|
336
|
+
<span class='line'>329</span> * [
|
|
337
|
+
<span class='line'>330</span> * [-6, -3],
|
|
338
|
+
<span class='line'>331</span> * [8, 8],
|
|
339
|
+
<span class='line'>332</span> * [[-3, 3], [-3, 3], [-3, 3]]
|
|
340
|
+
<span class='line'>333</span> * ], {});
|
|
341
|
+
<span class='line'>334</span> * var vf = view.create('vectorfield3d', [
|
|
342
|
+
<span class='line'>335</span> * [(x, y, z) => Math.cos(y), (x, y, z) => Math.sin(x), (x, y, z) => z],
|
|
343
|
+
<span class='line'>336</span> * [-2, 5, 2], // x from -2 to 2 in 5 steps
|
|
344
|
+
<span class='line'>337</span> * [-2, 5, 2], // y
|
|
345
|
+
<span class='line'>338</span> * [-2, 5, 2] // z
|
|
346
|
+
<span class='line'>339</span> * ], {
|
|
347
|
+
<span class='line'>340</span> * strokeColor: 'red',
|
|
348
|
+
<span class='line'>341</span> * scale: 0.5
|
|
349
|
+
<span class='line'>342</span> * });
|
|
350
|
+
<span class='line'>343</span> *
|
|
351
|
+
<span class='line'>344</span> *
|
|
352
|
+
<span class='line'>345</span> * })();
|
|
353
|
+
<span class='line'>346</span> *
|
|
354
|
+
<span class='line'>347</span> * </script><pre>
|
|
355
|
+
<span class='line'>348</span> *
|
|
356
|
+
<span class='line'>349</span> */</span><span class="WHIT">
|
|
357
|
+
<span class='line'>350</span> </span><span class="NAME">JXG.createVectorfield3D</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
358
|
+
<span class='line'>351</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">view</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
359
|
+
<span class='line'>352</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">;</span><span class="WHIT">
|
|
360
|
+
<span class='line'>353</span>
|
|
361
|
+
<span class='line'>354</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">parents.length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">5</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
362
|
+
<span class='line'>355</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isArray</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Type.isFunction</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Type.isString</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
363
|
+
<span class='line'>356</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isArray</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
364
|
+
<span class='line'>357</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isArray</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
|
|
365
|
+
<span class='line'>358</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isArray</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">4</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">)</span><span class="WHIT">
|
|
366
|
+
<span class='line'>359</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
367
|
+
<span class='line'>360</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="WHIT">
|
|
368
|
+
<span class='line'>361</span> </span><span class="WHIT"> </span><span class="STRN">"JSXGraph: Can't create vector field 3D with parent types "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
369
|
+
<span class='line'>362</span> </span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"', "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
370
|
+
<span class='line'>363</span> </span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"', "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
371
|
+
<span class='line'>364</span> </span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"'."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
372
|
+
<span class='line'>365</span> </span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">4</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"', "</span><span class="WHIT">
|
|
373
|
+
<span class='line'>366</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
374
|
+
<span class='line'>367</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
375
|
+
<span class='line'>368</span>
|
|
376
|
+
<span class='line'>369</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'vectorfield3d'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
377
|
+
<span class='line'>370</span> </span><span class="WHIT"> </span><span class="NAME">el</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">view.create</span><span class="PUNC">(</span><span class="STRN">'curve3d'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
378
|
+
<span class='line'>371</span>
|
|
379
|
+
<span class='line'>372</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
380
|
+
<span class='line'>373</span> * Set the defining functions of 3D vector field.
|
|
381
|
+
<span class='line'>374</span> * @memberOf Vectorfield3D
|
|
382
|
+
<span class='line'>375</span> * @name setF
|
|
383
|
+
<span class='line'>376</span> * @function
|
|
384
|
+
<span class='line'>377</span> * @param {Array|Function} func Either an array containing three functions f1(x, y, z),
|
|
385
|
+
<span class='line'>378</span> * f2(x, y, z), and f3(x, y, z) or function f(x, y, z) returning an array of length 3.
|
|
386
|
+
<span class='line'>379</span> * @returns {Object} Reference to the 3D vector field object.
|
|
387
|
+
<span class='line'>380</span> *
|
|
388
|
+
<span class='line'>381</span> * @example
|
|
389
|
+
<span class='line'>382</span> * field.setF([(x, y, z) => Math.sin(y), (x, y, z) => Math.cos(x), (x, y, z) => z]);
|
|
390
|
+
<span class='line'>383</span> * board.update();
|
|
391
|
+
<span class='line'>384</span> *
|
|
392
|
+
<span class='line'>385</span> */</span><span class="WHIT">
|
|
393
|
+
<span class='line'>386</span> </span><span class="WHIT"> </span><span class="NAME">el.setF</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">func</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">varnames</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
394
|
+
<span class='line'>387</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">f0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">f1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">f2</span><span class="PUNC">;</span><span class="WHIT">
|
|
395
|
+
<span class='line'>388</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.isArray</span><span class="PUNC">(</span><span class="NAME">func</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
396
|
+
<span class='line'>389</span> </span><span class="WHIT"> </span><span class="NAME">f0</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.createFunction</span><span class="PUNC">(</span><span class="NAME">func</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">varnames</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
397
|
+
<span class='line'>390</span> </span><span class="WHIT"> </span><span class="NAME">f1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.createFunction</span><span class="PUNC">(</span><span class="NAME">func</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">varnames</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
398
|
+
<span class='line'>391</span> </span><span class="WHIT"> </span><span class="NAME">f2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.createFunction</span><span class="PUNC">(</span><span class="NAME">func</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">varnames</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
399
|
+
<span class='line'>392</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
400
|
+
<span class='line'>393</span> * @ignore
|
|
401
|
+
<span class='line'>394</span> */</span><span class="WHIT">
|
|
402
|
+
<span class='line'>395</span> </span><span class="WHIT"> </span><span class="NAME">this.F</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
403
|
+
<span class='line'>396</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">f0</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">f1</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">f2</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
404
|
+
<span class='line'>397</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
405
|
+
<span class='line'>398</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
406
|
+
<span class='line'>399</span> </span><span class="WHIT"> </span><span class="NAME">this.F</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.createFunction</span><span class="PUNC">(</span><span class="NAME">func</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">el.board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">varnames</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
407
|
+
<span class='line'>400</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
408
|
+
<span class='line'>401</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
|
409
|
+
<span class='line'>402</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
410
|
+
<span class='line'>403</span>
|
|
411
|
+
<span class='line'>404</span> </span><span class="WHIT"> </span><span class="NAME">el.setF</span><span class="PUNC">(</span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'x, y, z'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
412
|
+
<span class='line'>405</span> </span><span class="WHIT"> </span><span class="NAME">el.xData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
413
|
+
<span class='line'>406</span> </span><span class="WHIT"> </span><span class="NAME">el.yData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
414
|
+
<span class='line'>407</span> </span><span class="WHIT"> </span><span class="NAME">el.zData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">4</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
415
|
+
<span class='line'>408</span>
|
|
416
|
+
<span class='line'>409</span> </span><span class="WHIT"> </span><span class="NAME">el.updateDataArray</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
417
|
+
<span class='line'>410</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT">
|
|
418
|
+
<span class='line'>411</span> </span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nrm</span><span class="PUNC">,</span><span class="WHIT">
|
|
419
|
+
<span class='line'>412</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="PUNC">,</span><span class="WHIT">
|
|
420
|
+
<span class='line'>413</span> </span><span class="WHIT"> </span><span class="NAME">scale</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.scale</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
421
|
+
<span class='line'>414</span> </span><span class="WHIT"> </span><span class="NAME">start</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
422
|
+
<span class='line'>415</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.xData</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
423
|
+
<span class='line'>416</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.yData</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
424
|
+
<span class='line'>417</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.zData</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
|
|
425
|
+
<span class='line'>418</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
426
|
+
<span class='line'>419</span> </span><span class="WHIT"> </span><span class="NAME">steps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
427
|
+
<span class='line'>420</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.xData</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
428
|
+
<span class='line'>421</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.yData</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
429
|
+
<span class='line'>422</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.zData</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
|
|
430
|
+
<span class='line'>423</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
431
|
+
<span class='line'>424</span> </span><span class="WHIT"> </span><span class="NAME">end</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
432
|
+
<span class='line'>425</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.xData</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
433
|
+
<span class='line'>426</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.yData</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
434
|
+
<span class='line'>427</span> </span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.zData</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
|
|
435
|
+
<span class='line'>428</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
436
|
+
<span class='line'>429</span> </span><span class="WHIT"> </span><span class="NAME">delta</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
437
|
+
<span class='line'>430</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
438
|
+
<span class='line'>431</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
439
|
+
<span class='line'>432</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">end</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT">
|
|
440
|
+
<span class='line'>433</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
441
|
+
<span class='line'>434</span> </span><span class="WHIT"> </span><span class="NAME">phi</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">theta1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">theta2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">theta</span><span class="PUNC">,</span><span class="WHIT">
|
|
442
|
+
<span class='line'>435</span> </span><span class="WHIT"> </span><span class="NAME">showArrow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.arrowhead.enabled</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
443
|
+
<span class='line'>436</span> </span><span class="WHIT"> </span><span class="NAME">leg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">leg_x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">leg_y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">leg_z</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="PUNC">;</span><span class="WHIT">
|
|
444
|
+
<span class='line'>437</span>
|
|
445
|
+
<span class='line'>438</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">showArrow</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
446
|
+
<span class='line'>439</span> </span><span class="WHIT"> </span><span class="COMM">// Arrow head style</span><span class="WHIT">
|
|
447
|
+
<span class='line'>440</span> </span><span class="WHIT"> </span><span class="COMM">// leg = 8;</span><span class="WHIT">
|
|
448
|
+
<span class='line'>441</span> </span><span class="WHIT"> </span><span class="COMM">// alpha = Math.PI * 0.125;</span><span class="WHIT">
|
|
449
|
+
<span class='line'>442</span> </span><span class="WHIT"> </span><span class="NAME">leg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.arrowhead.size</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
450
|
+
<span class='line'>443</span> </span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.arrowhead.angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
451
|
+
<span class='line'>444</span> </span><span class="WHIT"> </span><span class="NAME">leg_x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">leg</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">board.unitX</span><span class="PUNC">;</span><span class="WHIT">
|
|
452
|
+
<span class='line'>445</span> </span><span class="WHIT"> </span><span class="NAME">leg_y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">leg</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">board.unitY</span><span class="PUNC">;</span><span class="WHIT">
|
|
453
|
+
<span class='line'>446</span> </span><span class="WHIT"> </span><span class="NAME">leg_z</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">leg</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">Math.sqrt</span><span class="PUNC">(</span><span class="NAME">board.unitX</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">board.unitY</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
454
|
+
<span class='line'>447</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
455
|
+
<span class='line'>448</span>
|
|
456
|
+
<span class='line'>449</span> </span><span class="WHIT"> </span><span class="NAME">this.dataX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
457
|
+
<span class='line'>450</span> </span><span class="WHIT"> </span><span class="NAME">this.dataY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
458
|
+
<span class='line'>451</span> </span><span class="WHIT"> </span><span class="NAME">this.dataZ</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
459
|
+
<span class='line'>452</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><=</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">delta</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
460
|
+
<span class='line'>453</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC"><=</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">delta</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
461
|
+
<span class='line'>454</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="WHIT"> </span><span class="PUNC"><=</span><span class="WHIT"> </span><span class="NAME">steps</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">z</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">delta</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
462
|
+
<span class='line'>455</span> </span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.F</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
463
|
+
<span class='line'>456</span> </span><span class="WHIT"> </span><span class="NAME">nrm</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Mat.norm</span><span class="PUNC">(</span><span class="NAME">v</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
464
|
+
<span class='line'>457</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">nrm</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">Number.EPSILON</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
465
|
+
<span class='line'>458</span> </span><span class="WHIT"> </span><span class="KEYW">continue</span><span class="PUNC">;</span><span class="WHIT">
|
|
466
|
+
<span class='line'>459</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
467
|
+
<span class='line'>460</span>
|
|
468
|
+
<span class='line'>461</span> </span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scale</span><span class="PUNC">;</span><span class="WHIT">
|
|
469
|
+
<span class='line'>462</span> </span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scale</span><span class="PUNC">;</span><span class="WHIT">
|
|
470
|
+
<span class='line'>463</span> </span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scale</span><span class="PUNC">;</span><span class="WHIT">
|
|
471
|
+
<span class='line'>464</span> </span><span class="WHIT"> </span><span class="NAME">Type.concat</span><span class="PUNC">(</span><span class="NAME">this.dataX</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">NaN</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
472
|
+
<span class='line'>465</span> </span><span class="WHIT"> </span><span class="NAME">Type.concat</span><span class="PUNC">(</span><span class="NAME">this.dataY</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">NaN</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
473
|
+
<span class='line'>466</span> </span><span class="WHIT"> </span><span class="NAME">Type.concat</span><span class="PUNC">(</span><span class="NAME">this.dataZ</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">z</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">z</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">NaN</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
474
|
+
<span class='line'>467</span>
|
|
475
|
+
<span class='line'>468</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">showArrow</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
476
|
+
<span class='line'>469</span> </span><span class="WHIT"> </span><span class="COMM">// Arrow head</span><span class="WHIT">
|
|
477
|
+
<span class='line'>470</span> </span><span class="WHIT"> </span><span class="NAME">nrm</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">scale</span><span class="PUNC">;</span><span class="WHIT">
|
|
478
|
+
<span class='line'>471</span> </span><span class="WHIT"> </span><span class="NAME">phi</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.atan2</span><span class="PUNC">(</span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
479
|
+
<span class='line'>472</span> </span><span class="WHIT"> </span><span class="NAME">theta</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.asin</span><span class="PUNC">(</span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">nrm</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
480
|
+
<span class='line'>473</span> </span><span class="WHIT"> </span><span class="NAME">theta1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">theta</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="PUNC">;</span><span class="WHIT">
|
|
481
|
+
<span class='line'>474</span> </span><span class="WHIT"> </span><span class="NAME">theta2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">theta</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">alpha</span><span class="PUNC">;</span><span class="WHIT">
|
|
482
|
+
<span class='line'>475</span> </span><span class="WHIT"> </span><span class="NAME">Type.concat</span><span class="PUNC">(</span><span class="NAME">this.dataX</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
483
|
+
<span class='line'>476</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">leg_x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">phi</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">theta1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
484
|
+
<span class='line'>477</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
485
|
+
<span class='line'>478</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">leg_x</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">phi</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">theta2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
486
|
+
<span class='line'>479</span> </span><span class="WHIT"> </span><span class="NAME">NaN</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
487
|
+
<span class='line'>480</span> </span><span class="WHIT"> </span><span class="NAME">Type.concat</span><span class="PUNC">(</span><span class="NAME">this.dataY</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
488
|
+
<span class='line'>481</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">leg_y</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">phi</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">theta1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
489
|
+
<span class='line'>482</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
490
|
+
<span class='line'>483</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">leg_y</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">phi</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">theta2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
491
|
+
<span class='line'>484</span> </span><span class="WHIT"> </span><span class="NAME">NaN</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
492
|
+
<span class='line'>485</span> </span><span class="WHIT"> </span><span class="NAME">Type.concat</span><span class="PUNC">(</span><span class="NAME">this.dataZ</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
|
|
493
|
+
<span class='line'>486</span> </span><span class="WHIT"> </span><span class="NAME">z</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">leg_z</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">theta2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
494
|
+
<span class='line'>487</span> </span><span class="WHIT"> </span><span class="NAME">z</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
|
495
|
+
<span class='line'>488</span> </span><span class="WHIT"> </span><span class="NAME">z</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">v</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">leg_z</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">theta1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
|
496
|
+
<span class='line'>489</span> </span><span class="WHIT"> </span><span class="NAME">NaN</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
497
|
+
<span class='line'>490</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
498
|
+
<span class='line'>491</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
499
|
+
<span class='line'>492</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
500
|
+
<span class='line'>493</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
501
|
+
<span class='line'>494</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
502
|
+
<span class='line'>495</span>
|
|
503
|
+
<span class='line'>496</span> </span><span class="WHIT"> </span><span class="NAME">el.methodMap</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.deepCopy</span><span class="PUNC">(</span><span class="NAME">el.methodMap</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
504
|
+
<span class='line'>497</span> </span><span class="WHIT"> </span><span class="NAME">setF</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"setF"</span><span class="WHIT">
|
|
505
|
+
<span class='line'>498</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
506
|
+
<span class='line'>499</span>
|
|
507
|
+
<span class='line'>500</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">el</span><span class="PUNC">;</span><span class="WHIT">
|
|
508
|
+
<span class='line'>501</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
509
|
+
<span class='line'>502</span>
|
|
510
|
+
<span class='line'>503</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"vectorfield3D"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createVectorfield3D</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
511
|
+
<span class='line'>504</span> </span></pre></body></html>
|