From: Josh Vermaas (vermaas2_at_illinois.edu)
Date: Tue Jun 23 2015 - 12:34:31 CDT

Hi Bharat,

If I understand you correctly, you want to make the whole arrow longer,
right? Just manipulate the variable end within the procedure using a
combination of vector operations, which are described in the user guide:
http://www.ks.uiuc.edu/Research/vmd/current/ug/node193.html. Something
like "set end [vecadd $start [vecscale 2.0 [vecsub $end $start]]]" will
make the arrow longer. However I may be misinterpreting what you want to do.

-Josh Vermaas

On 6/23/15 11:45 AM, Bharat Sharma wrote:
> Hello Experts,
>
> I would like to draw the arrow lines on VMD display connecting two
> atoms. I follow the following.
>
> proc vmd_draw_arrow {mol start end} {
> # an arrow is made of a cylinder and a cone
> set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]]
> graphics $mol cylinder $start $middle radius 0.15
> graphics $mol cone $middle $end radius 0.25
> }
> vmd_draw_arrow 0 $pos1 $pos2
>
> I need to extend the line to show the angle between two vectors. How
> do I do that? One way to do this is finding the coordinate of end
> point, but how can I find it?
>
> Any suggestions are appreciated.
>
> Best regards,
> Bharat Sharma