CGGeometry

2010. 10. 19
●概要

CGGeometryリファレンスは、幾何学的な原型とその操作を行う構造体を定義します。

CGPointデータ構造体は、二次元座標系の点を表します。

CGRectデータ構造体は、矩形の位置と大きさを表します。

CGSizeデータ構造体は、幅と高さの大きさを表します。

CGRectデータ構造体に格納される高さと幅は、負の値でも格納できます。

例えば、矩形の原点が (0.0 , 0.0) でサイズが (10.0 , 10.0) のものと、矩形の原点が (10.0 , 10.0) でサイズが (-10.0 , -10.0) のものは全く同一になります。

アプリケーションはCGRectStandardize関数を呼び出して、矩形を標準化する(格納している高さと幅を正の値にする)ことができます。

このリファレンスで述べている全ての関数は、CGRectデータ構造体で入力された場合には暗黙的に標準化してから矩形の計算を行います。

その理由は、CGRectデータ構造体に格納されているデータの読み書きを、アプリケーションが直接行うことを避けるためです。

代わりにここでは、矩形の操作とその特質を取得する関数の使い方を表します。



●タスク

●幾何学的な原型からの辞書表現の生成

CGPointCreateDictionaryRepresentation
CGSizeCreateDictionaryRepresentation
CGRectCreateDictionaryRepresentation

●辞書表現からの幾何学的な原型の生成

CGPointMakeWithDictionaryRepresentation
CGSizeMakeWithDictionaryRepresentation
CGRectMakeWithDictionaryRepresentation

●値からの幾何学的な原型の生成

CGPointMake
CGRectMake
CGSizeMake

●矩形の変更

CGRectDivide
CGRectInset
CGRectIntegral
CGRectIntersection
CGRectOffset
CGRectStandardize
CGRectUnion

●値の比較

CGPointEqualToPoint
CGSizeEqualToSize
CGRectEqualToRect
CGRectIntersectsRect

●メンバーシップの確認

CGRectContainsPoint
CGRectContainsRect

●最小、中間、最大値の取得

CGRectGetMinX
CGRectGetMinY
CGRectGetMidX
CGRectGetMidY
CGRectGetMaxX
CGRectGetMaxY

●高さと幅の取得

CGRectGetHeight
CGRectGetWidth

●矩形の特性の確認

CGRectIsEmpty
CGRectIsNull
CGRectIsInfinite



●関数

CGPointMake

CGPoint CGPointMake (
    CGFloat x,
    CGFloat y
);


指定した座標の点を返します。

x:構築する点のx座標を指定します。

y:構築する点のy座標を指定します。


CGRectGetHeight

CGFloat CGRectGetHeight (
    CGRect rect
);

矩形の高さを返します。

CGRectデータ構造体の格納している数値の正負に関わらず、この関数は標準かした矩形の高さを返します。

したがって、結果が負の数になることはありません。

rect:調べる矩形を指定します。


CGRectInset

CGRect CGRectInset (
    CGRect rect,
    CGFloat dx,
    CGFloat dy
);

同じ中心点を持つ、元の矩形より小さいまたは大きい矩形を返します。

戻り値は、原点の値はx軸はdx引数によって指定された距離、y軸はdy引数によって指定された距離がオフセットされ、サイズが(2*dx, 2*dy)に調整された、元の矩形に比例した矩形になります。

dxとdyが正の値の場合は矩形のサイズが縮小します。

dxとdyが負の値の場合は矩形のサイズが拡大します。

矩形は標準化されてから挿入される引数が適用されます。

結果として得られる矩形が、負の高さまたは幅の場合は空の矩形が返されます

rect:元となるCGRect構造体を指定します。

dx:元の矩形の調整に使用するx座標値を指定します。
挿入する矩形を生成するには、正の値を指定します。
大きく囲む矩形を生成するには、負の値を指定します。

dy:元の矩形の調整に使用するy座標値を指定します。
挿入する矩形を生成するには、正の値を指定します。
大きく囲む矩形を生成するには、負の値を指定します。


CGRectMake

CGRect CGRectMake (
    CGFloat x,
    CGFloat y,
    CGFloat width,
    CGFloat height
);

指定した値で矩形の座標とサイズを返します。

x:矩形の原点となるx座標を指定します。

y:矩形の原点となるy座標を指定します。

width:矩形の幅を指定します。

height:矩形の高さを指定します。


CGRectUnion

CGRect CGRectUnion (
    CGRect r1,
    CGRect r2
);

2つの元となる矩形を含む最小の矩形を返します。

両矩形は和集合の計算をするために、事前に標準化してください。

矩形のどちらかがnull矩形の場合、もう一方の矩形のコピーが返されます(両矩形がnullの場合は、結果にnull矩形が入ります)。

それ以外の場合は、完全に元の矩形を含んだ矩形が返されます。

r1:一つ目の元となる矩形を指定します。

r2:二つ目の元となる矩形を指定します。


CGSizeMake

CGSize CGSizeMake (
    CGFloat width,
    CGFloat height
);

指定した大きさの値でサイズを返します。

戻り値は指定した幅と高さのCGSize構造体を返します。

width:幅の値を指定します。

height:高さの値を指定します。



●データ型

CGFloat

typedef float CGFloat;    // 32-bit

typedef double CGFloat;    // 64-bit

全ての浮動小数点値の基本的な型です。


CGPoint

struct CGPoint {
    CGFloat x;
    CGFloat y;
};
typedef struct CGPoint CGPoint;

二次元座標系内の点を含む構造体です。

x:点のx座標を指定します。

y:点のy座標を指定します。


CGRect

struct CGRect {
    CGPoint origin;
    CGSize size;
};
typedef struct CGRect CGRect;

矩形の位置と座標を含む構造体です。

デフォルトのQuartzの座標空間は、原点は矩形の左下角になり、通常右上に向かって拡張されます。

iOSでは多くの場合、座標空間が反転している状況があり、原点が矩形の左上角になり、右下に向かって拡張されます。

origin:矩形の原点となる座標点を指定します。

size:矩形の高さと幅となるサイズを指定します。


CGSize

幅と高さの値を含む構造体です。

struct CGSize {
    CGFloat width;
    CGFloat height;
};
typedef struct CGSize CGSize;

width:幅の値

height:高さの値



●定数

Geometric Zeros

ゼロの点、矩形、サイズです。

const CGPoint CGPointZero;
const CGRect CGRectZero;
const CGSize CGSizeZero;

CGPointZero
位置が(0,0)の定数の点です。
ゼロ点はCGPointMake(0,0)と同じです。

CGRectZero
位置が(0,0)で幅と高さが0である定数の矩形です。
ゼロ矩形はCGRectMake(0,0,0,0)と同じです。

CGSizeZero
幅と高さが0である定数のサイズです。
ゼロサイズはCGSizeMake(0,0)と同じです。



参考文献

CGGeometry Reference

Wikipedia/和集合






Wave SoundTouch music system IV
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
06 | 2017/07 | 08
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Wave SoundTouch music system IV
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR