Generate Manim code for Scene 2 using the implementation plan and pattern.

IMPLEMENTATION PLAN:
[['Design the implementation for this scene using the provided Manim patterns:\n\nSCENE CONTEXT:\n\\nContinuity: [Starting point - how to hook the audience]\\nVisual_Focus: [Main visual element]\\nLearning_Objective: [What viewers should learn]\\nContent: [What concepts/information to present]\\nTransition_To_Next: [How this prepares for scene 2]\\n\n\nTOPIC: Projectile motion\nSCENE NUMBER: 1\nPREVIOUS SCENE STATE: \n\nRELEVANT MANIM PATTERNS:\nPattern: concept_comparison\nDescription: Side-by-side comparison of two concepts\nUse case: Comparing and contrasting concepts\nTemplate:\n\n        # Title\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\n        \n        # Left side concept\n        left_title = Text("{left_title}").scale(0.7).shift(LEFT*3 + UP*1.5)\n        left_content = Text("{left_content}").scale(0.6).shift(LEFT*3)\n        left_box = SurroundingRectangle(\n            VGroup(left_title, left_content), \n            color=BLUE, buff=0.3\n        )\n        \n        # Right side concept  \n        right_title = Text("{right_title}").scale(0.7).shift(RI...\n\nPattern: equation_introduction\nDescription: Introduce mathematical equation with fade-in and highlight\nUse case: Introducing key formulas and concepts\nTemplate:\n\n        # Title at top\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\n        \n        # Main equation in center\n        equation = MathTex(r"{equation}").scale(1.2)\n        \n        # Label below equation  \n        label = Text("{label}").scale(0.6).next_to(equation, DOWN, buff=1.0)\n        \n        # Highlight box around equation\n        highlight = SurroundingRectangle(equation, color=YELLOW, buff=0.2)\n        \n        # Animation sequence\n        self.play(Write(title))\n  ...\n\nImplementation Plan:\n\n1. CONTINUITY PLAN:\n- Elements to carry forward from previous scene: [list specific visual elements]\n- New elements to introduce: [list new elements]\n- Transition method: [how to smoothly connect]\n\n2. VISUAL LAYOUT (No overlaps):\n| Element | Type | Zone | Position Method | Purpose |\n|---------|------|------|----------------|---------|\n| 1       |      |      |                |         |\n| 2       |      |      |                |         |\n| 3       |      |      |                |         |\n\n3. ANIMATION SEQUENCE:\n| Step | Action | Element(s) | Timing | Notes |\n|------|--------|------------|--------|-------|\n| 1    |        |            |        |       |\n| 2    |        |            |        |       |\n| 3    |        |            |        |       |\n| 4    |        |            |        |       |\n| 5    |        |            |        |       |\n\n4. SCENE END STATE:\n- Elements remaining on screen: [for next scene continuity]\n- Key visual/conceptual state: [what should be remembered]\n\n5. MANIM PATTERN TO USE:\n- Primary pattern: concept_comparison\n- Customizations needed: [how to adapt the pattern]\n\nBe specific about transitions and maintaining visual continuity.', 'Certainly! Below is a detailed implementation plan for **Scene 1** on **Projectile Motion**, designed using the provided **concept_comparison** Manim pattern and tailored to your scene context:\n\n---\n\n### Implementation Plan for Scene 1: Projectile Motion\n\n---\n\n#### 1. CONTINUITY PLAN:\n\n- **Elements to carry forward from previous scene:**  \n  - None (This is Scene 1; starting fresh to hook the audience)\n\n- **New elements to introduce:**  \n  - Title: “Projectile Motion: Understanding the Basics”  \n  - Left concept: **Horizontal motion** (constant velocity)  \n  - Right concept: **Vertical motion** (constant acceleration due to gravity)  \n  - Visual comparison layout to clearly differentiate the two components of projectile motion\n\n- **Transition method:**  \n  - Fade in the title to hook the audience.  \n  - Present the two components side-by-side with subtle slide-in animations from left and right, visually emphasizing how projectile motion is decomposed into two independent motions.\n  - This sets up the viewer to understand the next step on how these combine, preparing for Scene 2.\n\n---\n\n#### 2. VISUAL LAYOUT (No overlaps):\n\n| Element          | Type           | Zone       | Position Method                | Purpose                                                    |\n|------------------|----------------|------------|-------------------------------|------------------------------------------------------------|\n| 1. Title         | Text           | Top Center | `.to_edge(UP, buff=0.5)`      | Introduce topic to the viewer and create focus             |\n| 2. Left concept   | Text + Box     | Left side  | Shifted `LEFT*3 + UP*1.5`      | Explain horizontal motion - constant velocity               |\n| 3. Left content   | Text           | Left side  | Shifted `LEFT*3`               | Supporting info for horizontal motion                       |\n| 4. Right concept  | Text + Box     | Right side | Shifted `RIGHT*3 + UP*1.5`     | Explain vertical motion - constant acceleration due to gravity |\n| 5. Right content  | Text           | Right side | Shifted `RIGHT*3`              | Supporting info for vertical motion                         |\n\n---\n\n#### 3. ANIMATION SEQUENCE:\n\n| Step | Action                                         | Element(s)                       | Timing    | Notes                                                          |\n|-------|------------------------------------------------|--------------------------------|-----------|----------------------------------------------------------------|\n| 1     | Fade in the title                              | Title                          | 1.5 sec   | Capture attention                                              |\n| 2     | Animate slide-in of left_title and left_content from left off-screen | Left title & content            | 1.5 sec   | Establish horizontal motion concept                           |\n| 3     | Animate slide-in of right_title and right_content from right off-screen | Right title & content           | 1.5 sec   | Establish vertical motion concept                             |\n| 4     | Show surrounding rectangles (boxes) around left and right groups | left_box & right_box            | 1 sec     | Visually group concepts                                        |\n| 5     | Pause for emphasis                             | All current elements           | 2 secs    | Allow viewer to absorb comparison                             |\n\n---\n\n#### 4. SCENE END STATE:\n\n- **Elements remaining on screen:**  \n  - Title  \n  - Both left and right concept groups boxed and fully visible\n\n- **Key visual/conceptual state:**  \n  - Clear understanding that projectile motion splits into independent horizontal and vertical components.  \n  - Audience is primed to see how these combine (next scene will likely show trajectory and associated equations).\n\n---\n\n#### 5. MANIM PATTERN TO USE:\n\n- **Primary pattern:** `concept_comparison`\n\n- **Customizations needed:**  \n  - Customize left and right text to define **Horizontal motion** vs **Vertical motion** specifically.  \n  - Use colors to enhance understanding: e.g., use BLUE for horizontal motion box and RED for vertical motion box to visually differentiate.  \n  - Add a subtle slide-in animation for left and right groups instead of just fade in, to add dynamic engagement as this is the hook scene.  \n  - Adjust text scaling slightly to match the density of information (left/right content could have bullet points or succinct phrases).  \n\n---\n\n### Concrete example of content to fill into the pattern:\n\n```python\ntitle = Text("Projectile Motion: Understanding the Basics").scale(0.8).to_edge(UP, buff=0.5)\n\n# Left side concept: Horizontal motion\nleft_title = Text("Horizontal Motion").scale(0.7).shift(LEFT*3 + UP*1.5)\nleft_content = Text(\n    "• Constant velocity\\n• No acceleration", \n    font_size=24\n).shift(LEFT*3)\nleft_box = SurroundingRectangle(\n    VGroup(left_title, left_content), \n    color=BLUE, buff=0.3\n)\n\n# Right side concept: Vertical motion\nright_title = Text("Vertical Motion").scale(0.7).shift(RIGHT*3 + UP*1.5)\nright_content = Text(\n    "• Accelerated motion\\n• Acceleration = g (~9.8 m/s²)", \n    font_size=24\n).shift(RIGHT*3)\nright_box = SurroundingRectangle(\n    VGroup(right_title, right_content), \n    color=RED, buff=0.3\n)\n\n# Animation idea: title fades in, left group slides in from left, right group slides in from right, then boxes appear\n```\n\n---\n\n### Summary:\n\n- Start with a strong, clear title as a hook.  \n- Emphasize decomposition of projectile motion into two fundamentally different but simultaneous motions.  \n- Use color-coded boxes with succinct bullet points to visually anchor these concepts.  \n- Slide in from sides adds visual interest and sets stage to later unify the concepts (likely Scene 2).  \n\nThis respects your scene context and produces a strong continuity and learning objective alignment.\n\n---\n\nIf you want, I can provide the full Manim scene code snippet based on this plan next. Would you like that?'], ['Design the implementation for this scene using the provided Manim patterns:\n\nSCENE CONTEXT:\n\\nContinuity: Builds directly on the basketball example by breaking down the physical principles behind its flight path.  \\nVisual_Focus: Animated diagram of a basketball’s trajectory broken into horizontal and vertical components with vector arrows and axes labeled.  \\nLearning_Objective: Viewers learn the key principles: initial velocity, gravity, independence of horizontal and vertical motions, and that projectile motion results from these combined effects.  \\nContent: Explain how the ball’s motion can be separated into two parts—a steady horizontal movement and a vertical movement affected by gravity pulling it down. Introduce key terms like initial velocity, acceleration due to gravity, and the parabolic trajectory shape. Use simple equations or graphs to visualize velocity components and acceleration.  \\nTransition_To_Next: Indicate that now with this foundation, we’ll put these principles into action by calculating a real-world example of projectile motion, reinforcing how math and physics work together.  \\n\n\nTOPIC: Projectile motion\nSCENE NUMBER: 2\nPREVIOUS SCENE STATE: Elements: [\'\\\\n\\\\nSCENE CONTEXT\'], State: Scene 1 completed\n\nRELEVANT MANIM PATTERNS:\nPattern: equation_introduction\nDescription: Introduce mathematical equation with fade-in and highlight\nUse case: Introducing key formulas and concepts\nTemplate:\n\n        # Title at top\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\n        \n        # Main equation in center\n        equation = MathTex(r"{equation}").scale(1.2)\n        \n        # Label below equation  \n        label = Text("{label}").scale(0.6).next_to(equation, DOWN, buff=1.0)\n        \n        # Highlight box around equation\n        highlight = SurroundingRectangle(equation, color=YELLOW, buff=0.2)\n        \n        # Animation sequence\n        self.play(Write(title))\n  ...\n\nPattern: graph_with_annotation\nDescription: Create annotated graph with key points highlighted\nUse case: Visualizing functions and key mathematical concepts\nTemplate:\n\n        # Create axes\n        axes = Axes(\n            x_range=[-3, 3, 1],\n            y_range=[-2, 4, 1],\n            x_length=6,\n            y_length=4,\n            axis_config={{"color": BLUE}}\n        ).to_edge(DOWN, buff=1.0)\n        \n        # Function graph\n        func = axes.plot(lambda x: {function}, color=RED)\n        \n        # Title\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\n        \n        # Key point\n        point = Dot(axes.coords_to_point({key_x}, {key_y}...\n\nImplementation Plan:\n\n1. CONTINUITY PLAN:\n- Elements to carry forward from previous scene: [list specific visual elements]\n- New elements to introduce: [list new elements]\n- Transition method: [how to smoothly connect]\n\n2. VISUAL LAYOUT (No overlaps):\n| Element | Type | Zone | Position Method | Purpose |\n|---------|------|------|----------------|---------|\n| 1       |      |      |                |         |\n| 2       |      |      |                |         |\n| 3       |      |      |                |         |\n\n3. ANIMATION SEQUENCE:\n| Step | Action | Element(s) | Timing | Notes |\n|------|--------|------------|--------|-------|\n| 1    |        |            |        |       |\n| 2    |        |            |        |       |\n| 3    |        |            |        |       |\n| 4    |        |            |        |       |\n| 5    |        |            |        |       |\n\n4. SCENE END STATE:\n- Elements remaining on screen: [for next scene continuity]\n- Key visual/conceptual state: [what should be remembered]\n\n5. MANIM PATTERN TO USE:\n- Primary pattern: equation_introduction\n- Customizations needed: [how to adapt the pattern]\n\nBe specific about transitions and maintaining visual continuity.', 'Certainly! Below is a detailed implementation plan for Scene 2 using the provided Manim patterns, aligned closely with the scene context and continuity from Scene 1.\n\n---\n\n## 1. CONTINUITY PLAN\n\n- **Elements to carry forward from previous scene:**\n  - The basketball icon or simplified ball graphic (to keep the visual anchor).\n  - The axes or the court baseline from Scene 1, if shown, lightly faded in background for spatial continuity.\n  \n- **New elements to introduce:**\n  - Animated diagram showing decomposition of the basketball’s motion into horizontal and vertical components.\n  - Vector arrows representing initial velocity (split into horizontal and vertical).\n  - Gravity vector arrow pointing downward.\n  - Labeled axes for x (horizontal) and y (vertical).\n  - Text labels introducing “initial velocity”, “gravity”, “horizontal motion”, “vertical motion”.\n  - Equation for projectile motion initial velocity components.\n  - Parabolic trajectory curve emphasizing independence of motions.\n\n- **Transition method:**\n  - Fade out or minimize illustration of the basketball’s raw flight path from Scene 1.\n  - Fade in the axes and vector components.\n  - Use smooth morphing or concurrent fade-in animations to shift visual focus smoothly from the raw ball flight to the physics breakdown.\n  \n---\n\n## 2. VISUAL LAYOUT (No overlaps)\n\n| Element                    | Type               | Zone         | Position Method              | Purpose                                               |\n|----------------------------|--------------------|--------------|-----------------------------|-------------------------------------------------------|\n| Basketball icon/graphic     | VMobject           | Bottom-Left  | Anchor near origin (0,0)     | Visual anchor, continuity from previous scene         |\n| Axes (x & y)               | Axes               | Center       | Centered on screen bottom area| Reference frame for motion decomposition               |\n| Horizontal velocity arrow  | Arrow + label       | Mid-left     | Positioned along x-axis near ball | Shows constant horizontal velocity component          |\n| Vertical velocity arrow    | Arrow + label       | Above ball   | Positioned along y-axis       | Shows vertical velocity component affected by gravity |\n| Gravity vector arrow       | Arrow + label       | Above trajectory| Pointing downward on y-axis | Illustrates acceleration due to gravity                 |\n| Parabolic trajectory       | Parametric curve   | Center-right | Plotted on axes              | Demonstrates actual combined motion                     |\n| Title & text labels        | Text               | Top         | Top edge, spaced evenly      | Introduce key terms & learning objectives               |\n| Equation box (initial velocity) | MathTex + SurroundingRectangle | Center-top | Just under the title          | Introduce and highlight velocity component equations   |\n\n---\n\n## 3. ANIMATION SEQUENCE\n\n| Step | Action                                                               | Element(s)                               | Timing      | Notes                                                   |\n|-------|----------------------------------------------------------------------|-----------------------------------------|-------------|---------------------------------------------------------|\n| 1     | Fade out previous scene’s full trajectory and court graphics         | Basketball, old visualization            | 1.0 sec     | Keep basketball icon visible but smaller/faded          |\n| 2     | Fade in axes with labels (x, y), position basketball at origin       | Axes, axis labels, basketball            | 1.0 sec     | Establish coordinate reference frame                     |\n| 3     | Draw horizontal velocity arrow from origin toward right (steady)      | Horizontal arrow + “Horizontal Velocity” label | 1.0 sec | Emphasize steady horizontal motion                       |\n| 4     | Draw vertical velocity arrow pointing upward with label               | Vertical arrow + “Vertical Velocity” label | 1.0 sec | Show initial vertical component                           |\n| 5     | Introduce gravity arrow pointing straight down near vertical vector   | Gravity vector + label                    | 1.0 sec     | Illustrate acceleration affecting vertical motion        |\n| 6     | Animate parabolic trajectory curve combining horizontal and vertical | Parabolic curve                          | 1.5 sec     | Show resultant projectile motion                          |\n| 7     | Fade in title and explanatory text about decomposition of motion      | Title, bullet point labels                | 2.0 sec     | Increase viewer comprehension                             |\n| 8     | Introduce initial velocity equations with highlighting                | Equation + title + surrounding box       | 2.0 sec     | Use equation_introduction pattern for clarity            |\n| 9     | Summary highlight or pointer emphasizing independence of motions     | Text highlight or pointer animation      | 1.0 sec     | Reinforce conceptual takeaways                            |\n| 10    | Pause briefly, add final text indicating transition to calculation    | Transition text at bottom/top             | 1.5 sec     | Prepare viewer for Scene 3                                |\n\n---\n\n## 4. SCENE END STATE\n\n- **Elements remaining on screen:**\n  - Axes with labels.\n  - Parabolic trajectory curve.\n  - Basketball icon positioned near origin.\n  - Velocity vector arrows (both velocity components and gravity).\n  - Initial velocity equation highlighted.\n  - Key labels/text describing the components and concepts.\n  \n- **Key visual/conceptual state:**\n  - Clear understanding that the basketball’s flight can be broken into independent horizontal and vertical motions.\n  - Visual connection of the vector components to the parabolic path.\n  - Recognition of gravity as the constant vertical acceleration.\n  - Familiarity with initial velocity components equations.\n  - Ready for applying these concepts in a practical problem next scene.\n\n---\n\n## 5. MANIM PATTERN TO USE\n\n- **Primary pattern:** `equation_introduction`\n  - Will be used to introduce the key initial velocity components formula:\n    \\[\n    v_{x} = v_0 \\cos \\theta, \\quad v_{y} = v_0 \\sin \\theta\n    \\]\n  - Sequence:\n    - Title introducing the formula (e.g., “Components of Initial Velocity”).\n    - Display formula with highlight box.\n    - Add descriptive label (e.g., explaining each term).\n\n- **Secondary pattern (adapted):** `graph_with_annotation`\n  - For plotting the parabolic trajectory on axes.\n  - Annotate key points like vertex (maximum height), initial point, and landing point.\n  - Highlight the independence by plotting horizontal motion as steady movement along x-axis and vertical motion as accelerated motion along y-axis.\n\n---\n\n### Customizations Needed to `equation_introduction` Pattern:\n\n- Instead of one equation, display two equations side-by-side or stacked for \\(v_x\\) and \\(v_y\\).\n- Add concise labeling or small arrows pointing to parts of the equations to link terms to visual arrows on screen.\n- Use color coding in the equation matching the vector arrow colors (e.g., horizontal velocity in blue, vertical velocity in red).\n- SurroundingRectangle color keyed to theme and vector colors.\n- Timing adjusted to allow simultaneous visualization of arrows and equation components.\n\n---\n\n### Example snippet using `equation_introduction` style for this scene (simplified):\n\n```python\ntitle = Text("Components of Initial Velocity").scale(0.8).to_edge(UP, buff=0.5)\nequation = MathTex(\n    r"v_x = v_0 \\cos \\theta,", r"\\quad", r"v_y = v_0 \\sin \\theta"\n).scale(1.2).next_to(title, DOWN, buff=0.5)\nhighlight = SurroundingRectangle(equation, color=BLUE, buff=0.3)\nlabel = Text("Horizontal and vertical velocity components").scale(0.6).next_to(equation, DOWN, buff=0.8)\n\nself.play(Write(title))\nself.play(Write(equation))\nself.play(Create(highlight))\nself.play(Write(label))\n```\n\n---\n\n**This structured implementation will ensure a smooth conceptual and visual flow from Scene 1 to Scene 2 and prepare viewers for the upcoming application of projectile motion principles.**']]

