[OpenJDK 2D-Dev] ArcIterator#btan(double)

Krishna Addepalli krishna.addepalli at oracle.com
Tue Aug 14 14:38:16 UTC 2018


Sorry, I replied assuming certain things before actually clarifying.
Are you asking about the process for submitting a patch? Could you be a bit more specific so that I can answer better?

-----Original Message-----
From: Krishna Addepalli 
Sent: Tuesday, August 14, 2018 8:04 PM
To: Ralph Hummeling <engineering at hummeling.com>; 2d-dev at openjdk.java.net
Cc: james.graham at oracle.com
Subject: Re: [OpenJDK 2D-Dev] ArcIterator#btan(double)

I guess you would already have the code checked out? It is just a matter of updating the comments explaining how sin(a/2) / (1 + cos(a/2)) is equal to tan(a/4), and then change it in the code.
I think you would need a test along with it.

Thanks,
Krishna

-----Original Message-----
From: Ralph Hummeling <engineering at hummeling.com> 
Sent: Tuesday, August 14, 2018 7:59 PM
To: Krishna Addepalli <krishna.addepalli at oracle.com>; 2d-dev at openjdk.java.net
Cc: james.graham at oracle.com
Subject: Re: [OpenJDK 2D-Dev] ArcIterator#btan(double)

Dear Krishna,

I'd love to. How do I best do that?


Kind regards,

Ralph Hummeling
+316 5758 1679
Hummeling Engineering BV
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.hummeling.com&d=DwICaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=QF7AertWDY_M4hfHg_4S-iyX-aP0wtLYwZFgs0zfX_k&m=iFb2N0ZBD0EAiVLz7h0dhj41Ha2uquc9ZM_GpTwq_w8&s=ypabzzNLUNIyzlXJK9-g27W-gz6a1phXmPa771N3ZGU&e=

On 13/08/18 08:39, Krishna Addepalli wrote:
> Dear Ralph,
> 
> Thanks for pointing this out, could you also come up with a patch for the same?
> 
> Thanks,
> Krishna
> 
> -----Original Message-----
> From: Ralph Hummeling <engineering at hummeling.com>
> Sent: Friday, July 20, 2018 8:25 PM
> To: 2d-dev at openjdk.java.net
> Cc: james.graham at oracle.com
> Subject: [OpenJDK 2D-Dev] ArcIterator#btan(double)
> 
> Dear Java 2D dev team,
> 
> I came across your java.awt.geom.ArcIterator class in which an arc Bezier control point segment length is determined in method btan(double). You arrive at the following equation:
> 4/3*(1 - cos(a/2))/(sin(a/2))
> 
> It is mentioned that this can return NaN for small "a" and so it is written as:
> 4/3*(sin(a/2))/(1 + cos(a/2))
> 
> Please note that this relation can also be written as follows:
> 4/3*tan(a/4)
> 
> A performance increase and no NaN issues ;-)
> 
> 
> Kind regards,
> 
> Ralph Hummeling
> +316 5758 1679
> Hummeling Engineering BV
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.hummeling.com&d=DwICaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=QF7AertWDY_M4hfHg_4S-iyX-aP0wtLYwZFgs0zfX_k&m=iFb2N0ZBD0EAiVLz7h0dhj41Ha2uquc9ZM_GpTwq_w8&s=ypabzzNLUNIyzlXJK9-g27W-gz6a1phXmPa771N3ZGU&e=
> 


More information about the 2d-dev mailing list