Jump to content

1 Screenshot

About This File

Apollonius problem : (PPP, LPP, LLP, LLL, CPP, CLP, CLL, CCP, CCL, CCC)

P - point

L - line

C - circle

 

Routine finds all CIRCLES that touches or passes (point) as tangent curves to combination of (C - circle; L - line; P - point)

 

Relevant page on Wikipedia :
https://en.wikipedia.org/wiki/Problem_of_Apollonius

And my video demonstrating my routine :
https://youtu.be/cuo4M9UGZmA

Number of circles demonstrated in video corresponds to Wikipedia table at the end of page...

Regards, Marko Ribar, d.i.a. (architect)

  • Like 3

User Feedback

Recommended Comments

Jonathan Handojo

Posted

Wow... what a complex code, I can't even begin to analyse. It really works on most cases... might need to include some error-handling functions for some problems that can't be solved. For example, if it's CCL and the geometry looks like a "%", there's technically (at least on my eyes) no possible way to draw a circle tangent to the two circles without crossing the line or tangent to the line.

 

Nonetheless, congrats on this fantastic piece of code. I wouldn't be able to solve one of these unless I pulled many of my hair out XD

dexus

Posted

That is alot of work you posted there Marko, thanks!

 

I was researching this problem and found code for the algebraic solution for CCC here: https://rosettacode.org/wiki/Problem_of_Apollonius

Implemented it in autolisp and then found your solution to all of the versions.

The algebraic solution seems less complicated or at least shorter, so I managed to get rid of quite a few lines of code.

The modified version is attached to this post. Hope you like it.

 

 

 

 

Apollonius.lsp

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...