I try to solve a large class of origami folds using Maple, this is the mw file (at this stage, only one step missing, I'm not very good with trigonometry using Maple).

At this end I only have to express the angle alpha in function if the anlgle theta and the lengths y_a and y_b.

More explainations soon.

Charles

>

>

The first complex origami fold

by charles@lehalle.net

> with(geometry):

>

An Example

> point(A,0,y_a); point(B,0,-y_b);point(C,0,0);

> alpha:=Pi/3; theta:=Pi/6; y_a:=1; y_b:=2;

>

build a line from a point and an angle

> angle_line:=proc(L,X,a) local Y, cX; cX:=coordinates(X); point(Y, cX[1]+sin(a), cX[2]+cos(a)); line(L,[X,Y]); end;

> angle_line( `Delta_A`, A, alpha); angle_line( `Delta_T`, B, theta);

> angle_line( `Delta_C`, C, Pi/2); angle_line( `Delta_B`, B, alpha);

> line(AB,[A,B]);

> intersection( a, Delta_T, Delta_A); intersection( b, Delta_C, Delta_B);

> segment( ab, [a, b]);

> draw([A,B,C, a, b, ab,AB,Delta_A,Delta_B,Delta_C,Delta_T], printtext=true, axes=none, title="alpha and theta have to be chosen so that [AB] and [ab] have the same length");

Maple Plot

> y_a:='y_a'; y_b:='y_b'; alpha:='alpha'; theta:='theta';

> assume(y_a>0, y_b>0, sin(alpha)>0, sin(theta)>0,cos(alpha)>0, cos(theta)>0, -cos(theta)*sin(alpha)+cos(alpha)*sin(theta)>0);

> assume(-cos(theta)*sin(alpha)+cos(alpha)*sin(theta)>0);

> point(A,0,y_a); point(B,0,-y_b);point(C,0,0);

> line(AB,[A,B]);

> angle_line( `Delta_A`, A, alpha); angle_line( `Delta_T`, B, theta);

> angle_line( `Delta_C`, C, Pi/2); angle_line( `Delta_B`, B, alpha);

> intersection( a, Delta_T, Delta_A); intersection( b, Delta_C, Delta_B);

> segment( ab, [a, b]);

> detail(ab);

> dAB:=distance(A,B); dab:=distance(a,b);

> EQ:=dAB^2=dab^2;

> EQh:=subs(y_a=h, y_b=h, EQ);

> solve(EQh, a);

> convert( EQ, tan);

>

This post was generated using the MaplePrimes File Manager
Download the original worksheet | View worksheet on MapleNet


Please Wait...