Re: [Math] sin(), cos() not working? What special magic must I use to summon their powers?
Re: [Math] sin(), cos() not working? What special magic must I use to summon their powers?
- Subject: Re: [Math] sin(), cos() not working? What special magic must I use to summon their powers?
- From: Michael Robinson <email@hidden>
- Date: Wed, 1 Oct 2008 12:43:12 +1300
On 1/10/2008, at 3:23 AM, Alastair Houghton wrote:
On 30 Sep 2008, at 12:59, Michael Robinson wrote:
Thanks for your incredibly swift replies!
changing "float retVal" to "double retVal", using "return
lround(retVal);" and casting ints as doubles in the formula gave me
some real values, which is wonderful!
I could have saved myself two hours by asking the list when I first
ran into this problem!
I've got it spitting out some (jagged but acceptable) corners now,
which is wonderful.
In case any of you were interested, I'm doing this to create an
HTML "object" that can be placed over any background, be given
rounded corners and have the background show through. It was being
accomplished with Javascript, but I figured it'd be better if this
was done one time, when the HTML is generated, instead of at client
side.
If you're rendering this in advance using Cocoa, why not use the -
appendBezierPathWithArcFromPoint:toPoint:radius: method on
NSBezierPath to construct a rounded path?
The code that outputs the divs is:
int i;
NSMutableString *cornerElements = [NSMutableString new];
for(i = cornerSize; i > 0; i--){
[cornerElements appendString:[NSString stringWithFormat:@"<div style=
\"font-size:0em;margin-left:%ipx;margin-right:%ipx;height:
1px;overflow:hidden;background-color:%@;\"> </div>",[self
getCornerStripWidth:i:[borderDDTL selectedTag]:sizeTL:cornerSize],
[self getCornerStripWidth:i:[borderDDTR
selectedTag]:sizeTR:cornerSize],[self hexColor:[portalBGColour
color]]]];
}
return (NSString*)cornerElements;
With the code that generates the margin for the rounded corners:
case 1:
if(){
retVal = lround(size*(1-cos(asin((double)i/(double)size))));
if(retVal > 0 ) return retVal;
}
return 0;
break;
I had a look at using NSBezierPath, but as I already had code that
"works", I didn't know whether it would be worth changing methods -
what would the advantage of using NSBezierPath be?
Thank you for your help,
Mike
Kind regards,
Alastair.
--
http://alastairs-place.net
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden