🔗Asymptote Gallery Tagged by “Triangle” #131
🔗animations-fig004
Show animations/fig0040.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Animation
Tags : #Geometry | #Animation | #Triangle | #Circle | #Locus
import geometry; import animate; animation Anim; size(12cm); circle C=circle(origin, 1); draw(C); point A=point(C, 0), B, M; guide locus; for (real a=0.001; a < 360; a += 5) { save(); B=angpoint(C,a); triangle t=triangle(origin, A, B); draw(t); draw(incircle(t), bp+0.8*blue); triangle intouch=intouch(t); draw(intouch, dot); M=intouch(t.AC); label("$N$", Label("$M$", 0.8*red), "$P$", intouch); dot(M, 0.8*red); locus=locus..M; draw(locus, bp+0.8*red); Anim.add(); restore(); } Anim.movie();
🔗fractales-fig011

Show fractales/fig0110.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Surveys | Fractals
Tags : #Fractals | #Recursion | #Geometry | #Triangle | #Array | #Loop/for/while
import geometry; size(10cm,0); triangle[] dissect(triangle T, int n) { if(n <= 0) return new triangle[]{T}; triangle[] OT; point M=midpoint(T.BC); triangle[] Tp=dissect(triangle(M,T.A,T.B),n-1); for(triangle t : Tp) OT.insert(0,t); triangle[] Tp=dissect(triangle(M,T.C,T.A),n-1); for(triangle t : Tp) OT.insert(0,t); return OT; } triangle T=rotate(45)*triangle((1,1),(0,0),(2,0)); triangle[] DT=dissect(T,9); path g; transform R=reflect(T.BC); for(int i : DT.keys) { draw(DT[i],miterjoin+0.9*red); draw(R*DT[i],miterjoin+0.9*red); g=g--centroid(DT[i]); } draw(scale(sqrt(2))*unitsquare,bp+miterjoin+0.8*blue); draw(g--reverse(R*g)--cycle,bp+miterjoin+yellow); shipout(bbox(sqrt(2)*mm, Fill(black)));
🔗fractales-fig012

Show fractales/fig0120.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Surveys | Fractals
Tags : #Fractals | #Recursion | #Geometry | #Triangle | #Array | #Loop/for/while
size(12cm,0); import geometry; triangle T=triangleAbc(90,Tan(30),1); triangle[] reverse(triangle[] arr) { triangle[] or; int l=arr.length; for(int i=0; i < l; ++i) { or.push(arr[l-i-1]); } return or; } triangle[] dissect(triangle T, int n, bool reverse=false) { if(n <= 0) return new triangle[]{T}; triangle[] OT; point M=curpoint(T.AB,T.b()*Tan(30)); point H=projection(T.BC)*M; triangle[] OT1, OT2, OT3; OT.append(dissect(triangle(H,T.B,M),n-1,!reverse)); OT.append(reverse((dissect(triangle(H,T.C,M),n-1,!reverse)))); OT.append(dissect(triangle(T.A,T.C,M),n-1,!reverse)); return OT; } triangle[] DT=dissect(T,5); point O=centroid(DT[0]); path g; transform Ro=rotate(30,T.B), Re=reflect(T.BC), Roj; for(int i : DT.keys) { O=incenter(DT[i]); g=g--O; } g=reverse(g); path G, g=g--Re*reverse(g) ; for (int j=0; j < 12; j += 2) G=G--Ro^(-j)*g; fill(G--cycle,0.3*blue); for(int i : DT.keys) { for (int j=0; j < 12; j += 2) { Roj=Ro^j; draw(Roj*DT[i],miterjoin+0.8*red); draw(Roj*(Re*DT[i]),miterjoin+0.8*red); } } draw(G--cycle,bp+miterjoin+0.9*yellow); shipout(bbox(2mm, FillDraw(black, 1mm+miterjoin+deepblue)));
🔗geometry-fig108

Show geometry/fig1080.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle
import geometry; size(10cm); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,.75)); // show(currentcoordsys); /*<asyxml><view file="modules/geometry.asy" type="triangle" signature="triangleabc(real,real,real,real,point)"/></asyxml>*/ triangle t=triangleabc(3,4,5); /*<asyxml><view file="modules/geometry.asy" type="void" signature="show(picture,Label,Label,Label,Label,Label,Label,triangle,pen,filltype)"/></asyxml>*/ show(La="3", Lb="4", Lc="5",t);
🔗geometry-fig109

Show geometry/fig1090.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Markers
import geometry; size(10cm); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,.75)); // show(currentcoordsys); /*<asyxml><view file="modules/geometry.asy" type="triangle" signature="triangleAbc(real,real,real,real,point)"/></asyxml>*/ triangle t=triangleAbc(60,3,5,angle=90); show(Lb="3", Lc="5",t); markangle("$60^\circ$",t.B,t.A,t.C);
🔗geometry-fig110

Show geometry/fig1100.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Markers | #Label | #Segment
import geometry; size(10cm,0); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,0.75)); // show(currentcoordsys); triangle t=triangle((-1,0), (2,0), (0,2)); drawline(t, linewidth(bp)); /*<asyxml><view file="modules/geometry.asy" type="void" signature="label(picture,Label,Label,Label,triangle,real,real,pen,filltype)"/></asyxml>*/ label(t, alignFactor=4); /*<asyxml><view file="modules/geometry.asy" type="triangle" signature="anticomplementary(triangle)"/></asyxml>*/ triangle at=anticomplementary(t); draw(at, bp+0.8green); label("$A'$", "$B'$", "$C'$", at, blue); draw(segment(at.AB), bp+0.8green, StickIntervalMarker(2,1)); draw(segment(at.BC), bp+0.8green, StickIntervalMarker(2,2)); draw(segment(at.CA), bp+0.8green, CrossIntervalMarker(2,3));
🔗geometry-fig111

Show geometry/fig1110.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Circle | #Tangent | #Line | #Label | #Point
import geometry; size(10cm,0); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,0.75)); // show(currentcoordsys); triangle t=triangle((-1,0), (2,0), (0,2)); /*<asyxml><view file="modules/geometry.asy" type="void" signature="drawline(picture,triangle,pen)"/></asyxml>*/ drawline(t, linewidth(bp)); /*<asyxml><view file="modules/geometry.asy" type="void" signature="label(picture,Label,Label,Label,triangle,real,real,pen,filltype)"/></asyxml>*/ label(t,alignFactor=4); /*<asyxml><view file="modules/geometry.asy" type="circle" signature="circle(triangle)"/></asyxml>*/ circle cc=circle(t); draw(cc, 0.8blue); dot(cc.C, blue); /*<asyxml><view file="modules/geometry.asy" type="triangle" signature="tangential(triangle)"/></asyxml>*/ triangle tgt=tangential(t); draw(tgt, bp+0.8blue); label("$A_1$", "$B_1$", "$C_1$", tgt, blue); /*<asyxml><view file="modules/geometry.asy" type="circle" signature="incircle(triangle)"/></asyxml>*/ circle ic=incircle(t); draw(ic, 0.8red); dot(ic.C, red); triangle intouch=intouch(t); draw(intouch, bp+0.8red); label("$A_2$", "$B_2$", "$C_2$", intouch, red); /*<asyxml><view file="modules/geometry.asy" type="circle" signature="excircle(side,triangle)"/></asyxml>*/ circle ec=excircle(t.AB); clipdraw(ec, 0.8green); dot(ec.C, green); ec=excircle(t.AC); clipdraw(ec, 0.8green); dot(ec.C, green); ec=excircle(t.BC); clipdraw(ec, 0.8green); dot(ec.C, green); /*<asyxml><view file="modules/geometry.asy" type="triangle" signature="extouch(triangle)"/></asyxml>*/ triangle ext=extouch(t); draw(ext, bp+0.8green); label("$A_3$", "$B_3$", "$C_3$", ext, green); /*<asyxml><view file="modules/geometry.asy" type="point" signature="extouch(side)"/></asyxml>*/ dot(extouch(t.AB), 0.8*green); dot(extouch(t.BC), 0.8*green); dot(extouch(t.CA), 0.8*green); /*<asyxml><view file="modules/geometry.asy" type="point" signature="intouch(side)"/></asyxml>*/ dot(intouch(t.AB), 0.8*red); dot(intouch(t.BC), 0.8*red); dot(intouch(t.CA), 0.8*red); // Enlarge the bounding box of the current picture draw(box((-2.5,-3), (3.5,3.5)), invisible);
🔗geometry-fig112

Show geometry/fig1120.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Line | #Label | #Point | #Markers
import geometry; size(10cm,0); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,0.75)); // show(currentcoordsys); triangle t=triangle((-1,0), (2,0), (0,2)); drawline(t, linewidth(bp)); label(t,alignFactor=2, alignAngle=90); /*<asyxml><view file="modules/geometry.asy" type="triangle" signature="symmedial(triangle)"/></asyxml>*/ triangle st=symmedial(t); draw(st, bp+0.8green); label("$A'$", "$B'$", "$C'$", st, alignAngle=45, 0.8green); /*<asyxml><view file="modules/geometry.asy" type="line" signature="median(vertex)"/></asyxml>*/ line mA=median(t.VA); draw(mA, blue); dot("$M_A$",midpoint(t.BC), 1.5E, blue); draw(segment(t.BC), bp+blue, StickIntervalMarker(2,2,blue)); /*<asyxml><view file="modules/geometry.asy" type="line" signature="bisector(vertex,real)"/></asyxml>*/ line bA=bisector(t.VA); draw(bA, grey); /*<asyxml><view file="modules/geometry.asy" type="point" signature="bisectorpoint(side)"/></asyxml>*/ dot("$B_A$", bisectorpoint(t.BC)); /*<asyxml><view file="modules/geometry.asy" type="line" signature="symmedian(vertex)"/></asyxml>*/ line sA=symmedian(t.VA); draw(sA, 0.8*green); draw(symmedian(t.VB), 0.8*green); draw(symmedian(t.VC), 0.8*green); /*<asyxml><view file="modules/geometry.asy" type="point" signature="symmedian(triangle)"/></asyxml>*/ point sP=symmedian(t); dot(sP); markangle(sA, (line) t.AC, radius=2cm, StickIntervalMarker(1,1)); markangle((line) t.AB, mA, radius=2cm, StickIntervalMarker(1,1)); markangle(mA, sA, radius=10cm, StickIntervalMarker(2,2));
🔗geometry-fig113

Show geometry/fig1130.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Line | #Markers | #Transform/scale/shift/rotate | #Perpendicular
import geometry; size(8cm,0); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,0.75)); // show(currentcoordsys); triangle t=rotate(-20)*triangle((-1,0), (2,0), (0,2)); drawline(t, linewidth(bp)); label(t,alignFactor=4); line bab=bisector(t.AB); draw(bab, blue); perpendicularmark(t.AB,bab,quarter=4); line bac=bisector(t.AC); draw(bac, blue); perpendicularmark(t.AC,bac,quarter=4); line bbc=bisector(t.BC); draw(bbc, blue); perpendicularmark(t.BC,bbc,quarter=4);
🔗geometry-fig114

Show geometry/fig1140.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Line | #Point | #Markers
import geometry; size(8cm,0); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,0.75)); // show(currentcoordsys); triangle t=rotate(-20)*triangle((-1,0), (2,0), (0,2)); drawline(t, linewidth(bp)); label(t, alignAngle=90, alignFactor=2); /*<asyxml><view file="modules/geometry.asy" type="point" signature="incenter(triangle)"/></asyxml>*/ point incenter=incenter(t); line ba=bisector(t.VA); draw(ba, blue); markangle((line) t.AB, (line) t.AC,StickIntervalMarker(i=2,n=1)); line bb=bisector(t.VB); draw(bb, blue); markangle((line) t.BC, (line) t.BA, radius=2cm, StickIntervalMarker(i=2,n=2)); line bc=bisector(t.VC); draw(bc, blue); markangle((line) t.CA, (line) t.CB, radius=1.5cm, StickIntervalMarker(i=2,n=3));
🔗geometry-fig115

Show geometry/fig1150.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Line | #Point | #Intersection
import geometry; size(8cm); // currentcoordsys=cartesiansystem((2,1),i=(1,0.5),j=(-0.25,.75)); // show(currentcoordsys); dotfactor *=1.5; triangle t=triangleabc(3,4,5); drawline(t, linewidth(bp)); label(t, alignFactor=3); line l=line((-1,-2), (1,0.5)); draw(l, 0.8*red); /*<asyxml><view file="modules/geometry.asy" type="point[]" signature="intersectionpoints(triangle,line,bool)"/></asyxml>*/ dot(intersectionpoints(t,l), 0.8*red); circle C=2*circle(t); draw(C, 0.8*blue); /*<asyxml><view file="modules/geometry.asy" type="point[]" signature="intersectionpoints(triangle,conic,bool)"/></asyxml>*/ dot(intersectionpoints(t,C, true), 0.8*blue);
🔗geometry-fig116

Show geometry/fig1160.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Triangle | #Line | #Point/Dot | #Distance | #Shipout | #Bbox
unitsize(1cm); import geometry; point pA = (0,0); point pB = (5,0); point pC = (5,5); dot(pA^^pB^^pC); draw(pA--pB--pC--cycle); distance(Label("$x \; \mathrm{cm}$",align=S),pA,pB,3mm); distance(Label("$y \; \mathrm{cm}$",align=E),pB,pC,3mm); distance(Label("$z \; \mathrm{cm}$",align=I*dir(pA--pC)),pA,pC,-3mm); shipout(bbox(xmargin=1mm,invisible));