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,659 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
import { Arc } from './Arc';
|
|
4
|
+
/**
|
|
5
|
+
* Options for creating an Ellipse
|
|
6
|
+
*/
|
|
7
|
+
export interface EllipseOptions {
|
|
8
|
+
/** Width (horizontal diameter) of the ellipse. Default: 2 */
|
|
9
|
+
width?: number;
|
|
10
|
+
/** Height (vertical diameter) of the ellipse. Default: 1 */
|
|
11
|
+
height?: number;
|
|
12
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
13
|
+
color?: string;
|
|
14
|
+
/** Fill opacity from 0 to 1. Default: 0 */
|
|
15
|
+
fillOpacity?: number;
|
|
16
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
17
|
+
strokeWidth?: number;
|
|
18
|
+
/** Center position. Default: [0, 0, 0] */
|
|
19
|
+
center?: Vector3Tuple;
|
|
20
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
21
|
+
numComponents?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Ellipse - An elliptical VMobject
|
|
25
|
+
*
|
|
26
|
+
* Creates an ellipse using cubic Bezier curve approximation.
|
|
27
|
+
* The ellipse is defined by its width and height.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* // Create a horizontal ellipse
|
|
32
|
+
* const ellipse = new Ellipse({ width: 4, height: 2 });
|
|
33
|
+
*
|
|
34
|
+
* // Create a filled ellipse
|
|
35
|
+
* const filled = new Ellipse({ width: 3, height: 1, fillOpacity: 0.5 });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare class Ellipse extends VMobject {
|
|
39
|
+
private _width;
|
|
40
|
+
private _height;
|
|
41
|
+
private _centerPoint;
|
|
42
|
+
private _numComponents;
|
|
43
|
+
constructor(options?: EllipseOptions);
|
|
44
|
+
/**
|
|
45
|
+
* Generate the ellipse points using Bezier curve approximation.
|
|
46
|
+
* Uses 4 cubic Bezier segments for optimal ellipse approximation.
|
|
47
|
+
*/
|
|
48
|
+
private _generatePoints;
|
|
49
|
+
/**
|
|
50
|
+
* Get the width of the ellipse
|
|
51
|
+
*/
|
|
52
|
+
getWidth(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Set the width of the ellipse
|
|
55
|
+
*/
|
|
56
|
+
setWidth(value: number): this;
|
|
57
|
+
/**
|
|
58
|
+
* Get the height of the ellipse
|
|
59
|
+
*/
|
|
60
|
+
getHeight(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Set the height of the ellipse
|
|
63
|
+
*/
|
|
64
|
+
setHeight(value: number): this;
|
|
65
|
+
/**
|
|
66
|
+
* Get the center of the ellipse
|
|
67
|
+
*/
|
|
68
|
+
getEllipseCenter(): Vector3Tuple;
|
|
69
|
+
/**
|
|
70
|
+
* Set the center of the ellipse
|
|
71
|
+
*/
|
|
72
|
+
setEllipseCenter(value: Vector3Tuple): this;
|
|
73
|
+
/**
|
|
74
|
+
* Get the semi-major axis length (half of width)
|
|
75
|
+
*/
|
|
76
|
+
getSemiMajorAxis(): number;
|
|
77
|
+
/**
|
|
78
|
+
* Get the semi-minor axis length (half of height)
|
|
79
|
+
*/
|
|
80
|
+
getSemiMinorAxis(): number;
|
|
81
|
+
/**
|
|
82
|
+
* Get the eccentricity of the ellipse
|
|
83
|
+
*/
|
|
84
|
+
getEccentricity(): number;
|
|
85
|
+
/**
|
|
86
|
+
* Get the area of the ellipse
|
|
87
|
+
*/
|
|
88
|
+
getArea(): number;
|
|
89
|
+
/**
|
|
90
|
+
* Get a point on the ellipse at a given angle (in radians)
|
|
91
|
+
* @param angle Angle in radians from the positive x-axis
|
|
92
|
+
*/
|
|
93
|
+
pointAtAngle(angle: number): Vector3Tuple;
|
|
94
|
+
/**
|
|
95
|
+
* Create a copy of this Ellipse
|
|
96
|
+
*/
|
|
97
|
+
protected _createCopy(): Ellipse;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Options for creating an Annulus
|
|
101
|
+
*/
|
|
102
|
+
export interface AnnulusOptions {
|
|
103
|
+
/** Inner radius of the annulus. Default: 0.5 */
|
|
104
|
+
innerRadius?: number;
|
|
105
|
+
/** Outer radius of the annulus. Default: 1 */
|
|
106
|
+
outerRadius?: number;
|
|
107
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
108
|
+
color?: string;
|
|
109
|
+
/** Fill opacity from 0 to 1. Default: 0.5 */
|
|
110
|
+
fillOpacity?: number;
|
|
111
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
112
|
+
strokeWidth?: number;
|
|
113
|
+
/** Center position. Default: [0, 0, 0] */
|
|
114
|
+
center?: Vector3Tuple;
|
|
115
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
116
|
+
numComponents?: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Annulus - A ring/donut shaped VMobject
|
|
120
|
+
*
|
|
121
|
+
* Creates an annulus (ring) defined by inner and outer radii.
|
|
122
|
+
* The area between the two circles is filled.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Create a basic ring
|
|
127
|
+
* const ring = new Annulus({ innerRadius: 0.5, outerRadius: 1.5 });
|
|
128
|
+
*
|
|
129
|
+
* // Create a filled donut
|
|
130
|
+
* const donut = new Annulus({
|
|
131
|
+
* innerRadius: 0.3,
|
|
132
|
+
* outerRadius: 1,
|
|
133
|
+
* fillOpacity: 0.8,
|
|
134
|
+
* color: '#ff6600'
|
|
135
|
+
* });
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export declare class Annulus extends VMobject {
|
|
139
|
+
private _innerRadius;
|
|
140
|
+
private _outerRadius;
|
|
141
|
+
private _centerPoint;
|
|
142
|
+
private _numComponents;
|
|
143
|
+
constructor(options?: AnnulusOptions);
|
|
144
|
+
/**
|
|
145
|
+
* Generate the annulus points using two circles (outer CCW, inner CW).
|
|
146
|
+
*/
|
|
147
|
+
private _generatePoints;
|
|
148
|
+
/**
|
|
149
|
+
* Get the inner radius
|
|
150
|
+
*/
|
|
151
|
+
getInnerRadius(): number;
|
|
152
|
+
/**
|
|
153
|
+
* Set the inner radius
|
|
154
|
+
*/
|
|
155
|
+
setInnerRadius(value: number): this;
|
|
156
|
+
/**
|
|
157
|
+
* Get the outer radius
|
|
158
|
+
*/
|
|
159
|
+
getOuterRadius(): number;
|
|
160
|
+
/**
|
|
161
|
+
* Set the outer radius
|
|
162
|
+
*/
|
|
163
|
+
setOuterRadius(value: number): this;
|
|
164
|
+
/**
|
|
165
|
+
* Get the center of the annulus
|
|
166
|
+
*/
|
|
167
|
+
getAnnulusCenter(): Vector3Tuple;
|
|
168
|
+
/**
|
|
169
|
+
* Set the center of the annulus
|
|
170
|
+
*/
|
|
171
|
+
setAnnulusCenter(value: Vector3Tuple): this;
|
|
172
|
+
/**
|
|
173
|
+
* Get the area of the annulus
|
|
174
|
+
*/
|
|
175
|
+
getArea(): number;
|
|
176
|
+
/**
|
|
177
|
+
* Get the thickness (outer - inner radius)
|
|
178
|
+
*/
|
|
179
|
+
getThickness(): number;
|
|
180
|
+
/**
|
|
181
|
+
* Create a copy of this Annulus
|
|
182
|
+
*/
|
|
183
|
+
protected _createCopy(): Annulus;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Options for creating an AnnularSector
|
|
187
|
+
*/
|
|
188
|
+
export interface AnnularSectorOptions {
|
|
189
|
+
/** Inner radius of the sector. Default: 0.5 */
|
|
190
|
+
innerRadius?: number;
|
|
191
|
+
/** Outer radius of the sector. Default: 1 */
|
|
192
|
+
outerRadius?: number;
|
|
193
|
+
/** Start angle in radians. Default: 0 */
|
|
194
|
+
startAngle?: number;
|
|
195
|
+
/** Arc angle (span) in radians. Default: PI/2 */
|
|
196
|
+
angle?: number;
|
|
197
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
198
|
+
color?: string;
|
|
199
|
+
/** Fill opacity from 0 to 1. Default: 0.5 */
|
|
200
|
+
fillOpacity?: number;
|
|
201
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
202
|
+
strokeWidth?: number;
|
|
203
|
+
/** Center position. Default: [0, 0, 0] */
|
|
204
|
+
center?: Vector3Tuple;
|
|
205
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
206
|
+
numComponents?: number;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* AnnularSector - A pie slice of an annulus (ring)
|
|
210
|
+
*
|
|
211
|
+
* Creates a sector of an annulus, like a slice of a donut.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```typescript
|
|
215
|
+
* // Create a quarter donut slice
|
|
216
|
+
* const slice = new AnnularSector({
|
|
217
|
+
* innerRadius: 0.5,
|
|
218
|
+
* outerRadius: 1.5,
|
|
219
|
+
* startAngle: 0,
|
|
220
|
+
* angle: Math.PI / 2
|
|
221
|
+
* });
|
|
222
|
+
*
|
|
223
|
+
* // Create a half ring
|
|
224
|
+
* const halfRing = new AnnularSector({
|
|
225
|
+
* innerRadius: 0.3,
|
|
226
|
+
* outerRadius: 1,
|
|
227
|
+
* angle: Math.PI,
|
|
228
|
+
* fillOpacity: 0.8
|
|
229
|
+
* });
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
export declare class AnnularSector extends VMobject {
|
|
233
|
+
private _innerRadius;
|
|
234
|
+
private _outerRadius;
|
|
235
|
+
private _startAngle;
|
|
236
|
+
private _angle;
|
|
237
|
+
private _centerPoint;
|
|
238
|
+
private _numComponents;
|
|
239
|
+
constructor(options?: AnnularSectorOptions);
|
|
240
|
+
/**
|
|
241
|
+
* Generate the annular sector points.
|
|
242
|
+
*/
|
|
243
|
+
private _generatePoints;
|
|
244
|
+
/**
|
|
245
|
+
* Get the inner radius
|
|
246
|
+
*/
|
|
247
|
+
getInnerRadius(): number;
|
|
248
|
+
/**
|
|
249
|
+
* Set the inner radius
|
|
250
|
+
*/
|
|
251
|
+
setInnerRadius(value: number): this;
|
|
252
|
+
/**
|
|
253
|
+
* Get the outer radius
|
|
254
|
+
*/
|
|
255
|
+
getOuterRadius(): number;
|
|
256
|
+
/**
|
|
257
|
+
* Set the outer radius
|
|
258
|
+
*/
|
|
259
|
+
setOuterRadius(value: number): this;
|
|
260
|
+
/**
|
|
261
|
+
* Get the start angle
|
|
262
|
+
*/
|
|
263
|
+
getStartAngle(): number;
|
|
264
|
+
/**
|
|
265
|
+
* Set the start angle
|
|
266
|
+
*/
|
|
267
|
+
setStartAngle(value: number): this;
|
|
268
|
+
/**
|
|
269
|
+
* Get the arc angle
|
|
270
|
+
*/
|
|
271
|
+
getAngle(): number;
|
|
272
|
+
/**
|
|
273
|
+
* Set the arc angle
|
|
274
|
+
*/
|
|
275
|
+
setAngle(value: number): this;
|
|
276
|
+
/**
|
|
277
|
+
* Get the center
|
|
278
|
+
*/
|
|
279
|
+
getSectorCenter(): Vector3Tuple;
|
|
280
|
+
/**
|
|
281
|
+
* Get the area of the sector
|
|
282
|
+
*/
|
|
283
|
+
getArea(): number;
|
|
284
|
+
/**
|
|
285
|
+
* Create a copy of this AnnularSector
|
|
286
|
+
*/
|
|
287
|
+
protected _createCopy(): AnnularSector;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Options for creating a Sector
|
|
291
|
+
*/
|
|
292
|
+
export interface SectorOptions {
|
|
293
|
+
/** Radius of the sector. Default: 1 */
|
|
294
|
+
radius?: number;
|
|
295
|
+
/** Start angle in radians. Default: 0 */
|
|
296
|
+
startAngle?: number;
|
|
297
|
+
/** Arc angle (span) in radians. Default: PI/2 */
|
|
298
|
+
angle?: number;
|
|
299
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
300
|
+
color?: string;
|
|
301
|
+
/** Fill opacity from 0 to 1. Default: 0.5 */
|
|
302
|
+
fillOpacity?: number;
|
|
303
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
304
|
+
strokeWidth?: number;
|
|
305
|
+
/** Center position. Default: [0, 0, 0] */
|
|
306
|
+
center?: Vector3Tuple;
|
|
307
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
308
|
+
numComponents?: number;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Sector - A pie slice of a circle
|
|
312
|
+
*
|
|
313
|
+
* Creates a sector (pie slice) from the center to the arc.
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* ```typescript
|
|
317
|
+
* // Create a quarter pie slice
|
|
318
|
+
* const quarter = new Sector({
|
|
319
|
+
* radius: 1,
|
|
320
|
+
* startAngle: 0,
|
|
321
|
+
* angle: Math.PI / 2
|
|
322
|
+
* });
|
|
323
|
+
*
|
|
324
|
+
* // Create a filled semicircle sector
|
|
325
|
+
* const semi = new Sector({
|
|
326
|
+
* radius: 2,
|
|
327
|
+
* angle: Math.PI,
|
|
328
|
+
* fillOpacity: 0.8,
|
|
329
|
+
* color: '#ff0000'
|
|
330
|
+
* });
|
|
331
|
+
* ```
|
|
332
|
+
*/
|
|
333
|
+
export declare class Sector extends VMobject {
|
|
334
|
+
private _radius;
|
|
335
|
+
private _startAngle;
|
|
336
|
+
private _angle;
|
|
337
|
+
private _centerPoint;
|
|
338
|
+
private _numComponents;
|
|
339
|
+
constructor(options?: SectorOptions);
|
|
340
|
+
/**
|
|
341
|
+
* Generate the sector points.
|
|
342
|
+
*/
|
|
343
|
+
private _generatePoints;
|
|
344
|
+
/**
|
|
345
|
+
* Get the radius
|
|
346
|
+
*/
|
|
347
|
+
getRadius(): number;
|
|
348
|
+
/**
|
|
349
|
+
* Set the radius
|
|
350
|
+
*/
|
|
351
|
+
setRadius(value: number): this;
|
|
352
|
+
/**
|
|
353
|
+
* Get the start angle
|
|
354
|
+
*/
|
|
355
|
+
getStartAngle(): number;
|
|
356
|
+
/**
|
|
357
|
+
* Set the start angle
|
|
358
|
+
*/
|
|
359
|
+
setStartAngle(value: number): this;
|
|
360
|
+
/**
|
|
361
|
+
* Get the arc angle
|
|
362
|
+
*/
|
|
363
|
+
getAngle(): number;
|
|
364
|
+
/**
|
|
365
|
+
* Set the arc angle
|
|
366
|
+
*/
|
|
367
|
+
setAngle(value: number): this;
|
|
368
|
+
/**
|
|
369
|
+
* Get the center
|
|
370
|
+
*/
|
|
371
|
+
getSectorCenter(): Vector3Tuple;
|
|
372
|
+
/**
|
|
373
|
+
* Get the area of the sector
|
|
374
|
+
*/
|
|
375
|
+
getArea(): number;
|
|
376
|
+
/**
|
|
377
|
+
* Get the arc length of the sector
|
|
378
|
+
*/
|
|
379
|
+
getArcLength(): number;
|
|
380
|
+
/**
|
|
381
|
+
* Create a copy of this Sector
|
|
382
|
+
*/
|
|
383
|
+
protected _createCopy(): Sector;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Arc configuration for connecting vertices in ArcPolygon
|
|
387
|
+
*/
|
|
388
|
+
export interface ArcConfig {
|
|
389
|
+
/** Arc angle for this edge. Default: 0 (straight line) */
|
|
390
|
+
angle?: number;
|
|
391
|
+
/** Number of Bezier segments. Default: 8 */
|
|
392
|
+
numComponents?: number;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Options for creating an ArcPolygon
|
|
396
|
+
*/
|
|
397
|
+
export interface ArcPolygonOptions {
|
|
398
|
+
/** Array of vertices defining the polygon. Required. */
|
|
399
|
+
vertices: Vector3Tuple[];
|
|
400
|
+
/** Arc configurations for each edge. If not provided, straight lines are used. */
|
|
401
|
+
arcConfigs?: ArcConfig[];
|
|
402
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
403
|
+
color?: string;
|
|
404
|
+
/** Fill opacity from 0 to 1. Default: 0 */
|
|
405
|
+
fillOpacity?: number;
|
|
406
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
407
|
+
strokeWidth?: number;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* ArcPolygon - A polygon with arc edges instead of straight lines
|
|
411
|
+
*
|
|
412
|
+
* Creates a polygon where edges can be curved arcs.
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* ```typescript
|
|
416
|
+
* // Create a triangle with curved edges
|
|
417
|
+
* const arcTriangle = new ArcPolygon({
|
|
418
|
+
* vertices: [
|
|
419
|
+
* [0, 1, 0],
|
|
420
|
+
* [-1, -0.5, 0],
|
|
421
|
+
* [1, -0.5, 0]
|
|
422
|
+
* ],
|
|
423
|
+
* arcConfigs: [
|
|
424
|
+
* { angle: Math.PI / 4 },
|
|
425
|
+
* { angle: -Math.PI / 4 },
|
|
426
|
+
* { angle: Math.PI / 4 }
|
|
427
|
+
* ]
|
|
428
|
+
* });
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
export declare class ArcPolygon extends VMobject {
|
|
432
|
+
private _vertices;
|
|
433
|
+
private _arcConfigs;
|
|
434
|
+
constructor(options: ArcPolygonOptions);
|
|
435
|
+
/**
|
|
436
|
+
* Generate the arc polygon points.
|
|
437
|
+
*/
|
|
438
|
+
private _generatePoints;
|
|
439
|
+
/**
|
|
440
|
+
* Generate points for an arc between two points
|
|
441
|
+
*/
|
|
442
|
+
private _generateArcPoints;
|
|
443
|
+
/**
|
|
444
|
+
* Get the vertices
|
|
445
|
+
*/
|
|
446
|
+
getVertices(): Vector3Tuple[];
|
|
447
|
+
/**
|
|
448
|
+
* Get the arc configurations
|
|
449
|
+
*/
|
|
450
|
+
getArcConfigs(): ArcConfig[];
|
|
451
|
+
/**
|
|
452
|
+
* Create a copy of this ArcPolygon
|
|
453
|
+
*/
|
|
454
|
+
protected _createCopy(): ArcPolygon;
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Options for creating a CurvedArrow
|
|
458
|
+
*/
|
|
459
|
+
export interface CurvedArrowOptions {
|
|
460
|
+
/** Start point of the arrow. Default: [-1, 0, 0] */
|
|
461
|
+
startPoint?: Vector3Tuple;
|
|
462
|
+
/** End point of the arrow. Default: [1, 0, 0] */
|
|
463
|
+
endPoint?: Vector3Tuple;
|
|
464
|
+
/** Arc angle in radians. Default: PI/4 */
|
|
465
|
+
angle?: number;
|
|
466
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
467
|
+
color?: string;
|
|
468
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
469
|
+
strokeWidth?: number;
|
|
470
|
+
/** Length of the arrowhead tip. Default: 0.25 */
|
|
471
|
+
tipLength?: number;
|
|
472
|
+
/** Width of the arrowhead base. Default: 0.15 */
|
|
473
|
+
tipWidth?: number;
|
|
474
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
475
|
+
numComponents?: number;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* CurvedArrow - An arrow that follows an arc path
|
|
479
|
+
*
|
|
480
|
+
* Creates an arrow that curves from start to end point.
|
|
481
|
+
*
|
|
482
|
+
* @example
|
|
483
|
+
* ```typescript
|
|
484
|
+
* // Create a curved arrow
|
|
485
|
+
* const curvedArrow = new CurvedArrow({
|
|
486
|
+
* startPoint: [-2, 0, 0],
|
|
487
|
+
* endPoint: [2, 0, 0],
|
|
488
|
+
* angle: Math.PI / 3
|
|
489
|
+
* });
|
|
490
|
+
*
|
|
491
|
+
* // Create an arrow curving the other way
|
|
492
|
+
* const otherWay = new CurvedArrow({
|
|
493
|
+
* startPoint: [0, -1, 0],
|
|
494
|
+
* endPoint: [0, 1, 0],
|
|
495
|
+
* angle: -Math.PI / 4
|
|
496
|
+
* });
|
|
497
|
+
* ```
|
|
498
|
+
*/
|
|
499
|
+
export declare class CurvedArrow extends VMobject {
|
|
500
|
+
private _startPoint;
|
|
501
|
+
private _endPoint;
|
|
502
|
+
private _angle;
|
|
503
|
+
private _tipLength;
|
|
504
|
+
private _tipWidth;
|
|
505
|
+
private _numComponents;
|
|
506
|
+
constructor(options?: CurvedArrowOptions);
|
|
507
|
+
/**
|
|
508
|
+
* Generate the curved arrow points.
|
|
509
|
+
*/
|
|
510
|
+
private _generatePoints;
|
|
511
|
+
/**
|
|
512
|
+
* Get the start point
|
|
513
|
+
*/
|
|
514
|
+
getStartPoint(): Vector3Tuple;
|
|
515
|
+
/**
|
|
516
|
+
* Set the start point
|
|
517
|
+
*/
|
|
518
|
+
setStartPoint(point: Vector3Tuple): this;
|
|
519
|
+
/**
|
|
520
|
+
* Get the end point
|
|
521
|
+
*/
|
|
522
|
+
getEndPoint(): Vector3Tuple;
|
|
523
|
+
/**
|
|
524
|
+
* Set the end point
|
|
525
|
+
*/
|
|
526
|
+
setEndPoint(point: Vector3Tuple): this;
|
|
527
|
+
/**
|
|
528
|
+
* Get the arc angle
|
|
529
|
+
*/
|
|
530
|
+
getAngle(): number;
|
|
531
|
+
/**
|
|
532
|
+
* Set the arc angle
|
|
533
|
+
*/
|
|
534
|
+
setAngle(value: number): this;
|
|
535
|
+
/**
|
|
536
|
+
* Get the tip length
|
|
537
|
+
*/
|
|
538
|
+
getTipLength(): number;
|
|
539
|
+
/**
|
|
540
|
+
* Get the tip width
|
|
541
|
+
*/
|
|
542
|
+
getTipWidth(): number;
|
|
543
|
+
/**
|
|
544
|
+
* Create a copy of this CurvedArrow
|
|
545
|
+
*/
|
|
546
|
+
protected _createCopy(): CurvedArrow;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* CurvedDoubleArrow - A double arrow that follows an arc path
|
|
550
|
+
*
|
|
551
|
+
* Creates a double-headed arrow that curves from start to end point.
|
|
552
|
+
*
|
|
553
|
+
* @example
|
|
554
|
+
* ```typescript
|
|
555
|
+
* // Create a curved double arrow
|
|
556
|
+
* const curvedDouble = new CurvedDoubleArrow({
|
|
557
|
+
* startPoint: [-2, 0, 0],
|
|
558
|
+
* endPoint: [2, 0, 0],
|
|
559
|
+
* angle: Math.PI / 3
|
|
560
|
+
* });
|
|
561
|
+
* ```
|
|
562
|
+
*/
|
|
563
|
+
export declare class CurvedDoubleArrow extends VMobject {
|
|
564
|
+
private _startPoint;
|
|
565
|
+
private _endPoint;
|
|
566
|
+
private _angle;
|
|
567
|
+
private _tipLength;
|
|
568
|
+
private _tipWidth;
|
|
569
|
+
private _numComponents;
|
|
570
|
+
constructor(options?: CurvedArrowOptions);
|
|
571
|
+
/**
|
|
572
|
+
* Generate the curved double arrow points.
|
|
573
|
+
*/
|
|
574
|
+
private _generatePoints;
|
|
575
|
+
/**
|
|
576
|
+
* Get the start point
|
|
577
|
+
*/
|
|
578
|
+
getStartPoint(): Vector3Tuple;
|
|
579
|
+
/**
|
|
580
|
+
* Set the start point
|
|
581
|
+
*/
|
|
582
|
+
setStartPoint(point: Vector3Tuple): this;
|
|
583
|
+
/**
|
|
584
|
+
* Get the end point
|
|
585
|
+
*/
|
|
586
|
+
getEndPoint(): Vector3Tuple;
|
|
587
|
+
/**
|
|
588
|
+
* Set the end point
|
|
589
|
+
*/
|
|
590
|
+
setEndPoint(point: Vector3Tuple): this;
|
|
591
|
+
/**
|
|
592
|
+
* Get the arc angle
|
|
593
|
+
*/
|
|
594
|
+
getAngle(): number;
|
|
595
|
+
/**
|
|
596
|
+
* Set the arc angle
|
|
597
|
+
*/
|
|
598
|
+
setAngle(value: number): this;
|
|
599
|
+
/**
|
|
600
|
+
* Create a copy of this CurvedDoubleArrow
|
|
601
|
+
*/
|
|
602
|
+
protected _createCopy(): CurvedDoubleArrow;
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* Options for creating a TangentialArc
|
|
606
|
+
*/
|
|
607
|
+
export interface TangentialArcOptions {
|
|
608
|
+
/** Start point of the arc. Default: [0, 0, 0] */
|
|
609
|
+
start?: Vector3Tuple;
|
|
610
|
+
/** Direction at the start point (tangent direction). Default: [1, 0, 0] */
|
|
611
|
+
direction?: Vector3Tuple;
|
|
612
|
+
/** Radius of the arc. Default: 1 */
|
|
613
|
+
radius?: number;
|
|
614
|
+
/** Arc angle in radians. Default: PI/2 */
|
|
615
|
+
angle?: number;
|
|
616
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
617
|
+
color?: string;
|
|
618
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
619
|
+
strokeWidth?: number;
|
|
620
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
621
|
+
numComponents?: number;
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* TangentialArc - An arc that is tangent to a given direction at its start
|
|
625
|
+
*
|
|
626
|
+
* Creates an arc that starts tangent to a given direction.
|
|
627
|
+
*
|
|
628
|
+
* @example
|
|
629
|
+
* ```typescript
|
|
630
|
+
* // Create an arc tangent to the x-axis
|
|
631
|
+
* const tangentArc = new TangentialArc({
|
|
632
|
+
* start: [0, 0, 0],
|
|
633
|
+
* direction: [1, 0, 0],
|
|
634
|
+
* radius: 1,
|
|
635
|
+
* angle: Math.PI / 2
|
|
636
|
+
* });
|
|
637
|
+
*
|
|
638
|
+
* // Create an arc tangent to a diagonal
|
|
639
|
+
* const diagonalArc = new TangentialArc({
|
|
640
|
+
* start: [0, 0, 0],
|
|
641
|
+
* direction: [1, 1, 0],
|
|
642
|
+
* radius: 2,
|
|
643
|
+
* angle: Math.PI / 3
|
|
644
|
+
* });
|
|
645
|
+
* ```
|
|
646
|
+
*/
|
|
647
|
+
export declare class TangentialArc extends Arc {
|
|
648
|
+
private _direction;
|
|
649
|
+
constructor(options?: TangentialArcOptions);
|
|
650
|
+
/**
|
|
651
|
+
* Get the tangent direction at the start
|
|
652
|
+
*/
|
|
653
|
+
getDirection(): Vector3Tuple;
|
|
654
|
+
/**
|
|
655
|
+
* Create a copy of this TangentialArc
|
|
656
|
+
*/
|
|
657
|
+
protected _createCopy(): TangentialArc;
|
|
658
|
+
}
|
|
659
|
+
//# sourceMappingURL=ArcShapes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcShapes.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/ArcShapes.ts"],"names":[],"mappings":"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"}
|