manim-web 0.2.0
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/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/animation/Animation.d.ts +69 -0
- package/dist/animation/Animation.d.ts.map +1 -0
- package/dist/animation/AnimationGroup.d.ts +48 -0
- package/dist/animation/AnimationGroup.d.ts.map +1 -0
- package/dist/animation/LaggedStart.d.ts +25 -0
- package/dist/animation/LaggedStart.d.ts.map +1 -0
- package/dist/animation/MaintainPositionRelativeTo.d.ts +23 -0
- package/dist/animation/MaintainPositionRelativeTo.d.ts.map +1 -0
- package/dist/animation/Succession.d.ts +19 -0
- package/dist/animation/Succession.d.ts.map +1 -0
- package/dist/animation/Timeline.d.ts +89 -0
- package/dist/animation/Timeline.d.ts.map +1 -0
- package/dist/animation/UpdateFromAlphaFunc.d.ts +32 -0
- package/dist/animation/UpdateFromAlphaFunc.d.ts.map +1 -0
- package/dist/animation/UpdateFromFunc.d.ts +30 -0
- package/dist/animation/UpdateFromFunc.d.ts.map +1 -0
- package/dist/animation/changing/index.d.ts +213 -0
- package/dist/animation/changing/index.d.ts.map +1 -0
- package/dist/animation/composition/LaggedStartMap.d.ts +47 -0
- package/dist/animation/composition/LaggedStartMap.d.ts.map +1 -0
- package/dist/animation/composition/index.d.ts +5 -0
- package/dist/animation/composition/index.d.ts.map +1 -0
- package/dist/animation/creation/Create.d.ts +232 -0
- package/dist/animation/creation/Create.d.ts.map +1 -0
- package/dist/animation/creation/CreationExtensions.d.ts +127 -0
- package/dist/animation/creation/CreationExtensions.d.ts.map +1 -0
- package/dist/animation/creation/TypeWithCursor.d.ts +133 -0
- package/dist/animation/creation/TypeWithCursor.d.ts.map +1 -0
- package/dist/animation/creation/index.d.ts +4 -0
- package/dist/animation/creation/index.d.ts.map +1 -0
- package/dist/animation/fading/FadeIn.d.ts +31 -0
- package/dist/animation/fading/FadeIn.d.ts.map +1 -0
- package/dist/animation/fading/FadeOut.d.ts +32 -0
- package/dist/animation/fading/FadeOut.d.ts.map +1 -0
- package/dist/animation/fading/index.d.ts +3 -0
- package/dist/animation/fading/index.d.ts.map +1 -0
- package/dist/animation/growing/index.d.ts +103 -0
- package/dist/animation/growing/index.d.ts.map +1 -0
- package/dist/animation/index.d.ts +20 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/indication/ApplyWave.d.ts +51 -0
- package/dist/animation/indication/ApplyWave.d.ts.map +1 -0
- package/dist/animation/indication/Blink.d.ts +34 -0
- package/dist/animation/indication/Blink.d.ts.map +1 -0
- package/dist/animation/indication/Circumscribe.d.ts +54 -0
- package/dist/animation/indication/Circumscribe.d.ts.map +1 -0
- package/dist/animation/indication/Flash.d.ts +45 -0
- package/dist/animation/indication/Flash.d.ts.map +1 -0
- package/dist/animation/indication/FocusOn.d.ts +79 -0
- package/dist/animation/indication/FocusOn.d.ts.map +1 -0
- package/dist/animation/indication/Indicate.d.ts +30 -0
- package/dist/animation/indication/Indicate.d.ts.map +1 -0
- package/dist/animation/indication/ShowCreationThenDestruction.d.ts +26 -0
- package/dist/animation/indication/ShowCreationThenDestruction.d.ts.map +1 -0
- package/dist/animation/indication/ShowPassingFlash.d.ts +47 -0
- package/dist/animation/indication/ShowPassingFlash.d.ts.map +1 -0
- package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts +21 -0
- package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts.map +1 -0
- package/dist/animation/indication/Wiggle.d.ts +48 -0
- package/dist/animation/indication/Wiggle.d.ts.map +1 -0
- package/dist/animation/indication/WiggleOutThenIn.d.ts +44 -0
- package/dist/animation/indication/WiggleOutThenIn.d.ts.map +1 -0
- package/dist/animation/indication/index.d.ts +20 -0
- package/dist/animation/indication/index.d.ts.map +1 -0
- package/dist/animation/movement/Homotopy.d.ts +204 -0
- package/dist/animation/movement/Homotopy.d.ts.map +1 -0
- package/dist/animation/movement/MoveAlongPath.d.ts +48 -0
- package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -0
- package/dist/animation/movement/Rotate.d.ts +47 -0
- package/dist/animation/movement/Rotate.d.ts.map +1 -0
- package/dist/animation/movement/Scale.d.ts +74 -0
- package/dist/animation/movement/Scale.d.ts.map +1 -0
- package/dist/animation/movement/Shift.d.ts +74 -0
- package/dist/animation/movement/Shift.d.ts.map +1 -0
- package/dist/animation/movement/index.d.ts +6 -0
- package/dist/animation/movement/index.d.ts.map +1 -0
- package/dist/animation/numbers/index.d.ts +152 -0
- package/dist/animation/numbers/index.d.ts.map +1 -0
- package/dist/animation/speed/index.d.ts +114 -0
- package/dist/animation/speed/index.d.ts.map +1 -0
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts +23 -0
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -0
- package/dist/animation/transform/Transform.d.ts +89 -0
- package/dist/animation/transform/Transform.d.ts.map +1 -0
- package/dist/animation/transform/TransformExtensions.d.ts +444 -0
- package/dist/animation/transform/TransformExtensions.d.ts.map +1 -0
- package/dist/animation/transform/TransformMatching.d.ts +138 -0
- package/dist/animation/transform/TransformMatching.d.ts.map +1 -0
- package/dist/animation/transform/index.d.ts +5 -0
- package/dist/animation/transform/index.d.ts.map +1 -0
- package/dist/animation/utility/index.d.ts +171 -0
- package/dist/animation/utility/index.d.ts.map +1 -0
- package/dist/constants/colors.d.ts +72 -0
- package/dist/constants/colors.d.ts.map +1 -0
- package/dist/constants/colors.test.d.ts +2 -0
- package/dist/constants/colors.test.d.ts.map +1 -0
- package/dist/constants/directions.test.d.ts +2 -0
- package/dist/constants/directions.test.d.ts.map +1 -0
- package/dist/constants/index.d.ts +16 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/core/AudioManager.d.ts +203 -0
- package/dist/core/AudioManager.d.ts.map +1 -0
- package/dist/core/Camera.d.ts +172 -0
- package/dist/core/Camera.d.ts.map +1 -0
- package/dist/core/Camera2DFrame.d.ts +31 -0
- package/dist/core/Camera2DFrame.d.ts.map +1 -0
- package/dist/core/CameraExtensions.d.ts +420 -0
- package/dist/core/CameraExtensions.d.ts.map +1 -0
- package/dist/core/CameraFrame.d.ts +178 -0
- package/dist/core/CameraFrame.d.ts.map +1 -0
- package/dist/core/Group.d.ts +139 -0
- package/dist/core/Group.d.ts.map +1 -0
- package/dist/core/InteractiveScene.d.ts +122 -0
- package/dist/core/InteractiveScene.d.ts.map +1 -0
- package/dist/core/Lighting.d.ts +128 -0
- package/dist/core/Lighting.d.ts.map +1 -0
- package/dist/core/Mobject.d.ts +488 -0
- package/dist/core/Mobject.d.ts.map +1 -0
- package/dist/core/Renderer.d.ts +84 -0
- package/dist/core/Renderer.d.ts.map +1 -0
- package/dist/core/Scene.d.ts +353 -0
- package/dist/core/Scene.d.ts.map +1 -0
- package/dist/core/SceneExtensions.d.ts +640 -0
- package/dist/core/SceneExtensions.d.ts.map +1 -0
- package/dist/core/SceneExtensions.test.d.ts +2 -0
- package/dist/core/SceneExtensions.test.d.ts.map +1 -0
- package/dist/core/StateManager.d.ts +193 -0
- package/dist/core/StateManager.d.ts.map +1 -0
- package/dist/core/VDict.d.ts +229 -0
- package/dist/core/VDict.d.ts.map +1 -0
- package/dist/core/VGroup.d.ts +200 -0
- package/dist/core/VGroup.d.ts.map +1 -0
- package/dist/core/VMobject.d.ts +419 -0
- package/dist/core/VMobject.d.ts.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/examples.test.d.ts +2 -0
- package/dist/examples.test.d.ts.map +1 -0
- package/dist/export/GifExporter.d.ts +40 -0
- package/dist/export/GifExporter.d.ts.map +1 -0
- package/dist/export/VideoExporter.d.ts +135 -0
- package/dist/export/VideoExporter.d.ts.map +1 -0
- package/dist/export/index.d.ts +3 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49064 -0
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/react.d.ts +144 -0
- package/dist/integrations/react.d.ts.map +1 -0
- package/dist/integrations/react.js +570 -0
- package/dist/integrations/vue.d.ts +249 -0
- package/dist/integrations/vue.d.ts.map +1 -0
- package/dist/integrations/vue.js +560 -0
- package/dist/interaction/Clickable.d.ts +71 -0
- package/dist/interaction/Clickable.d.ts.map +1 -0
- package/dist/interaction/Controls.d.ts +174 -0
- package/dist/interaction/Controls.d.ts.map +1 -0
- package/dist/interaction/Draggable.d.ts +88 -0
- package/dist/interaction/Draggable.d.ts.map +1 -0
- package/dist/interaction/Hoverable.d.ts +82 -0
- package/dist/interaction/Hoverable.d.ts.map +1 -0
- package/dist/interaction/OrbitControls.d.ts +139 -0
- package/dist/interaction/OrbitControls.d.ts.map +1 -0
- package/dist/interaction/PlaybackControls.d.ts +113 -0
- package/dist/interaction/PlaybackControls.d.ts.map +1 -0
- package/dist/interaction/SelectionManager.d.ts +125 -0
- package/dist/interaction/SelectionManager.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +12 -0
- package/dist/interaction/index.d.ts.map +1 -0
- package/dist/mobjects/fractals/MandelbrotSet.d.ts +92 -0
- package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -0
- package/dist/mobjects/fractals/NewtonFractal.d.ts +121 -0
- package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -0
- package/dist/mobjects/fractals/index.d.ts +3 -0
- package/dist/mobjects/fractals/index.d.ts.map +1 -0
- package/dist/mobjects/frame/index.d.ts +188 -0
- package/dist/mobjects/frame/index.d.ts.map +1 -0
- package/dist/mobjects/geometry/AngleShapes.d.ts +326 -0
- package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -0
- package/dist/mobjects/geometry/Arc.d.ts +111 -0
- package/dist/mobjects/geometry/Arc.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +68 -0
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArcShapes.d.ts +659 -0
- package/dist/mobjects/geometry/ArcShapes.d.ts.map +1 -0
- package/dist/mobjects/geometry/Arrow.d.ts +130 -0
- package/dist/mobjects/geometry/Arrow.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArrowTips.d.ts +238 -0
- package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -0
- package/dist/mobjects/geometry/BooleanOperations.d.ts +163 -0
- package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -0
- package/dist/mobjects/geometry/Circle.d.ts +92 -0
- package/dist/mobjects/geometry/Circle.d.ts.map +1 -0
- package/dist/mobjects/geometry/CubicBezier.d.ts +126 -0
- package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -0
- package/dist/mobjects/geometry/DashedLine.d.ts +109 -0
- package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -0
- package/dist/mobjects/geometry/DashedVMobject.d.ts +96 -0
- package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -0
- package/dist/mobjects/geometry/Dot.d.ts +100 -0
- package/dist/mobjects/geometry/Dot.d.ts.map +1 -0
- package/dist/mobjects/geometry/LabeledGeometry.d.ts +372 -0
- package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -0
- package/dist/mobjects/geometry/Line.d.ts +83 -0
- package/dist/mobjects/geometry/Line.d.ts.map +1 -0
- package/dist/mobjects/geometry/Polygon.d.ts +155 -0
- package/dist/mobjects/geometry/Polygon.d.ts.map +1 -0
- package/dist/mobjects/geometry/PolygonExtensions.d.ts +412 -0
- package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -0
- package/dist/mobjects/geometry/Rectangle.d.ts +123 -0
- package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -0
- package/dist/mobjects/geometry/ShapeMatchers.d.ts +252 -0
- package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -0
- package/dist/mobjects/geometry/index.d.ts +25 -0
- package/dist/mobjects/geometry/index.d.ts.map +1 -0
- package/dist/mobjects/graph/index.d.ts +425 -0
- package/dist/mobjects/graph/index.d.ts.map +1 -0
- package/dist/mobjects/graphing/Axes.d.ts +254 -0
- package/dist/mobjects/graphing/Axes.d.ts.map +1 -0
- package/dist/mobjects/graphing/BarChart.d.ts +241 -0
- package/dist/mobjects/graphing/BarChart.d.ts.map +1 -0
- package/dist/mobjects/graphing/ComplexPlane.d.ts +311 -0
- package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -0
- package/dist/mobjects/graphing/FunctionGraph.d.ts +123 -0
- package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -0
- package/dist/mobjects/graphing/ImplicitFunction.d.ts +131 -0
- package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -0
- package/dist/mobjects/graphing/NumberLine.d.ts +195 -0
- package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -0
- package/dist/mobjects/graphing/NumberPlane.d.ts +91 -0
- package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -0
- package/dist/mobjects/graphing/ParametricFunction.d.ts +111 -0
- package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -0
- package/dist/mobjects/graphing/Vector.d.ts +121 -0
- package/dist/mobjects/graphing/Vector.d.ts.map +1 -0
- package/dist/mobjects/graphing/VectorField.d.ts +321 -0
- package/dist/mobjects/graphing/VectorField.d.ts.map +1 -0
- package/dist/mobjects/graphing/index.d.ts +18 -0
- package/dist/mobjects/graphing/index.d.ts.map +1 -0
- package/dist/mobjects/image/index.d.ts +223 -0
- package/dist/mobjects/image/index.d.ts.map +1 -0
- package/dist/mobjects/matrix/Matrix.d.ts +260 -0
- package/dist/mobjects/matrix/Matrix.d.ts.map +1 -0
- package/dist/mobjects/matrix/index.d.ts +8 -0
- package/dist/mobjects/matrix/index.d.ts.map +1 -0
- package/dist/mobjects/point/index.d.ts +707 -0
- package/dist/mobjects/point/index.d.ts.map +1 -0
- package/dist/mobjects/probability/DiceFace.d.ts +137 -0
- package/dist/mobjects/probability/DiceFace.d.ts.map +1 -0
- package/dist/mobjects/probability/SampleSpace.d.ts +267 -0
- package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -0
- package/dist/mobjects/probability/index.d.ts +9 -0
- package/dist/mobjects/probability/index.d.ts.map +1 -0
- package/dist/mobjects/svg/Brace.d.ts +308 -0
- package/dist/mobjects/svg/Brace.d.ts.map +1 -0
- package/dist/mobjects/svg/SVGMobject.d.ts +64 -0
- package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -0
- package/dist/mobjects/svg/index.d.ts +10 -0
- package/dist/mobjects/svg/index.d.ts.map +1 -0
- package/dist/mobjects/table/Table.d.ts +315 -0
- package/dist/mobjects/table/Table.d.ts.map +1 -0
- package/dist/mobjects/table/index.d.ts +8 -0
- package/dist/mobjects/table/index.d.ts.map +1 -0
- package/dist/mobjects/text/Code.d.ts +244 -0
- package/dist/mobjects/text/Code.d.ts.map +1 -0
- package/dist/mobjects/text/DecimalNumber.d.ts +199 -0
- package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -0
- package/dist/mobjects/text/GlyphVMobject.d.ts +76 -0
- package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -0
- package/dist/mobjects/text/MarkupText.d.ts +161 -0
- package/dist/mobjects/text/MarkupText.d.ts.map +1 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts +49 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -0
- package/dist/mobjects/text/MathTex.d.ts +242 -0
- package/dist/mobjects/text/MathTex.d.ts.map +1 -0
- package/dist/mobjects/text/Paragraph.d.ts +86 -0
- package/dist/mobjects/text/Paragraph.d.ts.map +1 -0
- package/dist/mobjects/text/Tex.d.ts +40 -0
- package/dist/mobjects/text/Tex.d.ts.map +1 -0
- package/dist/mobjects/text/Text.d.ts +171 -0
- package/dist/mobjects/text/Text.d.ts.map +1 -0
- package/dist/mobjects/text/TextExtensions.d.ts +383 -0
- package/dist/mobjects/text/TextExtensions.d.ts.map +1 -0
- package/dist/mobjects/text/TextGlyphGroup.d.ts +48 -0
- package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -0
- package/dist/mobjects/text/Variable.d.ts +160 -0
- package/dist/mobjects/text/Variable.d.ts.map +1 -0
- package/dist/mobjects/text/index.d.ts +21 -0
- package/dist/mobjects/text/index.d.ts.map +1 -0
- package/dist/mobjects/text/katex-styles.d.ts +23 -0
- package/dist/mobjects/text/katex-styles.d.ts.map +1 -0
- package/dist/mobjects/text/svgPathParser.d.ts +39 -0
- package/dist/mobjects/text/svgPathParser.d.ts.map +1 -0
- package/dist/mobjects/three-d/Arrow3D.d.ts +136 -0
- package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/Cube.d.ts +186 -0
- package/dist/mobjects/three-d/Cube.d.ts.map +1 -0
- package/dist/mobjects/three-d/Cylinder.d.ts +189 -0
- package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -0
- package/dist/mobjects/three-d/Line3D.d.ts +100 -0
- package/dist/mobjects/three-d/Line3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts +86 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -0
- package/dist/mobjects/three-d/Polyhedra.d.ts +271 -0
- package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -0
- package/dist/mobjects/three-d/Sphere.d.ts +100 -0
- package/dist/mobjects/three-d/Sphere.d.ts.map +1 -0
- package/dist/mobjects/three-d/Surface3D.d.ts +156 -0
- package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/TexturedSurface.d.ts +208 -0
- package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts +172 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts +335 -0
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -0
- package/dist/mobjects/three-d/Torus.d.ts +123 -0
- package/dist/mobjects/three-d/Torus.d.ts.map +1 -0
- package/dist/mobjects/three-d/index.d.ts +19 -0
- package/dist/mobjects/three-d/index.d.ts.map +1 -0
- package/dist/mobjects/value-tracker/ValueTracker.d.ts +248 -0
- package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -0
- package/dist/mobjects/value-tracker/index.d.ts +9 -0
- package/dist/mobjects/value-tracker/index.d.ts.map +1 -0
- package/dist/rate-functions/index.d.ts +81 -0
- package/dist/rate-functions/index.d.ts.map +1 -0
- package/dist/rate-functions/rateFunctions.test.d.ts +2 -0
- package/dist/rate-functions/rateFunctions.test.d.ts.map +1 -0
- package/dist/rendering/BezierRenderer.d.ts +112 -0
- package/dist/rendering/BezierRenderer.d.ts.map +1 -0
- package/dist/rendering/BezierShaderMaterial.d.ts +50 -0
- package/dist/rendering/BezierShaderMaterial.d.ts.map +1 -0
- package/dist/rendering/index.d.ts +10 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/utils/Performance.d.ts +118 -0
- package/dist/utils/Performance.d.ts.map +1 -0
- package/dist/utils/featureFlags.d.ts +15 -0
- package/dist/utils/featureFlags.d.ts.map +1 -0
- package/dist/utils/hungarian.d.ts +66 -0
- package/dist/utils/hungarian.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/math.d.ts +52 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/ode.d.ts +135 -0
- package/dist/utils/ode.d.ts.map +1 -0
- package/dist/utils/skeletonize.d.ts +35 -0
- package/dist/utils/skeletonize.d.ts.map +1 -0
- package/dist/utils/triangulate.d.ts +54 -0
- package/dist/utils/triangulate.d.ts.map +1 -0
- package/dist/utils/vectors.d.ts +57 -0
- package/dist/utils/vectors.d.ts.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { VGroup } from '../../core/VGroup';
|
|
3
|
+
import { Line, LineOptions } from './Line';
|
|
4
|
+
import { Arrow, ArrowOptions } from './Arrow';
|
|
5
|
+
import { Dot, DotOptions } from './Dot';
|
|
6
|
+
import { Circle } from './Circle';
|
|
7
|
+
import { Text } from '../text/Text';
|
|
8
|
+
/**
|
|
9
|
+
* Direction constants for label positioning
|
|
10
|
+
*/
|
|
11
|
+
export type LabelDirection = 'UP' | 'DOWN' | 'LEFT' | 'RIGHT' | 'UL' | 'UR' | 'DL' | 'DR';
|
|
12
|
+
/**
|
|
13
|
+
* Label orientation options for lines
|
|
14
|
+
*/
|
|
15
|
+
export type LabelOrientation = 'parallel' | 'perpendicular' | 'horizontal';
|
|
16
|
+
/**
|
|
17
|
+
* Options for creating a LabeledLine
|
|
18
|
+
*/
|
|
19
|
+
export interface LabeledLineOptions extends Omit<LineOptions, 'start' | 'end'> {
|
|
20
|
+
/** Start point of the line. Default: [0, 0, 0] */
|
|
21
|
+
start?: Vector3Tuple;
|
|
22
|
+
/** End point of the line. Default: [1, 0, 0] */
|
|
23
|
+
end?: Vector3Tuple;
|
|
24
|
+
/** Text label content */
|
|
25
|
+
label: string;
|
|
26
|
+
/** Position of label along line (0 = start, 0.5 = midpoint, 1 = end). Default: 0.5 */
|
|
27
|
+
labelPosition?: number;
|
|
28
|
+
/** Label orientation relative to line. Default: 'parallel' */
|
|
29
|
+
labelOrientation?: LabelOrientation;
|
|
30
|
+
/** Distance of label from line. Default: 0.2 */
|
|
31
|
+
labelOffset?: number;
|
|
32
|
+
/** Font size for label. Default: 36 */
|
|
33
|
+
labelFontSize?: number;
|
|
34
|
+
/** Color for label text. Default: same as line color */
|
|
35
|
+
labelColor?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* LabeledLine - A line with an attached text label
|
|
39
|
+
*
|
|
40
|
+
* Creates a line segment with a text label positioned at a specified point
|
|
41
|
+
* along the line (default: midpoint). The label can be oriented parallel
|
|
42
|
+
* or perpendicular to the line.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Create a labeled line at midpoint
|
|
47
|
+
* const line = new LabeledLine({
|
|
48
|
+
* start: [-2, 0, 0],
|
|
49
|
+
* end: [2, 0, 0],
|
|
50
|
+
* label: 'Distance = 4'
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* // Label perpendicular to line
|
|
54
|
+
* const perpLine = new LabeledLine({
|
|
55
|
+
* start: [0, -1, 0],
|
|
56
|
+
* end: [0, 2, 0],
|
|
57
|
+
* label: 'Height',
|
|
58
|
+
* labelOrientation: 'perpendicular',
|
|
59
|
+
* labelOffset: 0.3
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare class LabeledLine extends VGroup {
|
|
64
|
+
private _line;
|
|
65
|
+
private _label;
|
|
66
|
+
private _labelPosition;
|
|
67
|
+
private _labelOrientation;
|
|
68
|
+
private _labelOffset;
|
|
69
|
+
constructor(options: LabeledLineOptions);
|
|
70
|
+
/**
|
|
71
|
+
* Update the label position and orientation based on line geometry
|
|
72
|
+
*/
|
|
73
|
+
private _updateLabelPosition;
|
|
74
|
+
/**
|
|
75
|
+
* Get the underlying Line mobject
|
|
76
|
+
*/
|
|
77
|
+
getLine(): Line;
|
|
78
|
+
/**
|
|
79
|
+
* Get the Text label mobject
|
|
80
|
+
*/
|
|
81
|
+
getLabel(): Text;
|
|
82
|
+
/**
|
|
83
|
+
* Set the label text
|
|
84
|
+
*/
|
|
85
|
+
setLabelText(text: string): this;
|
|
86
|
+
/**
|
|
87
|
+
* Set the label position along the line
|
|
88
|
+
*/
|
|
89
|
+
setLabelPosition(position: number): this;
|
|
90
|
+
/**
|
|
91
|
+
* Set the label offset from the line
|
|
92
|
+
*/
|
|
93
|
+
setLabelOffset(offset: number): this;
|
|
94
|
+
/**
|
|
95
|
+
* Update line endpoints and reposition label
|
|
96
|
+
*/
|
|
97
|
+
setEndpoints(start: Vector3Tuple, end: Vector3Tuple): this;
|
|
98
|
+
/**
|
|
99
|
+
* Create a copy of this LabeledLine
|
|
100
|
+
*/
|
|
101
|
+
protected _createCopy(): LabeledLine;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Options for creating a LabeledArrow
|
|
105
|
+
*/
|
|
106
|
+
export interface LabeledArrowOptions extends Omit<ArrowOptions, 'start' | 'end'> {
|
|
107
|
+
/** Start point of the arrow. Default: [0, 0, 0] */
|
|
108
|
+
start?: Vector3Tuple;
|
|
109
|
+
/** End point of the arrow (where the tip points). Default: [1, 0, 0] */
|
|
110
|
+
end?: Vector3Tuple;
|
|
111
|
+
/** Text label content */
|
|
112
|
+
label: string;
|
|
113
|
+
/** Position of label along arrow (0 = start, 0.5 = midpoint, 1 = end). Default: 0.5 */
|
|
114
|
+
labelPosition?: number;
|
|
115
|
+
/** Label orientation relative to arrow. Default: 'parallel' */
|
|
116
|
+
labelOrientation?: LabelOrientation;
|
|
117
|
+
/** Distance of label from arrow. Default: 0.25 */
|
|
118
|
+
labelOffset?: number;
|
|
119
|
+
/** Font size for label. Default: 36 */
|
|
120
|
+
labelFontSize?: number;
|
|
121
|
+
/** Color for label text. Default: same as arrow color */
|
|
122
|
+
labelColor?: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* LabeledArrow - An arrow with an attached text label
|
|
126
|
+
*
|
|
127
|
+
* Creates an arrow with a text label positioned near the arrow body.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* // Create a labeled arrow
|
|
132
|
+
* const arrow = new LabeledArrow({
|
|
133
|
+
* start: [-2, 0, 0],
|
|
134
|
+
* end: [2, 0, 0],
|
|
135
|
+
* label: 'Force F'
|
|
136
|
+
* });
|
|
137
|
+
*
|
|
138
|
+
* // Label near the tip
|
|
139
|
+
* const tipArrow = new LabeledArrow({
|
|
140
|
+
* start: [0, 0, 0],
|
|
141
|
+
* end: [3, 1, 0],
|
|
142
|
+
* label: 'v',
|
|
143
|
+
* labelPosition: 0.7
|
|
144
|
+
* });
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare class LabeledArrow extends VGroup {
|
|
148
|
+
private _arrow;
|
|
149
|
+
private _label;
|
|
150
|
+
private _labelPosition;
|
|
151
|
+
private _labelOrientation;
|
|
152
|
+
private _labelOffset;
|
|
153
|
+
constructor(options: LabeledArrowOptions);
|
|
154
|
+
/**
|
|
155
|
+
* Update the label position and orientation based on arrow geometry
|
|
156
|
+
*/
|
|
157
|
+
private _updateLabelPosition;
|
|
158
|
+
/**
|
|
159
|
+
* Get the underlying Arrow mobject
|
|
160
|
+
*/
|
|
161
|
+
getArrow(): Arrow;
|
|
162
|
+
/**
|
|
163
|
+
* Get the Text label mobject
|
|
164
|
+
*/
|
|
165
|
+
getLabel(): Text;
|
|
166
|
+
/**
|
|
167
|
+
* Set the label text
|
|
168
|
+
*/
|
|
169
|
+
setLabelText(text: string): this;
|
|
170
|
+
/**
|
|
171
|
+
* Set the label position along the arrow
|
|
172
|
+
*/
|
|
173
|
+
setLabelPosition(position: number): this;
|
|
174
|
+
/**
|
|
175
|
+
* Set the label offset from the arrow
|
|
176
|
+
*/
|
|
177
|
+
setLabelOffset(offset: number): this;
|
|
178
|
+
/**
|
|
179
|
+
* Update arrow endpoints and reposition label
|
|
180
|
+
*/
|
|
181
|
+
setEndpoints(start: Vector3Tuple, end: Vector3Tuple): this;
|
|
182
|
+
/**
|
|
183
|
+
* Create a copy of this LabeledArrow
|
|
184
|
+
*/
|
|
185
|
+
protected _createCopy(): LabeledArrow;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Options for creating a LabeledDot
|
|
189
|
+
*/
|
|
190
|
+
export interface LabeledDotOptions extends Omit<DotOptions, 'point'> {
|
|
191
|
+
/** Position of the dot. Default: [0, 0, 0] */
|
|
192
|
+
point?: Vector3Tuple;
|
|
193
|
+
/** Text label content */
|
|
194
|
+
label: string;
|
|
195
|
+
/** Direction of label relative to dot. Default: 'UP' */
|
|
196
|
+
labelDirection?: LabelDirection;
|
|
197
|
+
/** Distance of label from dot center. Default: 0.3 */
|
|
198
|
+
labelOffset?: number;
|
|
199
|
+
/** Font size for label. Default: 36 */
|
|
200
|
+
labelFontSize?: number;
|
|
201
|
+
/** Color for label text. Default: white */
|
|
202
|
+
labelColor?: string;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* LabeledDot - A dot with an attached text label
|
|
206
|
+
*
|
|
207
|
+
* Creates a small filled circle (dot) with a text label positioned
|
|
208
|
+
* in a specified direction relative to the dot.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```typescript
|
|
212
|
+
* // Create a labeled point
|
|
213
|
+
* const pointA = new LabeledDot({
|
|
214
|
+
* point: [1, 2, 0],
|
|
215
|
+
* label: 'A',
|
|
216
|
+
* labelDirection: 'UR'
|
|
217
|
+
* });
|
|
218
|
+
*
|
|
219
|
+
* // Label below the dot
|
|
220
|
+
* const pointB = new LabeledDot({
|
|
221
|
+
* point: [-1, 0, 0],
|
|
222
|
+
* label: 'B',
|
|
223
|
+
* labelDirection: 'DOWN',
|
|
224
|
+
* labelOffset: 0.4
|
|
225
|
+
* });
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
export declare class LabeledDot extends VGroup {
|
|
229
|
+
private _dot;
|
|
230
|
+
private _label;
|
|
231
|
+
private _labelDirection;
|
|
232
|
+
private _labelOffset;
|
|
233
|
+
constructor(options: LabeledDotOptions);
|
|
234
|
+
/**
|
|
235
|
+
* Update the label position based on dot position and direction
|
|
236
|
+
*/
|
|
237
|
+
private _updateLabelPosition;
|
|
238
|
+
/**
|
|
239
|
+
* Get the underlying Dot mobject
|
|
240
|
+
*/
|
|
241
|
+
getDot(): Dot;
|
|
242
|
+
/**
|
|
243
|
+
* Get the Text label mobject
|
|
244
|
+
*/
|
|
245
|
+
getLabel(): Text;
|
|
246
|
+
/**
|
|
247
|
+
* Move the dot and label to a new position
|
|
248
|
+
*/
|
|
249
|
+
moveTo(point: Vector3Tuple): this;
|
|
250
|
+
/**
|
|
251
|
+
* Set the label text
|
|
252
|
+
*/
|
|
253
|
+
setLabelText(text: string): this;
|
|
254
|
+
/**
|
|
255
|
+
* Set the label direction
|
|
256
|
+
*/
|
|
257
|
+
setLabelDirection(direction: LabelDirection): this;
|
|
258
|
+
/**
|
|
259
|
+
* Set the label offset from the dot
|
|
260
|
+
*/
|
|
261
|
+
setLabelOffset(offset: number): this;
|
|
262
|
+
/**
|
|
263
|
+
* Get the position of the dot
|
|
264
|
+
*/
|
|
265
|
+
getPoint(): Vector3Tuple;
|
|
266
|
+
/**
|
|
267
|
+
* Create a copy of this LabeledDot
|
|
268
|
+
*/
|
|
269
|
+
protected _createCopy(): LabeledDot;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Options for creating an AnnotationDot
|
|
273
|
+
*/
|
|
274
|
+
export interface AnnotationDotOptions extends Omit<DotOptions, 'point'> {
|
|
275
|
+
/** Position of the dot. Default: [0, 0, 0] */
|
|
276
|
+
point?: Vector3Tuple;
|
|
277
|
+
/** Optional text label content */
|
|
278
|
+
label?: string;
|
|
279
|
+
/** Direction of label relative to dot. Default: 'UR' */
|
|
280
|
+
labelDirection?: LabelDirection;
|
|
281
|
+
/** Distance of label from dot center. Default: 0.4 */
|
|
282
|
+
labelOffset?: number;
|
|
283
|
+
/** Font size for label. Default: 36 */
|
|
284
|
+
labelFontSize?: number;
|
|
285
|
+
/** Color for label text. Default: same as dot color */
|
|
286
|
+
labelColor?: string;
|
|
287
|
+
/** Whether to show outline/glow effect. Default: true */
|
|
288
|
+
showOutline?: boolean;
|
|
289
|
+
/** Color of the outline. Default: same as dot color with lower opacity */
|
|
290
|
+
outlineColor?: string;
|
|
291
|
+
/** Scale of the outline relative to dot. Default: 1.5 */
|
|
292
|
+
outlineScale?: number;
|
|
293
|
+
/** Opacity of the outline. Default: 0.3 */
|
|
294
|
+
outlineOpacity?: number;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* AnnotationDot - A larger, more visible dot for annotations
|
|
298
|
+
*
|
|
299
|
+
* Creates a prominent dot with optional outline/glow effect and text label.
|
|
300
|
+
* Useful for marking important points in visualizations.
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* // Create an annotation dot with glow
|
|
305
|
+
* const annotDot = new AnnotationDot({
|
|
306
|
+
* point: [2, 1, 0],
|
|
307
|
+
* label: 'Critical Point',
|
|
308
|
+
* color: '#ff0000'
|
|
309
|
+
* });
|
|
310
|
+
*
|
|
311
|
+
* // Without outline
|
|
312
|
+
* const simpleAnnot = new AnnotationDot({
|
|
313
|
+
* point: [0, 0, 0],
|
|
314
|
+
* showOutline: false,
|
|
315
|
+
* label: 'Origin'
|
|
316
|
+
* });
|
|
317
|
+
* ```
|
|
318
|
+
*/
|
|
319
|
+
export declare class AnnotationDot extends VGroup {
|
|
320
|
+
private _dot;
|
|
321
|
+
private _outline;
|
|
322
|
+
private _label;
|
|
323
|
+
private _labelDirection;
|
|
324
|
+
private _labelOffset;
|
|
325
|
+
private _showOutline;
|
|
326
|
+
constructor(options?: AnnotationDotOptions);
|
|
327
|
+
/**
|
|
328
|
+
* Update the label position based on dot position and direction
|
|
329
|
+
*/
|
|
330
|
+
private _updateLabelPosition;
|
|
331
|
+
/**
|
|
332
|
+
* Get the underlying Dot mobject
|
|
333
|
+
*/
|
|
334
|
+
getDot(): Dot;
|
|
335
|
+
/**
|
|
336
|
+
* Get the outline Circle (if enabled)
|
|
337
|
+
*/
|
|
338
|
+
getOutline(): Circle | null;
|
|
339
|
+
/**
|
|
340
|
+
* Get the Text label mobject (if set)
|
|
341
|
+
*/
|
|
342
|
+
getLabel(): Text | null;
|
|
343
|
+
/**
|
|
344
|
+
* Move the dot (and outline/label) to a new position
|
|
345
|
+
*/
|
|
346
|
+
moveTo(point: Vector3Tuple): this;
|
|
347
|
+
/**
|
|
348
|
+
* Set the label text
|
|
349
|
+
*/
|
|
350
|
+
setLabelText(text: string): this;
|
|
351
|
+
/**
|
|
352
|
+
* Set the label direction
|
|
353
|
+
*/
|
|
354
|
+
setLabelDirection(direction: LabelDirection): this;
|
|
355
|
+
/**
|
|
356
|
+
* Set the label offset from the dot
|
|
357
|
+
*/
|
|
358
|
+
setLabelOffset(offset: number): this;
|
|
359
|
+
/**
|
|
360
|
+
* Get the position of the dot
|
|
361
|
+
*/
|
|
362
|
+
getPoint(): Vector3Tuple;
|
|
363
|
+
/**
|
|
364
|
+
* Show or hide the outline
|
|
365
|
+
*/
|
|
366
|
+
setShowOutline(show: boolean): this;
|
|
367
|
+
/**
|
|
368
|
+
* Create a copy of this AnnotationDot
|
|
369
|
+
*/
|
|
370
|
+
protected _createCopy(): AnnotationDot;
|
|
371
|
+
}
|
|
372
|
+
//# sourceMappingURL=LabeledGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabeledGeometry.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/LabeledGeometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating a Line
|
|
5
|
+
*/
|
|
6
|
+
export interface LineOptions {
|
|
7
|
+
/** Start point of the line. Default: [0, 0, 0] */
|
|
8
|
+
start?: Vector3Tuple;
|
|
9
|
+
/** End point of the line. Default: [1, 0, 0] */
|
|
10
|
+
end?: Vector3Tuple;
|
|
11
|
+
/** Stroke color as CSS color string. Default: WHITE */
|
|
12
|
+
color?: string;
|
|
13
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
14
|
+
strokeWidth?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Line - A straight line segment VMobject
|
|
18
|
+
*
|
|
19
|
+
* Creates a simple line from a start point to an end point.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // Create a horizontal line
|
|
24
|
+
* const line = new Line();
|
|
25
|
+
*
|
|
26
|
+
* // Create a diagonal line
|
|
27
|
+
* const diagonal = new Line({
|
|
28
|
+
* start: [-1, -1, 0],
|
|
29
|
+
* end: [1, 1, 0],
|
|
30
|
+
* color: '#00ff00'
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class Line extends VMobject {
|
|
35
|
+
private _start;
|
|
36
|
+
private _end;
|
|
37
|
+
constructor(options?: LineOptions);
|
|
38
|
+
/**
|
|
39
|
+
* Generate the line points as a degenerate cubic Bezier
|
|
40
|
+
*/
|
|
41
|
+
private _generatePoints;
|
|
42
|
+
/**
|
|
43
|
+
* Get the start point (derived from transformed _points3D when available)
|
|
44
|
+
*/
|
|
45
|
+
getStart(): Vector3Tuple;
|
|
46
|
+
/**
|
|
47
|
+
* Set the start point
|
|
48
|
+
*/
|
|
49
|
+
setStart(point: Vector3Tuple): this;
|
|
50
|
+
/**
|
|
51
|
+
* Get the end point (derived from transformed _points3D when available)
|
|
52
|
+
*/
|
|
53
|
+
getEnd(): Vector3Tuple;
|
|
54
|
+
/**
|
|
55
|
+
* Set the end point
|
|
56
|
+
*/
|
|
57
|
+
setEnd(point: Vector3Tuple): this;
|
|
58
|
+
/**
|
|
59
|
+
* Get the length of the line
|
|
60
|
+
*/
|
|
61
|
+
getLength(): number;
|
|
62
|
+
/**
|
|
63
|
+
* Get the midpoint of the line
|
|
64
|
+
*/
|
|
65
|
+
getMidpoint(): Vector3Tuple;
|
|
66
|
+
/**
|
|
67
|
+
* Get the direction vector of the line (normalized)
|
|
68
|
+
*/
|
|
69
|
+
getDirection(): Vector3Tuple;
|
|
70
|
+
/**
|
|
71
|
+
* Get the angle of the line in the XY plane (in radians)
|
|
72
|
+
*/
|
|
73
|
+
getAngle(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Get a point along the line at parameter t (0 = start, 1 = end)
|
|
76
|
+
*/
|
|
77
|
+
pointAlongPath(t: number): Vector3Tuple;
|
|
78
|
+
/**
|
|
79
|
+
* Create a copy of this Line
|
|
80
|
+
*/
|
|
81
|
+
protected _createCopy(): Line;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=Line.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Line.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/Line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,gDAAgD;IAChD,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,IAAK,SAAQ,QAAQ;IAChC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAe;gBAEf,OAAO,GAAE,WAAgB;IAoBrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,QAAQ,IAAI,YAAY;IAQxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMnC;;OAEG;IACH,MAAM,IAAI,YAAY;IAQtB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMjC;;OAEG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,WAAW,IAAI,YAAY;IAQ3B;;OAEG;IACH,YAAY,IAAI,YAAY;IAY5B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB;;OAEG;IACH,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY;IAQvC;;OAEG;cACgB,WAAW,IAAI,IAAI;CAQvC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating a Polygon
|
|
5
|
+
*/
|
|
6
|
+
export interface PolygonOptions {
|
|
7
|
+
/** Array of vertices defining the polygon. Required. */
|
|
8
|
+
vertices: Vector3Tuple[];
|
|
9
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
10
|
+
color?: string;
|
|
11
|
+
/** Fill opacity from 0 to 1. Default: 0 */
|
|
12
|
+
fillOpacity?: number;
|
|
13
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
14
|
+
strokeWidth?: number;
|
|
15
|
+
/** Whether to close the polygon. Default: true */
|
|
16
|
+
closed?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Polygon - A polygonal VMobject defined by vertices
|
|
20
|
+
*
|
|
21
|
+
* Creates a polygon by connecting a series of vertices with line segments.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Create a triangle
|
|
26
|
+
* const triangle = new Polygon({
|
|
27
|
+
* vertices: [
|
|
28
|
+
* [0, 1, 0],
|
|
29
|
+
* [-1, -0.5, 0],
|
|
30
|
+
* [1, -0.5, 0]
|
|
31
|
+
* ]
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* // Create an open path (not closed)
|
|
35
|
+
* const path = new Polygon({
|
|
36
|
+
* vertices: [[0, 0, 0], [1, 1, 0], [2, 0, 0]],
|
|
37
|
+
* closed: false
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class Polygon extends VMobject {
|
|
42
|
+
private _vertices;
|
|
43
|
+
private _closed;
|
|
44
|
+
constructor(options: PolygonOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Generate the polygon points from vertices as line segments
|
|
47
|
+
*/
|
|
48
|
+
private _generatePoints;
|
|
49
|
+
/**
|
|
50
|
+
* Get the vertices of the polygon
|
|
51
|
+
*/
|
|
52
|
+
getVertices(): Vector3Tuple[];
|
|
53
|
+
/**
|
|
54
|
+
* Set the vertices of the polygon
|
|
55
|
+
*/
|
|
56
|
+
setVertices(vertices: Vector3Tuple[]): this;
|
|
57
|
+
/**
|
|
58
|
+
* Get whether the polygon is closed
|
|
59
|
+
*/
|
|
60
|
+
isClosed(): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Set whether the polygon is closed
|
|
63
|
+
*/
|
|
64
|
+
setClosed(value: boolean): this;
|
|
65
|
+
/**
|
|
66
|
+
* Get the number of vertices
|
|
67
|
+
*/
|
|
68
|
+
getVertexCount(): number;
|
|
69
|
+
/**
|
|
70
|
+
* Get a specific vertex by index
|
|
71
|
+
*/
|
|
72
|
+
getVertex(index: number): Vector3Tuple;
|
|
73
|
+
/**
|
|
74
|
+
* Set a specific vertex by index
|
|
75
|
+
*/
|
|
76
|
+
setVertex(index: number, point: Vector3Tuple): this;
|
|
77
|
+
/**
|
|
78
|
+
* Get the centroid of the polygon
|
|
79
|
+
*/
|
|
80
|
+
getCentroid(): Vector3Tuple;
|
|
81
|
+
/**
|
|
82
|
+
* Calculate the area of the polygon using the Shoelace formula (2D, in XY plane)
|
|
83
|
+
* Returns a positive value for counter-clockwise vertices, negative for clockwise
|
|
84
|
+
*/
|
|
85
|
+
getSignedArea(): number;
|
|
86
|
+
/**
|
|
87
|
+
* Get the area of the polygon (absolute value)
|
|
88
|
+
*/
|
|
89
|
+
getArea(): number;
|
|
90
|
+
/**
|
|
91
|
+
* Get the perimeter of the polygon
|
|
92
|
+
*/
|
|
93
|
+
getPerimeter(): number;
|
|
94
|
+
/**
|
|
95
|
+
* Create a copy of this Polygon
|
|
96
|
+
*/
|
|
97
|
+
protected _createCopy(): Polygon;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Triangle - A polygon with exactly 3 vertices
|
|
101
|
+
*/
|
|
102
|
+
export declare class Triangle extends Polygon {
|
|
103
|
+
constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
|
|
104
|
+
vertices?: [Vector3Tuple, Vector3Tuple, Vector3Tuple];
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* RegularPolygon - A polygon with all sides equal and all angles equal
|
|
109
|
+
*/
|
|
110
|
+
export declare class RegularPolygon extends Polygon {
|
|
111
|
+
private _numSides;
|
|
112
|
+
private _radius;
|
|
113
|
+
constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
|
|
114
|
+
numSides?: number;
|
|
115
|
+
radius?: number;
|
|
116
|
+
center?: Vector3Tuple;
|
|
117
|
+
startAngle?: number;
|
|
118
|
+
});
|
|
119
|
+
private static _generateVertices;
|
|
120
|
+
/**
|
|
121
|
+
* Get the number of sides
|
|
122
|
+
*/
|
|
123
|
+
getNumSides(): number;
|
|
124
|
+
/**
|
|
125
|
+
* Get the radius (circumradius)
|
|
126
|
+
*/
|
|
127
|
+
getPolygonRadius(): number;
|
|
128
|
+
/**
|
|
129
|
+
* Get the apothem (inradius)
|
|
130
|
+
*/
|
|
131
|
+
getApothem(): number;
|
|
132
|
+
/**
|
|
133
|
+
* Get the side length
|
|
134
|
+
*/
|
|
135
|
+
getSideLength(): number;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Hexagon - A regular hexagon (6 sides)
|
|
139
|
+
*/
|
|
140
|
+
export declare class Hexagon extends RegularPolygon {
|
|
141
|
+
constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
|
|
142
|
+
radius?: number;
|
|
143
|
+
center?: Vector3Tuple;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Pentagon - A regular pentagon (5 sides)
|
|
148
|
+
*/
|
|
149
|
+
export declare class Pentagon extends RegularPolygon {
|
|
150
|
+
constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
|
|
151
|
+
radius?: number;
|
|
152
|
+
center?: Vector3Tuple;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=Polygon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Polygon.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/Polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,OAAQ,SAAQ,QAAQ;IACnC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,cAAc;IAyBnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAS3C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAM/B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAOtC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IASnD;;OAEG;IACH,WAAW,IAAI,YAAY;IAsB3B;;;OAGG;IACH,aAAa,IAAI,MAAM;IAiBvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,YAAY,IAAI,MAAM;IAqBtB;;OAEG;cACgB,WAAW,IAAI,OAAO;CAS1C;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;gBAEjC,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;KAClD;CAaT;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAGtB,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB;IAiBR,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,cAAc;gBAEvC,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KAClB;CAIT;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,cAAc;gBAExC,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KAClB;CAIT"}
|