Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Стрелочка Добавлено: 18.01.11 18:55  

Автор вопроса:  Nezhniy | Web-сайт: www.helpim.ru | ICQ: 419841508 
У меня есть картинка от exel графика в pictureboxе помещенная в панель с размерами этого же pictureboxа, прямо на ней сверху рисуется отдельно вектор (линия) изменяются лишь x и y 2й точки от линии , то есть 2мя скроллабарами я кручу х и у второй точки этого вектора, скажите как сделать неподвижную стрелку на конце этого вектора(2мя другими линиями только возможно я думаю) , то есть надо как то задать постоянный угол между стрелкой и вектором, я долго пытался , не получилось , у кого хорошо с геометрией и логикой напишите формулу пожалуйста. (линия в программировании если кто то вдруг не знает строится по 2м точкам каждая из которых имеет координаты x и y.)

Ответить

  Ответы Всего ответов: 25  

Номер ответа: 1
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #1
Добавлено: 18.01.11 21:46
как крутишь, на чем пишешь... vb6 или .net. Код того, как ты вертишь линию покажи.

Ответить

Номер ответа: 2
Автор ответа:
 Nezhniy



ICQ: 419841508 

Вопросов: 9
Ответов: 100
 Web-сайт: www.helpim.ru
 Профиль | | #2
Добавлено: 18.01.11 22:31
  1. Public Class glavnaya
  2.     Dim liniya1 As New Pen(Color.ForestGreen, 3)'вектор (линия)
  3.     Dim strelka1 As New Pen(Color.ForestGreen, 2)'карандаш будущей левой части стрелки
  4.     Dim strelka2 As New Pen(Color.ForestGreen, 2)'карандаш будущей правой части стрелки
  5.  
  6.  
  7.     Dim x1_1 As Integer = 118
  8.     Dim y1_1 As Integer = 108
  9.     Dim x2_1 As Integer = 118
  10.     Dim y2_1 As Integer = 8
  11.   
  12. Private Sub HScrollBar1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles vektor_x.ValueChanged
  13.         x2_1 = HScrollBar1.Value
  14. panel1.refresh()
  15. End sub
  16.  
  17.  Private Sub VScrollBar1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles vektor1_y.ValueChanged
  18.  
  19.         y2_1 = VScrollBar1.Value
  20. panel1.refresh()
  21. End sub
  22.  
  23.  
  24. Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles vektor1_pole.Paint
  25.        
  26. e.Graphics.DrawLine(liniya1, x1_1, y1_1, x2_1, y2_1)      
  27.  
  28.     End Sub
  29. End class


Написана на vb.net , но неважно какой язык , тут больше математика, кто может помочь , пишите на любом языке , математические операции везде одинаковые .

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 18.01.11 23:34
Math.Cos ( угол в радианах ) * длина вектора = Х координата [ + смещение ]
Math.Sin ( угол в радианах ) * длина вектора = Y координата [ + смещение ]

Ответить

Номер ответа: 4
Автор ответа:
 Nezhniy



ICQ: 419841508 

Вопросов: 9
Ответов: 100
 Web-сайт: www.helpim.ru
 Профиль | | #4
Добавлено: 19.01.11 00:55
эмм, а а угол это константа? или он меняется? я че т туплю , если не сложно, можешь код написать , подставь рандомные, примерные значения если они постоянны , просто я пример кода увидеть хочу на основе моего кода, в длину вектора
  1. Sqrt((x2_1 - x1_1) ^ 2 + (y2_1 - y1_1) ^ 2)
я подставляю.

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 19.01.11 09:18
угол это угол. хоечшь меняй - хочешь нет
а мои формулки - это как раз чтобы вычислять x2_1 и y2_1

Ответить

Номер ответа: 6
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #6 Добавлено: 19.01.11 09:36
в инете стопиццот примеров аналоговых часов с исходниками на всех известных языках.. так вот там эти стрелочку крутятся как угодно

Ответить

Номер ответа: 7
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #7 Добавлено: 19.01.11 12:29
круто было б сделать оригинальные часы, без стрелочек но шоб время казали

Ответить

Номер ответа: 8
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #8 Добавлено: 19.01.11 12:30
типа светящихся кружочков, как я где то видел

Ответить

Номер ответа: 9
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #9
Добавлено: 19.01.11 20:49
я часы такие делал, но кода непомню. но оно на 6 было.

Ответить

Номер ответа: 10
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #10
Добавлено: 19.01.11 20:51
чёт на митуе какаюто ошибка пошла - ~/Interpub/Mailroot/4xxxxxxxxxxx AccessDenied

Ответить

Номер ответа: 11
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #11
Добавлено: 19.01.11 20:52
VbStarter пишет:
я часы такие делал, но кода непомню. но оно на 6 было.

и со стрелочками на 5 делал из учебника :)

Ответить

Номер ответа: 12
Автор ответа:
 Nezhniy



ICQ: 419841508 

Вопросов: 9
Ответов: 100
 Web-сайт: www.helpim.ru
 Профиль | | #12
Добавлено: 19.01.11 22:17
  1. y2_1 = VScrollBar1.Value
  2. x2_1 = HScrollBar1.Value

 AgentFire, мне не надо это вычислять x2_1 и y2_1 у меня по ползункам значения конца вектора присваиваются.

насчет часов , я погуглил , нифига не нашел , есть много аналоговых часов , но там 2 стрелки минутная и часовая , а на конце этих стрелок нет стрелочек. Просто линии крутятся.

кто не понял о чем я http://www.unfire01.ru/uploads/tx_labshop/%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0.jpg вот такое мне надо сделать. Просто в с точки зрения физики в моей программе ошибка , так как векторы без направления, то есть без стрелочек : (

Ответить

Номер ответа: 13
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #13 Добавлено: 20.01.11 18:09
ну тут помоему вообще стандартными стредствами можно управиться. и не рисовать самому эту стрелку

Ответить

Номер ответа: 14
Автор ответа:
 Nezhniy



ICQ: 419841508 

Вопросов: 9
Ответов: 100
 Web-сайт: www.helpim.ru
 Профиль | | #14
Добавлено: 20.01.11 22:26
например?

Ответить

Номер ответа: 15
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #15 Добавлено: 20.01.11 22:38
например, graphics.drawline, brushes

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам