From: Bharat Sharma (
Date: Tue Jun 23 2015 - 13:41:25 CDT

Hello Axel and Josh,
Yes, I want to make arrow longer. @Josh, I will try your suggestion. Thank
you. @Axel, For example. I want to make a arrow from O1 to O2, then I give
start position and end position, which gives me the arrow from O1 to O2.
But I want to extend the arrow through O2 which looks like this
And how do I control the resolution of the arrow line? (It may be very
basic stuff, sorry for asking)
Is it possible to save the figure in tif format with high resolution? I
could able to save in bitmap format from render but resolution is not good.

Thank you.


On Tue, Jun 23, 2015 at 1:34 PM, Josh Vermaas <> wrote:

> 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:
> <>.
> 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