MANIM PATTERN TO ADAPT:

        # Title at top
        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)
        
        # Main equation in center
        equation = MathTex(r"{equation}").scale(1.2)
        
        # Label below equation  
        label = Text("{label}").scale(0.6).next_to(equation, DOWN, buff=1.0)
        
        # Highlight box around equation
        highlight = SurroundingRectangle(equation, color=YELLOW, buff=0.2)
        
        # Animation sequence
        self.play(Write(title))
        self.wait(1)
        self.play(Write(equation))
        self.wait(1.5)
        self.play(Create(highlight))
        self.wait(0.5)
        self.play(Write(label))
        self.wait(2)
                

CONTINUITY REQUIREMENTS:
- Previous scene ended with: ['\\n\\nSCENE CONTEXT']
- Must smoothly transition from: Scene 1 completed

STRICT REQUIREMENTS:
- Use the provided pattern as a base, customize for this specific scene
- Ensure smooth transitions if elements carry over from previous scenes
- Position all elements without overlaps using .to_edge(), .shift(), .next_to() with buff>=1.0
- Create meaningful pauses between animation steps (self.wait(1) minimum)
- Add educational value through progressive revelation
- Use colors: BLUE, RED, GREEN, WHITE, YELLOW, ORANGE, PURPLE, GRAY (no quotes)
- Class name: Scene2(Scene)

TEMPLATE CUSTOMIZATION:
Replace template placeholders with:
{'title': '\\n\\nSCENE CONTEXT:\\n\\\\nContinuity: [Starting point - how to hook the audience]\\\\nVisual_Focus: [Main visual element]\\\\nLearning_Objective: [What viewers should learn]\\\\nContent: [What concepts/information to present]\\\\nTransition_To_Next: [How this prepares for scene 2]\\\\n\\n\\nTOPIC: Projectile motion\\nSCENE NUMBER: 1\\nPREVIOUS SCENE STATE: \\n\\nRELEVANT MANIM PATTERNS:\\nPattern: concept_comparison\\nDescription: Side-by-side comparison of two concepts\\nUse case: Comparing and contrasting concepts\\nTemplate:\\n\\n        # Title\\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\\n        \\n        # Left side concept\\n        left_title = Text("{left_title}").scale(0.7).shift(LEFT*3 + UP*1.5)\\n        left_content = Text("{left_content}").scale(0.6).shift(LEFT*3)\\n        left_box = SurroundingRectangle(\\n            VGroup(left_title, left_content), \\n            color=BLUE, buff=0.3\\n        )\\n        \\n        # Right side concept  \\n        right_title = Text("{right_title}").scale(0.7).shift(RI...\\n\\nPattern: equation_introduction\\nDescription: Introduce mathematical equation with fade-in and highlight\\nUse case: Introducing key formulas and concepts\\nTemplate:\\n\\n        # Title at top\\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\\n        \\n        # Main equation in center\\n        equation = MathTex(r"{equation}").scale(1.2)\\n        \\n        # Label below equation  \\n        label = Text("{label}").scale(0.6).next_to(equation, DOWN, buff=1.0)\\n        \\n        # Highlight box around equation\\n        highlight = SurroundingRectangle(equation, color=YELLOW, buff=0.2)\\n        \\n        # Animation sequence\\n        self.play(Write(title))\\n  ...\\n\\nImplementation Plan:\\n\\n1. CONTINUITY PLAN:\\n- Elements to carry forward from previous scene: [list specific visual elements]\\n- New elements to introduce: [list new elements]\\n- Transition method: [how to smoothly connect]\\n\\n2. VISUAL LAYOUT (No overlaps):\\n| Element | Type | Zone | Position Method | Purpose |\\n|---------|------|------|----------------|---------|\\n| 1       |      |      |                |         |\\n| 2       |      |      |                |         |\\n| 3       |      |      |                |         |\\n\\n3. ANIMATION SEQUENCE:\\n| Step | Action | Element(s) | Timing | Notes |\\n|------|--------|------------|--------|-------|\\n| 1    |        |            |        |       |\\n| 2    |        |            |        |       |\\n| 3    |        |            |        |       |\\n| 4    |        |            |        |       |\\n| 5    |        |            |        |       |\\n\\n4. SCENE END STATE:\\n- Elements remaining on screen: [for next scene continuity]\\n- Key visual/conceptual state: [what should be remembered]\\n\\n5. MANIM PATTERN TO USE:\\n- Primary pattern: concept_comparison\\n- Customizations needed: [how to adapt the pattern]\\n\\nBe specific about transitions and maintaining visual continuity.\', \'Certainly! Below is a detailed implementation plan for **Scene 1** on **Projectile Motion**, designed using the provided **concept_comparison** Manim pattern and tailored to your scene context:\\n\\n---\\n\\n### Implementation Plan for Scene 1: Projectile Motion\\n\\n---\\n\\n#### 1. CONTINUITY PLAN:\\n\\n- **Elements to carry forward from previous scene:**  \\n  - None (This is Scene 1; starting fresh to hook the audience)\\n\\n- **New elements to introduce:**  \\n  - Title: “Projectile Motion: Understanding the Basics”  \\n  - Left concept: **Horizontal motion** (constant velocity)  \\n  - Right concept: **Vertical motion** (constant acceleration due to gravity)  \\n  - Visual comparison layout to clearly differentiate the two components of projectile motion\\n\\n- **Transition method:**  \\n  - Fade in the title to hook the audience.  \\n  - Present the two components side-by-side with subtle slide-in animations from left and right, visually emphasizing how projectile motion is decomposed into two independent motions.\\n  - This sets up the viewer to understand the next step on how these combine, preparing for Scene 2.\\n\\n---\\n\\n#### 2. VISUAL LAYOUT (No overlaps):\\n\\n| Element          | Type           | Zone       | Position Method                | Purpose                                                    |\\n|------------------|----------------|------------|-------------------------------|------------------------------------------------------------|\\n| 1. Title         | Text           | Top Center | `.to_edge(UP, buff=0.5)`      | Introduce topic to the viewer and create focus             |\\n| 2. Left concept   | Text + Box     | Left side  | Shifted `LEFT*3 + UP*1.5`      | Explain horizontal motion - constant velocity               |\\n| 3. Left content   | Text           | Left side  | Shifted `LEFT*3`               | Supporting info for horizontal motion                       |\\n| 4. Right concept  | Text + Box     | Right side | Shifted `RIGHT*3 + UP*1.5`     | Explain vertical motion - constant acceleration due to gravity |\\n| 5. Right content  | Text           | Right side | Shifted `RIGHT*3`              | Supporting info for vertical motion                         |\\n\\n---\\n\\n#### 3. ANIMATION SEQUENCE:\\n\\n| Step | Action                                         | Element(s)                       | Timing    | Notes                                                          |\\n|-------|------------------------------------------------|--------------------------------|-----------|----------------------------------------------------------------|\\n| 1     | Fade in the title                              | Title                          | 1.5 sec   | Capture attention                                              |\\n| 2     | Animate slide-in of left_title and left_content from left off-screen | Left title & content            | 1.5 sec   | Establish horizontal motion concept                           |\\n| 3     | Animate slide-in of right_title and right_content from right off-screen | Right title & content           | 1.5 sec   | Establish vertical motion concept                             |\\n| 4     | Show surrounding rectangles (boxes) around left and right groups | left_box & right_box            | 1 sec     | Visually group concepts                                        |\\n| 5     | Pause for emphasis                             | All current elements           | 2 secs    | Allow viewer to absorb comparison                             |\\n\\n---\\n\\n#### 4. SCENE END STATE:\\n\\n- **Elements remaining on screen:**  \\n  - Title  \\n  - Both left and right concept groups boxed and fully visible\\n\\n- **Key visual/conceptual state:**  \\n  - Clear understanding that projectile motion splits into independent horizontal and vertical components.  \\n  - Audience is primed to see how these combine (next scene will likely show trajectory and associated equations).\\n\\n---\\n\\n#### 5. MANIM PATTERN TO USE:\\n\\n- **Primary pattern:** `concept_comparison`\\n\\n- **Customizations needed:**  \\n  - Customize left and right text to define **Horizontal motion** vs **Vertical motion** specifically.  \\n  - Use colors to enhance understanding: e.g., use BLUE for horizontal motion box and RED for vertical motion box to visually differentiate.  \\n  - Add a subtle slide-in animation for left and right groups instead of just fade in, to add dynamic engagement as this is the hook scene.  \\n  - Adjust text scaling slightly to match the density of information (left/right content could have bullet points or succinct phrases).  \\n\\n---\\n\\n### Concrete example of content to fill into the pattern:\\n\\n```python\\ntitle = Text("Projectile Motion: Understanding the Basics").scale(0.8).to_edge(UP, buff=0.5)\\n\\n# Left side concept: Horizontal motion\\nleft_title = Text("Horizontal Motion").scale(0.7).shift(LEFT*3 + UP*1.5)\\nleft_content = Text(\\n    "• Constant velocity\\\\n• No acceleration", \\n    font_size=24\\n).shift(LEFT*3)\\nleft_box = SurroundingRectangle(\\n    VGroup(left_title, left_content), \\n    color=BLUE, buff=0.3\\n)\\n\\n# Right side concept: Vertical motion\\nright_title = Text("Vertical Motion").scale(0.7).shift(RIGHT*3 + UP*1.5)\\nright_content = Text(\\n    "• Accelerated motion\\\\n• Acceleration = g (~9.8 m/s²)", \\n    font_size=24\\n).shift(RIGHT*3)\\nright_box = SurroundingRectangle(\\n    VGroup(right_title, right_content), \\n    color=RED, buff=0.3\\n)\\n\\n# Animation idea: title fades in, left group slides in from left, right group slides in from right, then boxes appear\\n```\\n\\n---\\n\\n### Summary:\\n\\n- Start with a strong, clear title as a hook.  \\n- Emphasize decomposition of projectile motion into two fundamentally different but simultaneous motions.  \\n- Use color-coded boxes with succinct bullet points to visually anchor these concepts.  \\n- Slide in from sides adds visual interest and sets stage to later unify the concepts (likely Scene 2).  \\n\\nThis respects your scene context and produces a strong continuity and learning objective alignment.\\n\\n---\\n\\nIf you want, I can provide the full Manim scene code snippet based on this plan next. Would you like that?\'], [\'Design the implementation for this scene using the provided Manim patterns:\\n\\nSCENE CONTEXT:\\n\\\\nContinuity: Builds directly on the basketball example by breaking down the physical principles behind its flight path.  \\\\nVisual_Focus: Animated diagram of a basketball’s trajectory broken into horizontal and vertical components with vector arrows and axes labeled.  \\\\nLearning_Objective: Viewers learn the key principles: initial velocity, gravity, independence of horizontal and vertical motions, and that projectile motion results from these combined effects.  \\\\nContent: Explain how the ball’s motion can be separated into two parts—a steady horizontal movement and a vertical movement affected by gravity pulling it down. Introduce key terms like initial velocity, acceleration due to gravity, and the parabolic trajectory shape. Use simple equations or graphs to visualize velocity components and acceleration.  \\\\nTransition_To_Next: Indicate that now with this foundation, we’ll put these principles into action by calculating a real-world example of projectile motion, reinforcing how math and physics work together.  \\\\n\\n\\nTOPIC: Projectile motion\\nSCENE NUMBER: 2\\nPREVIOUS SCENE STATE: Elements: [\\\'\\\\\\\\n\\\\\\\\nSCENE CONTEXT\\\'], State: Scene 1 completed\\n\\nRELEVANT MANIM PATTERNS:\\nPattern: equation_introduction\\nDescription: Introduce mathematical equation with fade-in and highlight\\nUse case: Introducing key formulas and concepts\\nTemplate:\\n\\n        # Title at top\\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\\n        \\n        # Main equation in center\\n        equation = MathTex(r"{equation}").scale(1.2)\\n        \\n        # Label below equation  \\n        label = Text("{label}").scale(0.6).next_to(equation, DOWN, buff=1.0)\\n        \\n        # Highlight box around equation\\n        highlight = SurroundingRectangle(equation, color=YELLOW, buff=0.2)\\n        \\n        # Animation sequence\\n        self.play(Write(title))\\n  ...\\n\\nPattern: graph_with_annotation\\nDescription: Create annotated graph with key points highlighted\\nUse case: Visualizing functions and key mathematical concepts\\nTemplate:\\n\\n        # Create axes\\n        axes = Axes(\\n            x_range=[-3, 3, 1],\\n            y_range=[-2, 4, 1],\\n            x_length=6,\\n            y_length=4,\\n            axis_config={{"color": BLUE}}\\n        ).to_edge(DOWN, buff=1.0)\\n        \\n        # Function graph\\n        func = axes.plot(lambda x: {function}, color=RED)\\n        \\n        # Title\\n        title = Text("{title}").scale(0.8).to_edge(UP, buff=0.5)\\n        \\n        # Key point\\n        point = Dot(axes.coords_to_point({key_x}, {key_y}...\\n\\nImplementation Plan:\\n\\n1. CONTINUITY PLAN:\\n- Elements to carry forward from previous scene: [list specific visual elements]\\n- New elements to introduce: [list new elements]\\n- Transition method: [how to smoothly connect]\\n\\n2. VISUAL LAYOUT (No overlaps):\\n| Element | Type | Zone | Position Method | Purpose |\\n|---------|------|------|----------------|---------|\\n| 1       |      |      |                |         |\\n| 2       |      |      |                |         |\\n| 3       |      |      |                |         |\\n\\n3. ANIMATION SEQUENCE:\\n| Step | Action | Element(s) | Timing | Notes |\\n|------|--------|------------|--------|-------|\\n| 1    |        |            |        |       |\\n| 2    |        |            |        |       |\\n| 3    |        |            |        |       |\\n| 4    |        |            |        |       |\\n| 5    |        |            |        |       |\\n\\n4. SCENE END STATE:\\n- Elements remaining on screen: [for next scene continuity]\\n- Key visual/conceptual state: [what should be remembered]\\n\\n5. MANIM PATTERN TO USE:\\n- Primary pattern: equation_introduction\\n- Customizations needed: [how to adapt the pattern]\\n\\nBe specific about transitions and maintaining visual continuity.\', \'Certainly! Below is a detailed implementation plan for Scene 2 using the provided Manim patterns, aligned closely with the scene context and continuity from Scene 1.\\n\\n---\\n\\n## 1. CONTINUITY PLAN\\n\\n- **Elements to carry forward from previous scene:**\\n  - The basketball icon or simplified ball graphic (to keep the visual anchor).\\n  - The axes or the court baseline from Scene 1, if shown, lightly faded in background for spatial continuity.\\n  \\n- **New elements to introduce:**\\n  - Animated diagram showing decomposition of the basketball’s motion into horizontal and vertical components.\\n  - Vector arrows representing initial velocity (split into horizontal and vertical).\\n  - Gravity vector arrow pointing downward.\\n  - Labeled axes for x (horizontal) and y (vertical).\\n  - Text labels introducing “initial velocity”, “gravity”, “horizontal motion”, “vertical motion”.\\n  - Equation for projectile motion initial velocity components.\\n  - Parabolic trajectory curve emphasizing independence of motions.\\n\\n- **Transition method:**\\n  - Fade out or minimize illustration of the basketball’s raw flight path from Scene 1.\\n  - Fade in the axes and vector components.\\n  - Use smooth morphing or concurrent fade-in animations to shift visual focus smoothly from the raw ball flight to the physics breakdown.\\n  \\n---\\n\\n## 2. VISUAL LAYOUT (No overlaps)\\n\\n| Element                    | Type               | Zone         | Position Method              | Purpose                                               |\\n|----------------------------|--------------------|--------------|-----------------------------|-------------------------------------------------------|\\n| Basketball icon/graphic     | VMobject           | Bottom-Left  | Anchor near origin (0,0)     | Visual anchor, continuity from previous scene         |\\n| Axes (x & y)               | Axes               | Center       | Centered on screen bottom area| Reference frame for motion decomposition               |\\n| Horizontal velocity arrow  | Arrow + label       | Mid-left     | Positioned along x-axis near ball | Shows constant horizontal velocity component          |\\n| Vertical velocity arrow    | Arrow + label       | Above ball   | Positioned along y-axis       | Shows vertical velocity component affected by gravity |\\n| Gravity vector arrow       | Arrow + label       | Above trajectory| Pointing downward on y-axis | Illustrates acceleration due to gravity                 |\\n| Parabolic trajectory       | Parametric curve   | Center-right | Plotted on axes              | Demonstrates actual combined motion                     |\\n| Title & text labels        | Text               | Top         | Top edge, spaced evenly      | Introduce key terms & learning objectives               |\\n| Equation box (initial velocity) | MathTex + SurroundingRectangle | Center-top | Just under the title          | Introduce and highlight velocity component equations   |\\n\\n---\\n\\n## 3. ANIMATION SEQUENCE\\n\\n| Step | Action                                                               | Element(s)                               | Timing      | Notes                                                   |\\n|-------|----------------------------------------------------------------------|-----------------------------------------|-------------|---------------------------------------------------------|\\n| 1     | Fade out previous scene’s full trajectory and court graphics         | Basketball, old visualization            | 1.0 sec     | Keep basketball icon visible but smaller/faded          |\\n| 2     | Fade in axes with labels (x, y), position basketball at origin       | Axes, axis labels, basketball            | 1.0 sec     | Establish coordinate reference frame                     |\\n| 3     | Draw horizontal velocity arrow from origin toward right (steady)      | Horizontal arrow + “Horizontal Velocity” label | 1.0 sec | Emphasize steady horizontal motion                       |\\n| 4     | Draw vertical velocity arrow pointing upward with label               | Vertical arrow + “Vertical Velocity” label | 1.0 sec | Show initial vertical component                           |\\n| 5     | Introduce gravity arrow pointing straight down near vertical vector   | Gravity vector + label                    | 1.0 sec     | Illustrate acceleration affecting vertical motion        |\\n| 6     | Animate parabolic trajectory curve combining horizontal and vertical | Parabolic curve                          | 1.5 sec     | Show resultant projectile motion                          |\\n| 7     | Fade in title and explanatory text about decomposition of motion      | Title, bullet point labels                | 2.0 sec     | Increase viewer comprehension                             |\\n| 8     | Introduce initial velocity equations with highlighting                | Equation + title + surrounding box       | 2.0 sec     | Use equation_introduction pattern for clarity            |\\n| 9     | Summary highlight or pointer emphasizing independence of motions     | Text highlight or pointer animation      | 1.0 sec     | Reinforce conceptual takeaways                            |\\n| 10    | Pause briefly, add final text indicating transition to calculation    | Transition text at bottom/top             | 1.5 sec     | Prepare viewer for Scene 3                                |\\n\\n---\\n\\n## 4. SCENE END STATE\\n\\n- **Elements remaining on screen:**\\n  - Axes with labels.\\n  - Parabolic trajectory curve.\\n  - Basketball icon positioned near origin.\\n  - Velocity vector arrows (both velocity components and gravity).\\n  - Initial velocity equation highlighted.\\n  - Key labels/text describing the components and concepts.\\n  \\n- **Key visual/conceptual state:**\\n  - Clear understanding that the basketball’s flight can be broken into independent horizontal and vertical motions.\\n  - Visual connection of the vector components to the parabolic path.\\n  - Recognition of gravity as the constant vertical acceleration.\\n  - Familiarity with initial velocity components equations.\\n  - Ready for applying these concepts in a practical problem next scene.\\n\\n---\\n\\n## 5. MANIM PATTERN TO USE\\n\\n- **Primary pattern:** `equation_introduction`\\n  - Will be used to introduce the key initial velocity components formula:\\n    \\\\[\\n    v_{x} = v_0 \\\\cos \\\\theta, \\\\quad v_{y} = v_0 \\\\sin \\\\theta\\n    \\\\]\\n  - Sequence:\\n    - Title introducing the formula (e.g., “Components of Initial Velocity”).\\n    - Display formula with highlight box.\\n    - Add descriptive label (e.g., explaining each term).\\n\\n- **Secondary pattern (adapted):** `graph_with_annotation`\\n  - For plotting the parabolic trajectory on axes.\\n  - Annotate key points like vertex (maximum height), initial point, and landing point.\\n  - Highlight the independence by plotting horizontal motion as steady movement along x-axis and vertical motion as accelerated motion along y-axis.\\n\\n---\\n\\n### Customizations Needed to `equation_introduction` Pattern:\\n\\n- Instead of one equation, display two equations side-by-side or stacked for \\\\(v_x\\\\) and \\\\(v_y\\\\).\\n- Add concise labeling or small arrows pointing to parts of the equations to link terms to visual arrows on screen.\\n- Use color coding in the equation matching the vector arrow colors (e.g., horizontal velocity in blue, vertical velocity in red).\\n- SurroundingRectangle color keyed to theme and vector colors.\\n- Timing adjusted to allow simultaneous visualization of arrows and equation components.\\n\\n---\\n\\n### Example snippet using `equation_introduction` style for this scene (simplified):\\n\\n```python\\ntitle = Text("Components of Initial Velocity").scale(0.8).to_edge(UP, buff=0.5)\\nequation = MathTex(\\n    r"v_x = v_0 \\\\cos \\\\theta,", r"\\\\quad", r"v_y = v_0 \\\\sin \\\\theta"\\n).scale(1.2).next_to(title, DOWN, buff=0.5)\\nhighlight = SurroundingRectangle(equation, color=BLUE, buff=0.3)\\nlabel = Text("Horizontal and vertical velocity components").scale(0.6).next_to(equation, DOWN, buff=0.8)\\n\\nself.play(Write(title))\\nself.play(Write(equation))\\nself.play(Create(highlight))\\nself.play(Write(label))\\n```\\n\\n---\\n\\n**This structured implementation will ensure a smooth conceptual and visual flow from Scene 1 to Scene 2 and prepare viewers for the upcoming application of projectile motion principles.**\']]', 'equation': 'E = mc^2', 'label': "Einstein's Mass-Energy Equation", 'step1_text': 'Step 1', 'step2_text': 'Step 2', 'step3_text': 'Step 3'}

Generate complete Python code with proper imports: