وبلاگ تخصصی متلب و نقشه برداری

برنامه زیر را در متلب کپی کنید

clc
clear all
format long g
%barname taghato va tarfi%
%noghat az chap be rast hastand%
q=input('baraye taghato 1 & baraye tarfi 2 =');
w=input('baraye darage 1 & baraye gerad 2 =');
if q==1;
    xa=input('xa=');ya=input('ya=');
    xb=input('xb=');yb=input('yb=');
    al=input('alfa=');be=input('beta=');
    if w==1;
        alfa=al;
        beta=be;
    elseif w==2;
        alfa=(al*180)/200;
        beta=(be*180)/200;
    end;
    omega=180-(alfa+beta);
    dxab=xb-xa;dyab=yb-ya;
    lab=sqrt(dxab^2+dyab^2);vab=atand(abs(dxab/dyab));
    if dxab>=0&dyab>=0;
        gab=vab;
    elseif dxab>=0&dyab<=0;
        gab=180-vab;
    elseif dxab<=0&dyab<=0;
        gab=180+vab;
    elseif dxab<=0^dyab>=0;
        gab=360-vab;
    end;
    gam=gab+alfa;lam=(lab*sind(beta))/sind(omega);
    xm=xa+(lam*sind(gam));
    ym=ya+(lam*cosd(gam));
    m=[xm ym]
elseif q==2;
    xa=input('xa=');ya=input('ya=');
    xb=input('xb=');yb=input('yb=');
    xc=input('xc=');yc=input('yc=');
    al=input('alfa=');be=input('beta=');
    if w==1;
        alfa=al;
        beta=be;
    elseif w==2;
        alfa=(al*180)/200;
        beta=(be*180)/200;
    end;
    xn=(xa*cotd(alfa)+xc*cotd(beta)+(ya-yc))/(cotd(alfa)+cotd(beta));
    yn=(ya*cotd(alfa)+yc*cotd(beta)+(xc-xa))/(cotd(alfa)+cotd(beta));
    dxbn=xn-xb;dybn=yn-yb;
    vbn=atand(abs(dxbn/dybn));
    if dxbn>=0&dybn>=0;
    gbn=vbn;
    elseif dxbn>=0&dybn<=0;
    gbn=180-vbn;
    elseif dxbn<=0&dybn<=0;
    gbn=180+vbn;
    elseif dxbn<=0&dybn>=0;
    gbn=360-vbn;
    end;
    dxab=xb-xa;dyab=yb-ya;
    vab=atand(abs(dxab/dyab));
    if dxab>=0&dyab>=0;
    gab=vab;
    elseif dxab>=0&dyab<=0;
    gab=180-vab;
    elseif dxab<=0&dyab<=0;
    gab=180+vba;
    elseif dxab<=0&dyab>=0;
    gab=360-vab;
    end;
    if
    b1=gba-gbn;a=180-(b1+alfa);
    dxab=xb-xa;dyab=yb-ya;
    lab=sqrt(dxab^2+dyab^2);
    if gba>=180;
    gab=180-(360-gba);
    elseif gba<180;
    gab=360-(180-gba);
    end;
    gam=gab+a;lam=(lab*sind(b1))/sind(alfa);
    xm=xa+(lam*sind(gam));
    ym=ya+(lam*cosd(gam));
    m=[xm ym]
end

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی