Μια απόδειξη χωρίς λόγια για την πρόταση:
Το εμβαδόν ενός τριγώνου είναι ίσο με το γινόμενο της ακτίνας (r) του εγγεγραμμένου κύκλου του και της ημιπεριμέτρου του τριγώνου (s).
Το βίντεο έγινε με το λογισμικό Manim.
from manim import *
class CreateCircle(Scene):
def construct(self):
circle = Circle() # create a circle
circle.set_fill(PINK, opacity=0.5) # set the color and transparency
self.play(Create(circle)) # show the circle on screen
class HelloLaTeX(Scene):
def construct(self):
tex = Tex(r"\LaTeX", font_size=144)
self.add(tex)
class MathTeXDemo(Scene):
def construct(self):
rtarrow0 = MathTex(r"\left(\sqrt{a^2-b^2}+\frac{\sqrt{3}a}{2}{ ,\ -}\frac{b}{2}{ \ }\right){ \ }\cdot \left(\frac{\sqrt{3}a}{2}-\sqrt{a^2-b^2},{ \ }\frac{b}{2}\right){ =0\ }\Longrightarrow", font_size=44)
rtarrow1 = Tex(r"$\frac{3a^2}{4}-\left({a^2-b^2}\right){ -}\frac{b^2}{4}{ =0}$", font_size=44)
self.add(VGroup(rtarrow0, rtarrow1).arrange(DOWN))
self.play(
rtarrow0.animate.rotate(PI), Rotate(rtarrow1, angle=PI), run_time=2
)
self.wait()
class BraceAnnotation(Scene):
def construct(self):
dot = Dot([-2, -1, 0])
dot2 = Dot([2, 1, 0])
line = Line(dot.get_center(), dot2.get_center()).set_color(ORANGE)
b1 = Brace(line)
b1text = b1.get_text("Horizontal distance")
b2 = Brace(line, direction=line.copy().rotate(PI / 2).get_unit_vector())
b2text = b2.get_tex("x-x_1")
self.add(line, dot, dot2, b1, b2, b1text, b2text)
class MobjectExample(Scene):
def construct(self):
myShift=4
p1= [1-myShift,1-myShift,0] #point a
p2= [9-myShift,1-myShift,0] #point b
p3= [3-myShift,5-myShift,0] #point c
p4= [3.63-myShift,2.63-myShift,0] #point I
p5= [3.62-myShift,1.02-myShift,0] #ποιντ Ε
p6= [4.53-myShift,3.98-myShift,0] #ποιντ z
p7= [2.18-myShift,3.35-myShift,0] #ποιντ H
trigono = Line(p1,p2).append_points(Line(p2,p3).points).append_points(Line(p3,p1).points)
aSide=Line(p1,p2) #side AB
bSide=Line(p2,p3) #side BC
cSide=Line(p3,p1) #side CA
a_text = Text('A').next_to(p1, DOWN)
b_text = Text('B').next_to(p2, DOWN)
c_text = Text('C').next_to(p3, UP)
self.add(aSide,a_text)
#self.play(FadeIn(aSide))
self.play(Create(aSide))
self.wait(1)
self.add(bSide,b_text)
self.play(FadeIn(bSide))
self.wait(1)
self.add(cSide,c_text)
self.play(FadeIn(cSide))
self.wait(1)
ai=Line(p1,p4)
self.my_draw_line(ai)
opposite_cSide=Line(p1,p3)
angle_text=r"\alpha"
self.my_draw_halfAngles(ai, aSide,opposite_cSide, angle_text)
bi=Line(p2,p4)
self.my_draw_line(bi)
opposite_aSide=Line(p2,p1)
angle_text=r"\beta"
self.my_draw_halfAngles(bi, bSide,opposite_aSide,angle_text)
# line = Line(p4.get_center(), p4.get_center()).set_color(ORANGE)
i_text = Text('I').next_to(p4, UP)
self.add(i_text)
#self.play(FadeIn(cSide))
self.wait(1)
ci=Line(p3,p4)
self.my_draw_line(ci)
opposite_bSide=Line(p3,p2)
angle_text=r"\gamma"
self.my_draw_halfAngles(ci, cSide,opposite_bSide, angle_text)
plots = VGroup()
rightangles = [
RightAngle(Line(p1,p2), Line(p4,p5),length=0.3, quadrant=(-1,-1), color=RED),
RightAngle(Line(p2,p3), Line(p4,p6),length=0.3, quadrant=(-1,-1), color=RED),
RightAngle(Line(p3,p1), Line(p4,p7),length=0.3, quadrant=(-1,-1), color=RED),
]
for rightangle in rightangles:
plots.add(rightangle)#.set_fill(GREEN, opacity=1)
#p5= [3.62-myShift,1.02-myShift,0] #ποιντ Ε
r1=Line(p4,p5)
self.my_draw_line(r1)
e_text = Text('E',font_size=36,color=RED).next_to(p5, DOWN)
plots.add(e_text)
#self.wait(1)
#p6= [4.53-myShift,3.98-myShift,0] #ποιντ z
r2=Line(p4,p6)
self.my_draw_line(r2)
z_text = Text('Z',font_size=36,color=RED).next_to(p6, RIGHT)
plots.add(z_text)
#p7= [2.18-myShift,3.35-myShift,0] #ποιντ H
r3=Line(p4,p7)
self.my_draw_line(r3)
h_text = Text('H',font_size=36,color=RED).next_to(p7, LEFT)
plots.add(h_text)
r_text = Text('r',color=RED).next_to(r2, UP).shift(0.7*DOWN)
plots.add(r_text)
r_text = Text('r',color=RED).next_to(r3, DOWN).shift(0.4*UP)
plots.add(r_text)
r_text = Text('r',color=RED).next_to(r1, RIGHT)
plots.add(r_text)
self.play(Create(plots),run_time=3)
inCircle = Circle(1.63).shift(p4) #p4.y-p1.y=1.63 ok
self.add(inCircle)
self.play(Create(inCircle))
self.wait(1)
aei_triangle = Polygon(p1,p4,p5)
aei_triangle.set_fill(BLUE, opacity=0.5) # set the color and transparency
self.play(Create(aei_triangle))
aeh_triangle = Polygon(p1,p4,p7)
aeh_triangle.set_fill(BLUE, opacity=0.5) # set the color and transparency
self.play(Create(aeh_triangle))
q1= [0-myShift,6-myShift,0] #point Θ
q2= [2.62-myShift,6-myShift,0] #point ι
q3= [2.62-myShift,7.63-myShift,0] #point k
q4= [0-myShift,7.63-myShift,0] #point l
aei_transferred_triangle = Polygon(q1,q2,q3)
aeh_transferred_triangle = Polygon(q1,q3,q4)
self.play(Transform(aei_triangle, aei_transferred_triangle))
self.play(Transform(aeh_triangle, aeh_transferred_triangle))
x1_text = Text('x', font_size=36,color=BLUE).next_to(Line(p1,p5), DOWN)
x2_text = Text('x', font_size=36,color=BLUE).next_to(Line(p1,p7), LEFT).shift(0.6*RIGHT)
x3_text = Text('x', font_size=36,color=BLUE).next_to(Line(q1,q2), DOWN)
self.play(
Line(p1,p5).animate.rotate(PI),x1_text.animate.rotate(PI),
Line(p1,p7).animate.rotate(PI),x2_text.animate.rotate(PI),
Line(q1,q2).animate.rotate(PI),x3_text.animate.rotate(PI), run_time=4
)
self.wait(1)
bei_triangle = Polygon(p2,p4,p5)
bei_triangle.set_fill(YELLOW, opacity=0.5) # set the color and transparency
self.play(Create(bei_triangle))
bez_triangle = Polygon(p2,p4,p6)
bez_triangle.set_fill(YELLOW, opacity=0.5) # set the color and transparency
self.play(Create(bez_triangle))
s1= q2 #point ι
s2= q3 #point k
s3= [8-myShift,6-myShift,0] #point M
s4= [8-myShift,7.63-myShift,0] #point N
bei_transferred_triangle = Polygon(s1,s2,s3)
bez_transferred_triangle = Polygon(s2,s3,s4)
self.play(Transform(bei_triangle, bei_transferred_triangle))
self.play(Transform(bez_triangle, bez_transferred_triangle))
y1_text = Text('y', font_size=36,color=YELLOW).next_to(Line(p2,p5), DOWN)
y2_text = Text('y', font_size=36,color=YELLOW).next_to(Line(p2,p6), RIGHT).shift(2*LEFT)
y3_text = Text('y', font_size=36,color=YELLOW).next_to(Line(s1,s3), DOWN)
shapes = VGroup(y1_text ,Line(p2,p5),y2_text,Line(p2,p6),y3_text,Line(s1,s3))
self.play(ShowIncreasingSubsets(shapes),run_time=1.5)
self.wait(1)
##
chi_triangle = Polygon(p3,p4,p6)
chi_triangle.set_fill(GREEN, opacity=0.5) # set the color and transparency
self.play(Create(chi_triangle))
czi_triangle = Polygon(p3,p7,p4)
czi_triangle.set_fill(GREEN, opacity=0.5) # set the color and transparency
self.play(Create(czi_triangle))
t1= s3 #point M
t2= s4 #point N
t3= [9.62-myShift,6-myShift,0] #point ksi
t4= [9.62-myShift,7.63-myShift,0] #point o
chi_transferred_triangle = Polygon(t1,t2,t3)
czi_transferred_triangle = Polygon(t3,t2,t4)
self.play(Transform(chi_triangle, chi_transferred_triangle))
self.play(Transform(czi_triangle, czi_transferred_triangle))
z1_text = Text('z', font_size=36,color=GREEN).next_to(Line(p3,p6), RIGHT).shift(0.5*LEFT)
z2_text = Text('z', font_size=36,color=GREEN).next_to(Line(p3,p7), LEFT).shift(.5*RIGHT)
z3_text = Text('z', font_size=36,color=GREEN).next_to(Line(t1,t3), DOWN)
shapes = VGroup(z2_text ,z1_text,z3_text)
self.play(ShowIncreasingSubsets(shapes),run_time=1.5)
self.wait(1)
rr2_text = Text('r', font_size=36,color=RED).next_to(Line(q1,q4), LEFT)
shapes = VGroup(rr2_text ,Line(p4,p5),Line(q1,q4),r_text)
self.play(ShowIncreasingSubsets(shapes),run_time=1.5)
self.wait(1)
blue_rectangle = Polygon(q1,q4,t4,t3).set_fill(BLUE, opacity=0.5) # set the color and transparency
self.play(Create(blue_rectangle))
final_tex0 = MathTex(r"(BlueRectangle)=r\cdot(x+y+z)", color=GOLD, font_size=36).to_corner(RIGHT).shift(UP)
self.add(final_tex0)
self.wait(1.5)
self.play(Uncreate(blue_rectangle))
final_tex0_5= MathTex(r"(BlueRectangle)=(ABC)", color=GOLD, font_size=36).to_corner(RIGHT).shift(0.5*UP)
self.add(final_tex0_5)
self.wait(1)
self.play(Create(trigono.set_fill(BLUE, opacity=0.5)))
final_tex1 = MathTex(r"(ABC)=r \cdot (x+y+z)", color=GOLD, font_size=36).to_corner(RIGHT).shift(0.5*UP)
self.play(TransformMatchingTex(final_tex0_5, final_tex1))
self.wait(1.5)
self.play(Uncreate(trigono))
perimeter1 = MathTex("perimeter=","AB","+","BC","+","CA",color=GOLD, font_size=36).to_corner(LEFT).shift(UP+0.4*LEFT)
perimeter2 = MathTex("perimeter=","x+y","+","y+z","+","z+x",color=GOLD, font_size=36).to_corner(LEFT).shift(UP+0.4*LEFT)
perimeter3 = MathTex("perimeter=","2","*","(x+y+z)",color=GOLD, font_size=36).to_corner(LEFT).shift(UP+0.4*LEFT)
perimeter4 = MathTex("2s=","2","*","(x+y+z)",color=GOLD, font_size=36).to_corner(LEFT).shift(UP+0.4*LEFT)
perimeter5 = MathTex("s=","x+y+z",color=GOLD, font_size=36).to_corner(LEFT).shift(UP+0.4*LEFT)
self.add(perimeter1)
self.wait(1.5)
self.play(TransformMatchingTex(perimeter1, perimeter2))
self.wait(1.5)
self.play(TransformMatchingTex(perimeter2, perimeter3))
self.wait(1)
self.play(TransformMatchingTex(perimeter3, perimeter4))
self.wait(0.5)
self.play(TransformMatchingTex(perimeter4, perimeter5))
self.wait(0.5)
final_tex2 = MathTex(r"(ABC)=r \cdot s", color=GOLD, font_size=36).to_corner(RIGHT).shift(0.5*UP)
self.play(TransformMatchingTex(final_tex1, final_tex2))
self.wait(1.5)
framebox1 = SurroundingRectangle(final_tex2, buff = .1)
self.play(Create(framebox1),)
self.wait()
final_tex3 = Text("The Area of a triangle \nis equal to the product\nof its inradius (r) \nand semiperimeter (s)", color=GOLD, font_size=24).next_to((final_tex2),DOWN).shift(0.5*LEFT)
self.play(FadeIn(final_tex3))
self.wait(1)
framebox2 = SurroundingRectangle(final_tex3, buff = .1)
self.play(ReplacementTransform(framebox1,framebox2),)
self.wait(1)
def my_draw_line(self,r):
self.add(r)
self.play(Create(r))
self.wait(1)
def my_draw_halfAngles(self,ai, aSide,opposite_cSide,angle_text):
a_1 = Angle(aSide, ai, radius=0.5, other_angle=False)
tex1 = MathTex(angle_text).move_to(
Angle(
aSide, ai, radius=0.5 + 3 * SMALL_BUFF, other_angle=False
).point_from_proportion(0.5)
)
a_2 = Angle(ai, opposite_cSide, radius=0.5, other_angle=False)
tex2 = MathTex(angle_text).move_to(
Angle(
ai, opposite_cSide, radius=0.5 + 3 * SMALL_BUFF, other_angle=False
).point_from_proportion(0.5)
)
## self.add(a_1, tex1, a_2, tex2)
self.play(FadeIn(a_1))
self.play(FadeIn(tex1))
self.play(FadeIn(a_2))
self.play(FadeIn(tex2))
self.wait()
Αφήστε μια απάντηση
Για να σχολιάσετε πρέπει να συνδεθείτε.