octave:2> a9=[1.366 1.366];a11=[1 .574];a15=[1.599 .75];a29x=[1.331 .75];a29y=[1.867 .75]; octave:3> a29y-a15 ans = 0.26800 0.00000 octave:4> a15-a29x ans = 0.26800 0.00000 octave:5> AC=.268; % crank arm length; octave:6> A=a15 % crank axle position A = 1.59900 0.75000 octave:7> B=a11 % lower pivot axle B = 1.00000 0.57400 octave:8> a27x=[.741 .75];a27y=[1.277 .75];a80p=[1.022 .894] a80p = 1.02200 0.89400 octave:9> norm(a27x-B) ans = 0.31314 octave:10> norm(a27y-B) ans = 0.32818 octave:11> a11=[1.009 .574];B=a11 B = 1.00900 0.57400 octave:12> norm(a27x-B) ans = 0.32062 octave:13> norm(a27y-B) ans = 0.32062 octave:14> norm(a80p-B) ans = 0.32026 octave:15> BH=.32026; % lower pivot linkage length octave:16> a33x=[0 0];a33y=[1 0];a35x=[.232 .866];a35y=[.768 .866]; octave:17> norm(a35x-a33x) ans = 0.89654 octave:18> norm(a35y-a33y) ans = 0.89654 octave:19> FG=.89654 % lower leg segment length FG = 0.89654 octave:20> D=a9 % upper fixed point D = 1.3660 1.3660 octave:21> a37x=[.866 1.5];a37y=[1 1.732]; octave:22> norm(a37x-a9) ans = 0.51764 octave:23> norm(a377-a9) error: `a377' undefined near line 23 column 6 error: evaluating argument list element number 1 error: evaluating argument list element number 1 octave:23> norm(a37y-a9) ans = 0.51760 octave:24> DE=.5176 % upper pivot link kength DE = 0.51760 octave:25> norm(a37x-a33x) ans = 1.7320 octave:26> norm(a37y-a33y) ans = 1.7320 octave:27> EG = 1.732 % length from foot to leg tip (virtual) EG = 1.7320 octave:28> octave:28> norm(a35x-a27x) ans = 0.52205 octave:29> norm(a35y-a27y) ans = 0.52205 octave:30> FH=.52205 % left crank arm length FH = 0.52205 octave:31> norm(a29y-a27y) ans = 0.59000 octave:32> norm(a29x-a27x) ans = 0.59000 octave:33> CH = .59 % right rocker arm length CH = 0.59000 octave:34> FH=.52205 % left rocker arm length FH = 0.52205 octave:35> norm(a35y-a29y) ans = 1.1051 octave:36> norm(a35x-a29x) ans = 1.1051 octave:37> CF=1.1051 % dist bet. rocker arm endpoints (virtual) CF = 1.1051 octave:38> xGFhat = a35x-a33x; xGFhat=xGFhat/norm(xGFhat) xGFhat = 0.25877 0.96594 octave:39> xGEhat=a37x-a33x; norm(xGEhat) ans = 1.7320 octave:40> xGEhat = xGEhat/norm(xGEhat) xGEhat = 0.49999 0.86603 octave:41> acosd(dot(xGEhat,xGFhat)) ans = 15.002 octave:42> xGFhat = a35y-a33y; norm(yGFhat) error: `yGFhat' undefined near line 42 column 26 error: evaluating argument list element number 1 error: evaluating argument list element number 1 octave:42> xGFhat = a35y-a33y; octave:43> xGFhat = a35x-a33x; xGFhat=xGFhat/norm(xGFhat) xGFhat = 0.25877 0.96594 octave:44> yGFhat = a35y-a33y; norm(yGFhat) ans = 0.89654 octave:45> yGFhat=yGFhat/norm(yGFhat) yGFhat = -0.25877 0.96594 octave:46> yGEhat=a37y-a33y; norm(yGEhat) ans = 1.7320 octave:47> yGEhat = yGEhat/norm(yGEhat) yGEhat = 0 1 octave:48> acosd(dot(yGEhat,yGFhat)) ans = 14.997 octave:49> angleFGE=15 % use this angle to construct leg. angleFGE = 15 octave:50> EGperp = FG*sind(angleFGE) EGperp = 0.23204 octave:51> GEleft = FG*cosd(angleFGE) GEleft = 0.86599 octave:52> GEright=EG-GEleft GEright = 0.86601 octave:53> ff=[GEleft,EGperp]; octave:54> EF=norm([EG,0]-[GEleft,EGperp]) EF = 0.89656 octave:55> exit