From: Axel Kohlmeyer (
Date: Tue Jun 23 2015 - 13:51:34 CDT

On Tue, Jun 23, 2015 at 2:41 PM, Bharat Sharma
<> wrote:
> 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 (O1---O2--->)
> And how do I control the resolution of the arrow line? (It may be very basic
> stuff, sorry for asking)

this is really a math skills problem and not a topic for VMD-l. i
don't have time to give you a lecture on basic vector algebra. that
can be looked up in text books. i am certain that you had to know how
to do this at some point. time to exercise those brain cells of
yours... ;-)

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

if you have a decent graphics card, you can tun on GLSL rendering and
that should already improve the graphics quality. beyond that, you can
use the built in raytracer. see the VMD user's guide and the posted
tutorials on the subject for more details.


> Thank you.
> Bharat
> 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

Dr. Axel Kohlmeyer
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.