# Tangents in Luxor.jl

**URL:** <https://discourse.julialang.org/t/tangents-in-luxor-jl/42170>\
**Category:** Visualization\
**Created:** [June 27, 2020, 9:10pm UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170 "2020-06-27T21:10:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [June 27, 2020, 9:10pm UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/1 "2020-06-27T21:10:33Z")

</div>

I am still learning Luxor.  
I find two in-built tangent functions:  
`circletangent2circles()` makes circles of a particular radius tangential to two circles  
`circlepointtangent()` makes circles of a particular radius passing through a point and tangential to another circle

But I do not find in-built functions for other more common tangents,  
like a tangent from a point to a circle, or a common tangent of two circles.  
Is there any plan to add these functions?

---

<div class="post-metadata">

**Author:** ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)\
**Post date:** [June 27, 2020, 9:56pm UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/2 "2020-06-27T21:56:05Z")

</div>

No… 😂

But you could raise issues like this over at the github repository, where open issues provide a visible reminder of features that could be added should anyone have the skills and inclination to do so.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [June 27, 2020, 10:08pm UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/3 "2020-06-27T22:08:35Z")

</div>

Good to know that I did not miss anything.  
I leave it to your consideration whether this functionality is important.

---

<div class="post-metadata">

**Author:** ![StevenSiew](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevensiew/32/218393_2.png) [@StevenSiew](https://discourse.julialang.org/u/StevenSiew)\
**Post date:** [June 27, 2020, 11:02pm UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/4 "2020-06-27T23:02:39Z")

</div>

> [@turtle](#):
>
> I am still learning Luxor.  
> I find two in-built tangent functions:  
> `circletangent2circles()` makes circles of a particular radius tangential to two circles  
> `circlepointtangent()` makes circles of a particular radius passing through a point and tangential to another circle
> 
> But I do not find in-built functions for other more common tangents,  
> like a tangent from a point to a circle, or a common tangent of two circles.  
> Is there any plan to add these functions?

This sounds like fun. So why don’t you

1. Put out a challenge for Julia newbies to come up with mathematical function to solve it

2. Convert the mathematical function to a Luxor function

3. Perform (or ask someone else to peerform) a Pull Request to include it into Luxor

Also I noticed that there are two things currently missing from Luxor:

1. Find out the coordinate for current position/location
2. Find out the current coordinate system (ie. either absolute or origin/center based)

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [June 28, 2020, 5:48am UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/5 "2020-06-28T05:48:07Z")

</div>

I did both of those once in Layered.jl, someone motivated enough could just copy and modify them into a PR for Luxor [https://github.com/jkrumbiegel/Layered.jl/blob/master/src/circle.jl](https://github.com/jkrumbiegel/Layered.jl/blob/master/src/circle.jl)

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [June 28, 2020, 7:52am UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/6 "2020-06-28T07:52:58Z")

</div>

Yes, these two functions are also good candidates to be built-ins.  
So the wishlist now contains four such items.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [June 28, 2020, 7:55am UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/7 "2020-06-28T07:55:21Z")

</div>

Thank you very much for sharing your code.  
I did not know about `Layered.jl`, so this is also a useful pointer.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [June 28, 2020, 7:56am UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/8 "2020-06-28T07:56:30Z")

</div>

Layered had a quite specific purpose for me but I never really pushed it to become more widely useable.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [July 7, 2020, 12:59am UTC](https://discourse.julialang.org/t/tangents-in-luxor-jl/42170/9 "2020-07-07T00:59:51Z")

</div>

I see that you have silently implemented the missing tangent functions (and more).  
Thank you so much!
