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,326 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
import { Line } from './Line';
|
|
4
|
+
/**
|
|
5
|
+
* Options for creating an Angle
|
|
6
|
+
*/
|
|
7
|
+
export interface AngleOptions {
|
|
8
|
+
/** Radius of the angle arc. Default: 0.5 */
|
|
9
|
+
radius?: number;
|
|
10
|
+
/** Quadrant for angle indicator (1, 2, 3, or 4). Default: auto-detect */
|
|
11
|
+
quadrant?: 1 | 2 | 3 | 4;
|
|
12
|
+
/** If true, display the reflex angle (other side). Default: false */
|
|
13
|
+
otherAngle?: boolean;
|
|
14
|
+
/** Show the angle value as a label. Default: false */
|
|
15
|
+
showValue?: boolean;
|
|
16
|
+
/** Stroke color. Default: WHITE (matches Manim Python) */
|
|
17
|
+
color?: string;
|
|
18
|
+
/** Stroke width. Default: 4 */
|
|
19
|
+
strokeWidth?: number;
|
|
20
|
+
/** Number of decimal places for angle value display. Default: 2 */
|
|
21
|
+
decimalPlaces?: number;
|
|
22
|
+
/** Display unit for angle. Default: 'radians' */
|
|
23
|
+
unit?: 'radians' | 'degrees';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Input for Angle constructor - either two Lines or three points
|
|
27
|
+
*/
|
|
28
|
+
export type AngleInput = {
|
|
29
|
+
line1: Line;
|
|
30
|
+
line2: Line;
|
|
31
|
+
} | {
|
|
32
|
+
points: [Vector3Tuple, Vector3Tuple, Vector3Tuple];
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Angle - Angle indicator between two lines
|
|
36
|
+
*
|
|
37
|
+
* Creates an arc to indicate the angle between two lines or
|
|
38
|
+
* three points (vertex at the second point).
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* // Using two lines
|
|
43
|
+
* const line1 = new Line({ start: [0, 0, 0], end: [2, 0, 0] });
|
|
44
|
+
* const line2 = new Line({ start: [0, 0, 0], end: [1, 1, 0] });
|
|
45
|
+
* const angle = new Angle({ line1, line2 }, { radius: 0.5 });
|
|
46
|
+
*
|
|
47
|
+
* // Using three points (vertex at middle point)
|
|
48
|
+
* const angle2 = new Angle(
|
|
49
|
+
* { points: [[2, 0, 0], [0, 0, 0], [1, 1, 0]] },
|
|
50
|
+
* { showValue: true }
|
|
51
|
+
* );
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class Angle extends VMobject {
|
|
55
|
+
private _vertex;
|
|
56
|
+
private _startAngle;
|
|
57
|
+
private _angleValue;
|
|
58
|
+
private _radius;
|
|
59
|
+
private _label;
|
|
60
|
+
private _showValue;
|
|
61
|
+
private _decimalPlaces;
|
|
62
|
+
private _unit;
|
|
63
|
+
constructor(input: AngleInput, options?: AngleOptions);
|
|
64
|
+
private _distance;
|
|
65
|
+
private _adjustForQuadrant;
|
|
66
|
+
private _generatePoints;
|
|
67
|
+
/**
|
|
68
|
+
* Get the angle value in radians
|
|
69
|
+
*/
|
|
70
|
+
getAngleValue(): number;
|
|
71
|
+
/**
|
|
72
|
+
* Get the angle value in degrees
|
|
73
|
+
*/
|
|
74
|
+
getAngleValueDegrees(): number;
|
|
75
|
+
/**
|
|
76
|
+
* Get the vertex point
|
|
77
|
+
*/
|
|
78
|
+
getVertex(): Vector3Tuple;
|
|
79
|
+
/**
|
|
80
|
+
* Get the radius of the angle arc
|
|
81
|
+
*/
|
|
82
|
+
getRadius(): number;
|
|
83
|
+
/**
|
|
84
|
+
* Set the radius of the angle arc
|
|
85
|
+
*/
|
|
86
|
+
setRadius(radius: number): this;
|
|
87
|
+
/**
|
|
88
|
+
* Get the label for this angle
|
|
89
|
+
*/
|
|
90
|
+
getLabel(): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* Set a custom label for this angle
|
|
93
|
+
*/
|
|
94
|
+
setLabel(label: string): this;
|
|
95
|
+
/**
|
|
96
|
+
* Get a point on the angle arc at a given proportion (0 = start, 1 = end).
|
|
97
|
+
* @param alpha - Proportion along the arc (0 to 1)
|
|
98
|
+
* @returns Point on the arc as [x, y, z]
|
|
99
|
+
*/
|
|
100
|
+
pointFromProportion(alpha: number): Vector3Tuple;
|
|
101
|
+
/**
|
|
102
|
+
* Get the midpoint of the angle arc (useful for label positioning)
|
|
103
|
+
*/
|
|
104
|
+
getArcMidpoint(): Vector3Tuple;
|
|
105
|
+
protected _createCopy(): Angle;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Options for creating a RightAngle
|
|
109
|
+
*/
|
|
110
|
+
export interface RightAngleOptions {
|
|
111
|
+
/** Size of the square indicator. Default: 0.3 */
|
|
112
|
+
size?: number;
|
|
113
|
+
/** Stroke color. Default: Manim's blue (#58C4DD) */
|
|
114
|
+
color?: string;
|
|
115
|
+
/** Stroke width. Default: 4 */
|
|
116
|
+
strokeWidth?: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* RightAngle - 90 degree angle indicator (square corner)
|
|
120
|
+
*
|
|
121
|
+
* Creates a square marker to indicate a right angle between two lines
|
|
122
|
+
* or three points.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Using two perpendicular lines
|
|
127
|
+
* const line1 = new Line({ start: [0, 0, 0], end: [2, 0, 0] });
|
|
128
|
+
* const line2 = new Line({ start: [0, 0, 0], end: [0, 2, 0] });
|
|
129
|
+
* const rightAngle = new RightAngle({ line1, line2 });
|
|
130
|
+
*
|
|
131
|
+
* // Using three points
|
|
132
|
+
* const rightAngle2 = new RightAngle(
|
|
133
|
+
* { points: [[2, 0, 0], [0, 0, 0], [0, 2, 0]] },
|
|
134
|
+
* { size: 0.4 }
|
|
135
|
+
* );
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export declare class RightAngle extends VMobject {
|
|
139
|
+
private _vertex;
|
|
140
|
+
private _size;
|
|
141
|
+
private _angle1;
|
|
142
|
+
private _angle2;
|
|
143
|
+
constructor(input: AngleInput, options?: RightAngleOptions);
|
|
144
|
+
private _distance;
|
|
145
|
+
private _generatePoints;
|
|
146
|
+
private _addLinePoints;
|
|
147
|
+
/**
|
|
148
|
+
* Get the size of the right angle indicator
|
|
149
|
+
*/
|
|
150
|
+
getSize(): number;
|
|
151
|
+
/**
|
|
152
|
+
* Set the size of the right angle indicator
|
|
153
|
+
*/
|
|
154
|
+
setSize(size: number): this;
|
|
155
|
+
/**
|
|
156
|
+
* Get the vertex point
|
|
157
|
+
*/
|
|
158
|
+
getVertex(): Vector3Tuple;
|
|
159
|
+
protected _createCopy(): RightAngle;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Options for creating an Elbow
|
|
163
|
+
*/
|
|
164
|
+
export interface ElbowOptions {
|
|
165
|
+
/** Width of the elbow (horizontal extent). Default: 1 */
|
|
166
|
+
width?: number;
|
|
167
|
+
/** Height of the elbow (vertical extent). Default: 1 */
|
|
168
|
+
height?: number;
|
|
169
|
+
/** Rotation angle in radians. Default: 0 */
|
|
170
|
+
angle?: number;
|
|
171
|
+
/** Stroke color. Default: Manim's blue (#58C4DD) */
|
|
172
|
+
color?: string;
|
|
173
|
+
/** Stroke width. Default: 4 */
|
|
174
|
+
strokeWidth?: number;
|
|
175
|
+
/** Position of the corner/vertex. Default: [0, 0, 0] */
|
|
176
|
+
position?: Vector3Tuple;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Elbow - L-shaped line
|
|
180
|
+
*
|
|
181
|
+
* Creates an L-shaped path useful for indicating connections,
|
|
182
|
+
* orthogonal paths, or decorative elements.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* // Create a basic L-shape
|
|
187
|
+
* const elbow = new Elbow();
|
|
188
|
+
*
|
|
189
|
+
* // Create a rotated elbow
|
|
190
|
+
* const rotatedElbow = new Elbow({
|
|
191
|
+
* width: 2,
|
|
192
|
+
* height: 1,
|
|
193
|
+
* angle: Math.PI / 4,
|
|
194
|
+
* color: '#ff0000'
|
|
195
|
+
* });
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
export declare class Elbow extends VMobject {
|
|
199
|
+
private _width;
|
|
200
|
+
private _height;
|
|
201
|
+
private _angle;
|
|
202
|
+
private _cornerPosition;
|
|
203
|
+
constructor(options?: ElbowOptions);
|
|
204
|
+
private _generatePoints;
|
|
205
|
+
private _addLinePoints;
|
|
206
|
+
/**
|
|
207
|
+
* Get the width of the elbow
|
|
208
|
+
*/
|
|
209
|
+
getWidth(): number;
|
|
210
|
+
/**
|
|
211
|
+
* Set the width of the elbow
|
|
212
|
+
*/
|
|
213
|
+
setWidth(width: number): this;
|
|
214
|
+
/**
|
|
215
|
+
* Get the height of the elbow
|
|
216
|
+
*/
|
|
217
|
+
getHeight(): number;
|
|
218
|
+
/**
|
|
219
|
+
* Set the height of the elbow
|
|
220
|
+
*/
|
|
221
|
+
setHeight(height: number): this;
|
|
222
|
+
/**
|
|
223
|
+
* Get the rotation angle of the elbow
|
|
224
|
+
*/
|
|
225
|
+
getAngle(): number;
|
|
226
|
+
/**
|
|
227
|
+
* Set the rotation angle of the elbow
|
|
228
|
+
*/
|
|
229
|
+
setAngle(angle: number): this;
|
|
230
|
+
/**
|
|
231
|
+
* Get the corner position
|
|
232
|
+
*/
|
|
233
|
+
getCornerPosition(): Vector3Tuple;
|
|
234
|
+
/**
|
|
235
|
+
* Set the corner position
|
|
236
|
+
*/
|
|
237
|
+
setCornerPosition(position: Vector3Tuple): this;
|
|
238
|
+
protected _createCopy(): Elbow;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Options for creating a TangentLine
|
|
242
|
+
*/
|
|
243
|
+
export interface TangentLineOptions {
|
|
244
|
+
/** Parameter t (0-1) for where to place the tangent on the curve. Default: 0.5 */
|
|
245
|
+
t?: number;
|
|
246
|
+
/** Length of the tangent line. Default: 2 */
|
|
247
|
+
length?: number;
|
|
248
|
+
/** Stroke color. Default: Manim's blue (#58C4DD) */
|
|
249
|
+
color?: string;
|
|
250
|
+
/** Stroke width. Default: 4 */
|
|
251
|
+
strokeWidth?: number;
|
|
252
|
+
/** Small offset for numerical derivative calculation. Default: 0.001 */
|
|
253
|
+
dT?: number;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* TangentLine - Tangent line to a curve at a specific point
|
|
257
|
+
*
|
|
258
|
+
* Creates a line tangent to a VMobject at the given parameter t (0-1).
|
|
259
|
+
* The tangent direction is computed numerically from the curve's points.
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* // Create a tangent line to a circle at t=0.25
|
|
264
|
+
* const circle = new Circle({ radius: 2 });
|
|
265
|
+
* const tangent = new TangentLine(circle, { t: 0.25, length: 3 });
|
|
266
|
+
*
|
|
267
|
+
* // Tangent to a parametric function
|
|
268
|
+
* const curve = new ParametricFunction({
|
|
269
|
+
* function: (t) => [Math.cos(t * Math.PI), Math.sin(t * Math.PI), 0],
|
|
270
|
+
* range: [0, 1]
|
|
271
|
+
* });
|
|
272
|
+
* const curveTangent = new TangentLine(curve, { t: 0.5 });
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
export declare class TangentLine extends VMobject {
|
|
276
|
+
private _vmobject;
|
|
277
|
+
private _t;
|
|
278
|
+
private _length;
|
|
279
|
+
private _dT;
|
|
280
|
+
private _tangentPoint;
|
|
281
|
+
private _tangentDirection;
|
|
282
|
+
constructor(vmobject: VMobject, options?: TangentLineOptions);
|
|
283
|
+
private _generatePoints;
|
|
284
|
+
private _getPointAtT;
|
|
285
|
+
private _evaluateBezierPoint;
|
|
286
|
+
private _createLinePoints;
|
|
287
|
+
/**
|
|
288
|
+
* Get the parameter t
|
|
289
|
+
*/
|
|
290
|
+
getT(): number;
|
|
291
|
+
/**
|
|
292
|
+
* Set the parameter t and regenerate the tangent
|
|
293
|
+
*/
|
|
294
|
+
setT(t: number): this;
|
|
295
|
+
/**
|
|
296
|
+
* Get the length of the tangent line
|
|
297
|
+
*/
|
|
298
|
+
getLength(): number;
|
|
299
|
+
/**
|
|
300
|
+
* Set the length of the tangent line
|
|
301
|
+
*/
|
|
302
|
+
setLength(length: number): this;
|
|
303
|
+
/**
|
|
304
|
+
* Get the point where the tangent touches the curve
|
|
305
|
+
*/
|
|
306
|
+
getTangentPoint(): Vector3Tuple;
|
|
307
|
+
/**
|
|
308
|
+
* Get the tangent direction (unit vector)
|
|
309
|
+
*/
|
|
310
|
+
getTangentDirection(): Vector3Tuple;
|
|
311
|
+
/**
|
|
312
|
+
* Get the start point of the tangent line
|
|
313
|
+
*/
|
|
314
|
+
getStart(): Vector3Tuple;
|
|
315
|
+
/**
|
|
316
|
+
* Get the end point of the tangent line
|
|
317
|
+
*/
|
|
318
|
+
getEnd(): Vector3Tuple;
|
|
319
|
+
/**
|
|
320
|
+
* Update the tangent for a new position on the curve
|
|
321
|
+
* Call this if the underlying VMobject has changed
|
|
322
|
+
*/
|
|
323
|
+
update(): this;
|
|
324
|
+
protected _createCopy(): TangentLine;
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=AngleShapes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AngleShapes.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/AngleShapes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating an Arc
|
|
5
|
+
*/
|
|
6
|
+
export interface ArcOptions {
|
|
7
|
+
/** Radius of the arc. Default: 1 */
|
|
8
|
+
radius?: number;
|
|
9
|
+
/** Start angle in radians. Default: 0 */
|
|
10
|
+
startAngle?: number;
|
|
11
|
+
/** Arc angle (span) in radians. Default: PI/2 */
|
|
12
|
+
angle?: number;
|
|
13
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
14
|
+
color?: string;
|
|
15
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
16
|
+
strokeWidth?: number;
|
|
17
|
+
/** Number of Bezier segments for approximation. Default: 8 */
|
|
18
|
+
numComponents?: number;
|
|
19
|
+
/** Center position. Default: [0, 0, 0] */
|
|
20
|
+
center?: Vector3Tuple;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Arc - A circular arc VMobject
|
|
24
|
+
*
|
|
25
|
+
* Creates a circular arc using cubic Bezier curve approximation.
|
|
26
|
+
* The arc starts at `startAngle` and spans `angle` radians.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Create a quarter circle arc
|
|
31
|
+
* const arc = new Arc();
|
|
32
|
+
*
|
|
33
|
+
* // Create a semicircle
|
|
34
|
+
* const semicircle = new Arc({ angle: Math.PI });
|
|
35
|
+
*
|
|
36
|
+
* // Create a full circle using Arc
|
|
37
|
+
* const fullCircle = new Arc({ angle: Math.PI * 2 });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class Arc extends VMobject {
|
|
41
|
+
protected _radius: number;
|
|
42
|
+
protected _startAngle: number;
|
|
43
|
+
protected _angle: number;
|
|
44
|
+
protected _numComponents: number;
|
|
45
|
+
protected _arcCenter: Vector3Tuple;
|
|
46
|
+
constructor(options?: ArcOptions);
|
|
47
|
+
/**
|
|
48
|
+
* Generate the arc points using cubic Bezier approximation.
|
|
49
|
+
* Each segment approximates a portion of the arc.
|
|
50
|
+
*/
|
|
51
|
+
protected _generatePoints(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Get the start angle of the arc
|
|
54
|
+
*/
|
|
55
|
+
getStartAngle(): number;
|
|
56
|
+
/**
|
|
57
|
+
* Set the start angle of the arc
|
|
58
|
+
* @param angle Start angle in radians
|
|
59
|
+
*/
|
|
60
|
+
setStartAngle(angle: number): this;
|
|
61
|
+
/**
|
|
62
|
+
* Get the arc angle (span)
|
|
63
|
+
*/
|
|
64
|
+
getAngle(): number;
|
|
65
|
+
/**
|
|
66
|
+
* Set the arc angle (span)
|
|
67
|
+
* @param angle Arc angle in radians
|
|
68
|
+
*/
|
|
69
|
+
setAngle(angle: number): this;
|
|
70
|
+
/**
|
|
71
|
+
* Get the radius of the arc
|
|
72
|
+
*/
|
|
73
|
+
getRadius(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Set the radius of the arc
|
|
76
|
+
* @param r Radius value
|
|
77
|
+
*/
|
|
78
|
+
setRadius(r: number): this;
|
|
79
|
+
/**
|
|
80
|
+
* Get the center of the arc
|
|
81
|
+
*/
|
|
82
|
+
getArcCenter(): Vector3Tuple;
|
|
83
|
+
/**
|
|
84
|
+
* Set the center of the arc
|
|
85
|
+
* @param center Center position [x, y, z]
|
|
86
|
+
*/
|
|
87
|
+
setArcCenter(center: Vector3Tuple): this;
|
|
88
|
+
/**
|
|
89
|
+
* Get a point at a given proportion along the arc
|
|
90
|
+
* @param alpha Proportion from 0 (start) to 1 (end)
|
|
91
|
+
* @returns Point on the arc as [x, y, z]
|
|
92
|
+
*/
|
|
93
|
+
pointFromProportion(alpha: number): Vector3Tuple;
|
|
94
|
+
/**
|
|
95
|
+
* Get the start point of the arc
|
|
96
|
+
*/
|
|
97
|
+
getStartPoint(): Vector3Tuple;
|
|
98
|
+
/**
|
|
99
|
+
* Get the end point of the arc
|
|
100
|
+
*/
|
|
101
|
+
getEndPoint(): Vector3Tuple;
|
|
102
|
+
/**
|
|
103
|
+
* Get the arc length
|
|
104
|
+
*/
|
|
105
|
+
getArcLength(): number;
|
|
106
|
+
/**
|
|
107
|
+
* Create a copy of this Arc
|
|
108
|
+
*/
|
|
109
|
+
protected _createCopy(): Arc;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=Arc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Arc.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/Arc.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,UAAU;IACzB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,GAAI,SAAQ,QAAQ;IAC/B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC;gBAEvB,OAAO,GAAE,UAAe;IA0BpC;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAsDjC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM1B;;OAEG;IACH,YAAY,IAAI,YAAY;IAI5B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAMxC;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAShD;;OAEG;IACH,aAAa,IAAI,YAAY;IAI7B;;OAEG;IACH,WAAW,IAAI,YAAY;IAI3B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;cACgB,WAAW,IAAI,GAAG;CAWtC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Arc } from './Arc';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating an ArcBetweenPoints
|
|
5
|
+
*/
|
|
6
|
+
export interface ArcBetweenPointsOptions {
|
|
7
|
+
/** Start point of the arc */
|
|
8
|
+
start: Vector3Tuple;
|
|
9
|
+
/** End point of the arc */
|
|
10
|
+
end: Vector3Tuple;
|
|
11
|
+
/** Arc angle in radians. Default: PI/2 */
|
|
12
|
+
angle?: number;
|
|
13
|
+
/** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
|
|
14
|
+
color?: string;
|
|
15
|
+
/** Stroke width in pixels. Default: 4 (Manim's default) */
|
|
16
|
+
strokeWidth?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* ArcBetweenPoints - An arc that passes through two specified points
|
|
20
|
+
*
|
|
21
|
+
* Creates a circular arc from a start point to an end point with a given
|
|
22
|
+
* arc angle. The center and radius are calculated automatically.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Create an arc from (-1, 0) to (1, 0)
|
|
27
|
+
* const arc = new ArcBetweenPoints({
|
|
28
|
+
* start: [-1, 0, 0],
|
|
29
|
+
* end: [1, 0, 0],
|
|
30
|
+
* angle: Math.PI / 2
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Create a semicircle between two points
|
|
34
|
+
* const semicircle = new ArcBetweenPoints({
|
|
35
|
+
* start: [0, 0, 0],
|
|
36
|
+
* end: [2, 0, 0],
|
|
37
|
+
* angle: Math.PI
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class ArcBetweenPoints extends Arc {
|
|
42
|
+
private _startPoint;
|
|
43
|
+
private _endPoint;
|
|
44
|
+
constructor(options: ArcBetweenPointsOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Calculate the arc parameters (center, radius, startAngle) from two points and angle.
|
|
47
|
+
*
|
|
48
|
+
* Given two points and an arc angle, we find the circle that:
|
|
49
|
+
* 1. Passes through both points
|
|
50
|
+
* 2. The arc from start to end subtends the given angle
|
|
51
|
+
*
|
|
52
|
+
* The center lies on the perpendicular bisector of the chord between the points.
|
|
53
|
+
*/
|
|
54
|
+
private static _calculateArcParams;
|
|
55
|
+
/**
|
|
56
|
+
* Get the start point of the arc
|
|
57
|
+
*/
|
|
58
|
+
getStartPoint(): Vector3Tuple;
|
|
59
|
+
/**
|
|
60
|
+
* Get the end point of the arc
|
|
61
|
+
*/
|
|
62
|
+
getEndPoint(): Vector3Tuple;
|
|
63
|
+
/**
|
|
64
|
+
* Create a copy of this ArcBetweenPoints
|
|
65
|
+
*/
|
|
66
|
+
protected _createCopy(): ArcBetweenPoints;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=ArcBetweenPoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcBetweenPoints.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/ArcBetweenPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6BAA6B;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,GAAG,EAAE,YAAY,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,gBAAiB,SAAQ,GAAG;IACvC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,SAAS,CAAe;gBAEpB,OAAO,EAAE,uBAAuB;IA8B5C;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0ElC;;OAEG;IACM,aAAa,IAAI,YAAY;IAItC;;OAEG;IACM,WAAW,IAAI,YAAY;IAIpC;;OAEG;cACgB,WAAW,IAAI,gBAAgB;CASnD"}
|