![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 требуется нарисовать две прямых пересекающихся под прямым углом. как это лучше сделать, чтобы не на глаз. в дальнейшем ожидается что они будут двигаться по окружности. во вложении изображено как это должно приблизительно выглядеть 
		
	
		
		
			 | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Открываем учебник школьной геометрии, видим там формулу тангенса угла между прямыми в зависимости от коэффициентов tgA = (k2-k1)/(1+k1/k2), вспоминаем, чему равен тангенс прямого угла, понимаем, что для этого надо в знаменателе заиметь 0, решаем уравнение k1=-1/k2, радуемся результату. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 пробовал. вот только она у меня от вертикальной оси строить пытается. и математика это одно. а как это програмно описать  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Значит некорректный алгоритм построения. k есть тангенс угла от горизонтальной оси. 
		
	
		
		
		
		
			
		
		
		
		
		
			А вообще алгоритм элементарен: Код: 
	y1 := k*x1+b; y2 := k*x2+b; Canvas.MoveTo(x1,y1); Canvas.LineTo(x2,y2); Код: 
	k2 := -1/k1; ![]() И строим как выше. З.Ы. Прибавка, на всякий случай. На форме ось Y направлена вниз. Последний раз редактировалось Bargest, 12.12.2011 в 21:33.  | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Если ты уж можешь первую линию поворачивать, то что мешает также после поворота первой поворачивать вторую вокруг новой точки (угол первой-90 градусов), по умолчанию ставив вторую линию сначала на 0 градуссов? 
		
	
		
		
		
		
		
	
		
		
	
	
	 |