|
|
|
Рисование стрелок
|
|||
|---|---|---|---|
|
#18+
Народ, конечно понимаю, что возможно это тривиальная задача, но я вот с ней столкнулся и ни как не могу её решить. Как же всё таки нарисовать эту стрелку. Предположим есть приложение (SDI), я два раза кликаю мышкой в разных местах (т.е указываю точки) и между этими точками должна нарисоваться линия со стрелкой (---->). Т.е у меня имеются только координаты этих двух точек, ну и там размеры клиентской области. А как вот высчитывать там всякие углы и тому подобное, не знаю. Может кто нибудь подкинет идею, исходничёк (Visual C++) или ссылку. Может имеются хоть какие-нибудь мысли по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2006, 15:21 |
|
||
|
Рисование стрелок
|
|||
|---|---|---|---|
|
#18+
Если 1-я точка начало стрелки. Угол относительно оси х (вверх тармашкими) будет alpha=atan2(y2-y1,x2-x1). Соответственно 2 угла для стрелки, например, будут alphar=alpha+pi/6 и alphal=aplha-pi/6. Вычисляешь координаты углов наконечника (x1+r*cos(alpha1), y1+r*sin(alpha1)) и соответственно другой. Вроде так. А дальше, хочешь треуголник рисуй, или просто линии, а можно наконечник сделать треугольником с вдавлением в середине основания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2006, 15:36 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33833192&tid=2030900]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
136ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 444ms |

| 0 / 0 |
