Trigonometric Functions – Sine – Useful code


import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

 

# Generate unit circle points

theta = np.linspace(0, 2 * np.pi, 1000)

x_circle = np.cos(theta)

y_circle = np.sin(theta)

 

# Initialize figure

fig, ax = plt.subplots(figsize=(8, 8))

ax.plot(x_circle, y_circle, ‘b-‘, label=“Unit Circle”)  # Unit circle

ax.axhline(0, color=“gray”, linestyle=“dotted”)

ax.axvline(0, color=“gray”, linestyle=“dotted”)

 

# Add dynamic triangle components

triangle_line, = ax.plot([], [], ‘r-‘, linewidth=2, label=“Triangle Sides”)

point, = ax.plot([], [], ‘ro’)  # Moving point on the circle

 

# Text for dynamic values

dynamic_text = ax.text(0.03, 0.03, “”, fontsize=12, color=“black”, ha=“left”, transform=ax.transAxes)

 

# Set up axis limits and labels

ax.set_xlim(1.2, 1.2)

ax.set_ylim(1.2, 1.2)

ax.set_title(“Sine as a Triangle on the Unit Circle”, fontsize=14)

ax.set_xlabel(“cos(θ)”, fontsize=12)

ax.set_ylabel(“sin(θ)”, fontsize=12)

ax.legend(loc=“upper left”)

 

# Animation update function

def update(frame):

    angle = theta[frame]

    x_point = np.cos(angle)

    y_point = np.sin(angle)

    degrees = np.degrees(angle) % 360  # Convert radians to degrees

    

    # Update triangle

    triangle_line.set_data([0, x_point, x_point, 0], [0, y_point, 0, 0])

    

    # Update point on the circle

    point.set_data([x_point], [y_point])  # Fixed this line to avoid the warning

    

    # Update text for angle, opposite side length, and sin(θ)

    dynamic_text.set_text(f“Angle: {degrees:.1f}°\nOpposite Side Length: {y_point:.2f}\nsin(θ): {y_point:.2f}”)

    return triangle_line, point, dynamic_text

 

# Create animation

ani = animation.FuncAnimation(fig, update, frames=len(theta), interval=20, blit=True)

plt.show()



Source link

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *