1import{r as m,b as j,aP as B,a$ as N,f as $,aG as v,aF as g,aH as h,a_ as x,aJ as e,e as W,aR as z,aS as c,b0 as y,aT as w,aL as P}from"./B7W8xUR6.js";import{_ as L,a as E,b as H}from"./1OP792Q0.js";import{_ as J}from"./Cxl8sAWu.js";import{_ as X}from"./WxZ0BvjA.js";import"./C-v3KzvZ.js";import"./DjHx5i-G.js";import"./B6JOQ7e2.js";import"./DJE04oj8.js";const Y={class:"mb-4 flex justify-center gap-6"},q={class:"flex items-center gap-2"},K={class:"flex items-center gap-2"},O={class:"flex items-center gap-2"},Q={class:"relative"},Z={key:0,class:"mt-6 space-y-4"},tt={class:"flex items-center justify-between gap-4"},et={class:"w-1/6 text-right"},at={class:"flex items-center justify-between gap-4"},lt={class:"w-1/6 text-right"},st={class:"flex items-center justify-between gap-4"},nt={class:"w-1/6 text-right"},vt={__name:"AntennaGroup",setup(ot){const d=m(4),p=m(0),f=m(.5),T=m(null),r=m("product");function G(l){return Math.abs(Math.sin(l))<1e-6?1:Math.abs(Math.cos(Math.PI/2*Math.cos(l))/Math.sin(l))}function k(l){const t=p.value*Math.PI/180,a=2*Math.PI,i=.5*(t-a*f.value*Math.cos(l));return Math.abs(i)<1e-6?d.value:Math.abs(Math.sin(d.value*i)/Math.sin(i))}function I(l){return G(l)*k(l)}function V(){switch(r.value){case"dipole":return G;case"group":return k;case"product":return I;default:return k}}function U(){let l=0;const t=360,a=V();for(let i=0;i<=t;i++){const s=i*2*Math.PI/t,n=a(s);l=Math.max(l,n)}return l}function A(){const l=T.value,t=l.getContext("2d"),a=l.width,i=l.height,s=a/2,n=i/2,o=Math.min(a,i)*.4,M=U(),D=V();t.fillStyle="#fff",t.fillRect(0,0,a,i),t.strokeStyle="#ddd",t.lineWidth=1;for(let u=.2;u<=1;u+=.2)t.beginPath(),t.arc(s,n,o*u,0,2*Math.PI),t.stroke(),t.fillStyle="#666",t.font="10px Arial",t.textAlign="left",t.fillText((u*M).toFixed(1),s+5,n-o*u);t.strokeStyle="#666",t.lineWidth=1,t.beginPath(),t.moveTo(s,n-o),t.lineTo(s,n+o),t.stroke(),t.beginPath(),t.moveTo(s-o,n),t.lineTo(s+o,n),t.stroke(),t.fillStyle="#666",t.font="12px Arial",t.textAlign="center",t.fillText("0°",s+o+15,n),t.fillText("180°",s-o-15,n),t.fillText("90°",s,n+o+15),t.fillText("270°",s,n-o-15),t.strokeStyle="#2563eb",t.lineWidth=2,t.beginPath();const F=360;for(let u=0;u<=F;u++){const _=u*2*Math.PI/F,C=D(_)/M,S=s+o*C*Math.sin(_),R=n-o*C*Math.cos(_);u===0?t.moveTo(S,R):t.lineTo(S,R)}t.stroke(),t.fillStyle="#666",t.font="12px Arial",t.textAlign="left",t.fillText(`Max: ${M.toFixed(2)}`,10,20);let b="";switch(r.value){case"dipole":b="Dipol-Charakteristik F(Ï)";break;case"group":b="Gruppenfaktor G(Ï)";break;case"product":b="Gesamtcharakteristik F(Ï)·G(Ï)";break}t.fillText(b,10,40)}return j([d,p,f,r],()=>{A()}),B(()=>{A()}),(l,t)=>($(),N(h(H),{class:"mx-auto shadow-lg rounded-lg"},{default:v(()=>[g(h(L),null,{default:v(()=>[g(h(E),{class:"text-2xl font-bold"},{default:v(()=>t[6]||(t[6]=[x("Gruppencharakteristik von Antennen")])),_:1}),g(h(X),null,{default:v(()=>t[7]||(t[7]=[x(" Richtcharakteristik: F(Ï) · G(Ï), mit G(Ï) = sin(n·u) / sin(u), 2u = Ï_P - β·d·cos(Ï) ")])),_:1})]),_:1}),g(h(J),null,{default:v(()=>[e("div",Y,[e("label",q,[c(e("input",{type:"radio","onUpdate:modelValue":t[0]||(t[0]=a=>r.value=a),value:"dipole"},null,512),[[y,r.value]]),t[8]||(t[8]=x(" Dipol F(Ï) "))]),e("label",K,[c(e("input",{type:"radio","onUpdate:modelValue":t[1]||(t[1]=a=>r.value=a),value:"group"},null,512),[[y,r.value]]),t[9]||(t[9]=x(" Gruppenfaktor G(Ï) "))]),e("label",O,[c(e("input",{type:"radio","onUpdate:modelValue":t[2]||(t[2]=a=>r.value=a),value:"product"},null,512),[[y,r.value]]),t[10]||(t[10]=x(" Gesamtcharakteristik F·G "))])]),e("div",Q,[e("canvas",{ref_key:"plotRef",ref:T,width:"500",height:"500",class:"w-full rounded-md border border-gray-200"},null,512)]),r.value!=="dipole"?($(),W("div",Z,[e("div",tt,[t[11]||(t[11]=e("label",{class:"w-1/3"},"Anzahl Antennen (n):",-1)),c(e("input",{type:"range","onUpdate:modelValue":t[3]||(t[3]=a=>d.value=a),min:2,max:10,step:"1",class:"w-1/3"},null,512),[[w,d.value,void 0,{number:!0}]]),e("span",et,P(d.value),1)]),e("div",at,[t[12]||(t[12]=e("label",{class:"w-1/3"},"Phasendifferenz Ï_P (°):",-1)),c(e("input",{type:"range","onUpdate:modelValue":t[4]||(t[4]=a=>p.value=a),min:-180,max:180,step:"10",class:"w-1/3"},null,512),[[w,p.value,void 0,{number:!0}]]),e("span",lt,P(p.value)+"°",1)]),e("div",st,[t[13]||(t[13]=e("label",{class:"w-1/3"},"Abstand d (λ):",-1)),c(e("input",{type:"range","onUpdate:modelValue":t[5]||(t[5]=a=>
1f.value=a),min:.1,max:2,step:"0.1",class:"w-1/3"},null,512),[[w,f.value,void 0,{number:!0}]]),e("span",nt,P(f.value)+"λ",1)])])):z("",!0)]),_:1})]),_:1}))}};export{vt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.