示例#1
0
文件: Lente01.cs 项目: Fred68/Lente01
		private void calcolaRaggiToolStripMenuItem_Click(object sender, EventArgs e)
			{
			double xraggio, yraggio, alfraggio;

			FormTrasfo ft = new FormTrasfo();
			ft.Text = "Inserimento del raggio, angolo in gradi";
			ft.ShowDialog();

			xraggio = ft.x;
			yraggio = ft.y;
			alfraggio = ft.r;			

			Line2D lr;
			lr = new Line2D(new Point2D(xraggio,yraggio),new Point2D(10.0,alfraggio,true),true);
			Raggio r = new Raggio(lr,Ottica.LunghezzaOnda.linea_C);
			r.CorpoAttuale = completo.Matrice;

			List<Raggio> raggi;

			raggi = completo.CalcolaRaggio(r);
			MessageBox.Show(raggi.Count.ToString());
			foreach(Raggio rr in raggi)
				rr.Display(displayList,1);

			Invalidate();
			}
示例#2
0
文件: Lente01.cs 项目: Fred68/Lente01
		private void aggiungiSorgenteToolStripMenuItem_Click(object sender, EventArgs e)
			{
			displayList.Clear();
			FormTrasfo ft = new FormTrasfo();
			ft.ShowDialog();
			SorgenteOttica corposorgente = new SorgenteOttica(	sorgente.Nome,
																new Point2D(ft.x,ft.y),
																ft.r + sorgente.Direzione.Alfa(),
																true,
																sorgente.Diametro,
																sorgente.Divergenza,
																sorgente.Lambda,
																sorgente.nRaggi
																);
			corposorgente.Validate();
			completo.Add(corposorgente);
			completo.Display(displayList,0);
			Invalidate();
			}
示例#3
0
文件: Lente01.cs 项目: Fred68/Lente01
		private void aggiungiToolStripMenuItem_Click(object sender, EventArgs e)
			{
			displayList.Clear();

			Point2D ax1, ax2, ax3;										// Punti assi
			ax1 = new Point2D(0,0);
			ax2 = new Point2D(finestra.P2.x,0);
			ax3 = new Point2D(0,finestra.P2.y);


			(new Line2D(ax1,ax2)).Display(displayList,3);				// Assi
			(new Line2D(ax1,ax3)).Display(displayList,3);

			this.gradiprimi.Visible=true;
			this.percdiam.Visible=true;

			FormTrasfo ft = new FormTrasfo();
			ft.ShowDialog();
			
			Transform2D tr = Transform2D.Rotazione(ft.r) + Transform2D.Traslazione(ft.x,ft.y);
			//Transform2D tr = Transform2D.Traslazione(Math.Max(lente.ET,lente.CT),0.0);

			CorpoOttico corpolente = lente.CreaCorpoOttico(tr);
			MaterialeOttico ambiente = new MaterialeOttico("vuoto", 1.0);
			completo.Add(corpolente.Materiale);
			completo.Add(ambiente);
			completo.Add(corpolente);
			
			//((CorpoOttico)amb.GetOggetto("lente")).Display(displayList,0);	//lenteIn.Display(displayList,0);
			completo.Display(displayList,0);
		
			//corpolente.Display(displayList,0);

			

			Invalidate();

			}