• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Nearest Neighbor Problem

Stats

  • Replies 9
  • Subscribers 162
  • Views 15234
  • Members are here 0
More Content

Nearest Neighbor Problem

vramananx
vramananx over 13 years ago

Hi

I am trying to implement the nearest neighbor problem in skill, can anyone help me with some examples and tutorials?

basically i am tryint to get the closest point in a list of points for a given x,y

I am using sortcar to do this but it is very slow since there is a huge amount of calculation goes on

So I would like to use any NNP algorithm and would like some pointers,

 regards

Venkata

  • Sign in to reply
  • Cancel
Parents
  • eDave
    eDave over 13 years ago

    Ok, I have no experience with the KD-tree method so would be interested to know how you get on. Your method of solving this problem will depend on your requirement. The time to sort all the points may not be that important if you only need to do it once but, if you have to do it often you're probably on th eright track.

     

    Have you tried this for speed:

    nearestObj = cadar(sortcar(mapcar(lambda((objId) list(axlDistance(pt1, objId ->xy), objId)), objs), 'lessp))

    Where objs is the list of objects you are measuring to and pt1 is the point. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • eDave
    eDave over 13 years ago

    Ok, I have no experience with the KD-tree method so would be interested to know how you get on. Your method of solving this problem will depend on your requirement. The time to sort all the points may not be that important if you only need to do it once but, if you have to do it often you're probably on th eright track.

     

    Have you tried this for speed:

    nearestObj = cadar(sortcar(mapcar(lambda((objId) list(axlDistance(pt1, objId ->xy), objId)), objs), 'lessp))

    Where objs is the list of objects you are measuring to and pt1 is the point. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information