Menu

question about scaling

General
2009-05-07
2013-04-22
  • Peter Torrione

    Peter Torrione - 2009-05-07

    Hello,

    I'm very happy to hear you are picking up qwtPlot3D.

    Overall I am very impressed with the quality of the package - well done!

    I'm relatively new to C++ programming, but would like to help, or at least get some help from you :)

    I have one question that I am having trouble figuring out -  I have data with widely differing dimension values - i.e. x \in {0,1000}, y \in {0,1} and z \in {0,.1}.  When I use plot3D tools to create these graphical objects, the relative ratios of the resulting graphical objects are 1000:1:.1, which makes the plot look like a long, skinny brick.  I've tried playing with setScale to get everything on the same scale (something like setScale(1/1000,1/10,1), but this shrinks the entire image to be very small.  Alternatively, using setScale(1,100,1000) makes things look better, but the z-tick marks become enormous.

    I feel I am missing something straightforward here, but I am not sure what...

    thanks for any info. 

    -pete

     
    • Michael Bieber

      Michael Bieber - 2009-05-07

      The coordinate system has an automatism, calculating the tic length from his box diagonal in world coordinates:

      // From CoordinateSystem::init
          Triple dv = second - first;
          double majl =  dv.length() / 100; // 1 %
          setTicLength(majl, 0.6 * majl);

      For extreme cases you have to adjust this by using the same setTicLength member
      myplot->coordinates( )->setTicLength(new_major_tic_len, new_minor_tic_len)

      You can fine-tune this for every single axis - they have the same member (actually, the coordinate system variant is calling all the 12 of them at once)    

      Take care, if calling CoordinateSystem::createCoordinateSystem (most of the time from the various
      appendDataSet variants). This will restore standard behavior.

      Micha

       
    • Michael Bieber

      Michael Bieber - 2009-05-07

      appendDataSet: This is new development, sorry.
      But the loadFromData functions should behave the same way.

       
    • Peter Torrione

      Peter Torrione - 2009-05-09

      Great, thanks!

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.