{"id":3225,"date":"2014-10-28T23:16:12","date_gmt":"2014-10-28T14:16:12","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=3225"},"modified":"2014-10-28T23:16:12","modified_gmt":"2014-10-28T14:16:12","slug":"%e3%81%b2%e3%81%93%e3%81%86%e3%81%8d%e3%82%b4%e3%83%bc%e3%83%a9%e3%83%b3%e3%83%89","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=3225","title":{"rendered":"\u3072\u3053\u3046\u304d\u30b4\u30fc\u30e9\u30f3\u30c9"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/-AJxqVfNOxY8\/VE-knTO0ikI\/AAAAAAAAC1w\/RE1s4SIpK9k\/s288\/Screen%2520Shot%25202014-10-28%2520at%252011.11.52%2520PM.png\" width=\"288\" height=\"189\" alt=\"iPhone \u3072\u3053\u3046\u304d\u30b4\u30fc\u30e9\u30f3\u30c9\" class=\"alignnone\" \/><br \/>\n<\/p>\n<p>\n\u98db\u884c\u6a5f\u304c\u304f\u308b\u304f\u308b\u307e\u308f\u308b\u30e1\u30ea\u30fc\u30b4\u30fc\u30e9\u30f3\u30c9\u306aiPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p><!--more--><\/p>\n<p>\n<iframe loading=\"lazy\" width=\"467\" height=\"350\" src=\"https:\/\/www.youtube.com\/embed\/yHTbBRoVy7w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12f1b\"><span style=\"color: #78492a\">#import <\/span>&#8220;ViewController.h&#8221;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">@import<\/span> SceneKit;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #bb2ca2\">@interface<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #4f8187\">ViewController<\/span><span style=\"color: #000000\"> () &lt;<\/span>SCNSceneRendererDelegate<span style=\"color: #000000\">&gt;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">, <\/span>weak<span style=\"color: #000000\">) <\/span><span style=\"color: #703daa\">SCNScene<\/span><span style=\"color: #000000\"> *scene;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">) <\/span><span style=\"color: #703daa\">NSTimeInterval<\/span><span style=\"color: #000000\"> last;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">) <\/span>float<span style=\"color: #000000\"> phi;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">, <\/span>strong<span style=\"color: #000000\">) <\/span><span style=\"color: #703daa\">NSMutableArray<\/span><span style=\"color: #000000\"> *planesSlider;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@end<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">@implementation<\/span> ViewController<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)viewDidLoad {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">super<\/span><span style=\"color: #000000\"> <\/span>viewDidLoad<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>view<span style=\"color: #000000\">.<\/span>backgroundColor<span style=\"color: #000000\"> = [<\/span>UIColor<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">lightGrayColor<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>setupScene<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">for<\/span> (<span style=\"color: #bb2ca2\">int<\/span> i=<span style=\"color: #272ad8\">0<\/span>; i&lt;<span style=\"color: #272ad8\">4<\/span>; i++) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">createPlane<\/span><span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">UIColor<\/span><span style=\"color: #000000\"> <\/span>colorWithHue<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.3<\/span><span style=\"color: #000000\"> * i <\/span>saturation<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.5<\/span><span style=\"color: #000000\"> <\/span>brightness<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>alpha<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">] <\/span><span style=\"color: #31595d\">name<\/span><span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">NSString<\/span><span style=\"color: #000000\"> <\/span>stringWithFormat<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;plane%d&#8221;<\/span><span style=\"color: #000000\">, i]];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createCamera<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createLight<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createController<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)setupScene {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> w = <span style=\"color: #3d1d81\">CGRectGetMaxX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNView<\/span> *sv = [[<span style=\"color: #703daa\">SCNView<\/span> <span style=\"color: #3d1d81\">alloc<\/span>] <span style=\"color: #3d1d81\">initWithFrame<\/span>:<span style=\"color: #3d1d81\">CGRectMake<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">0<\/span>, w, w)];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sv.<\/span><span style=\"color: #703daa\">backgroundColor<\/span><span style=\"color: #000000\"> = [<\/span><span style=\"color: #703daa\">UIColor<\/span><span style=\"color: #000000\"> <\/span>colorWithHue<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.45<\/span><span style=\"color: #000000\"> <\/span>saturation<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.3<\/span><span style=\"color: #000000\"> <\/span>brightness<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>alpha<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sv.<span style=\"color: #703daa\">scene<\/span> = [<span style=\"color: #703daa\">SCNScene<\/span> <span style=\"color: #3d1d81\">scene<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sv.<span style=\"color: #703daa\">delegate<\/span> = <span style=\"color: #bb2ca2\">self<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span> <span style=\"color: #3d1d81\">addSubview<\/span>:sv];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span> = sv.<span style=\"color: #703daa\">scene<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createPlane:(<span style=\"color: #703daa\">UIColor<\/span>*)color name:(<span style=\"color: #703daa\">NSString<\/span>*)name{<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *plane = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">node<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>plane.<span style=\"color: #703daa\">name<\/span> = name;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:plane];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[plane <\/span>runAction<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SCNAction<\/span><span style=\"color: #000000\"> <\/span>rotateByAngle<span style=\"color: #000000\">:-<\/span><span style=\"color: #78492a\">M_PI<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #272ad8\">2.0<\/span><span style=\"color: #000000\"> <\/span>aroundAxis<span style=\"color: #000000\">:<\/span>SCNVector3Make<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">) <\/span>duration<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">2.0<\/span><span style=\"color: #000000\">]];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNCylinder<\/span><span style=\"color: #000000\"> *body = [<\/span><span style=\"color: #703daa\">SCNCylinder<\/span><span style=\"color: #000000\"> <\/span>cylinderWithRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.5<\/span><span style=\"color: #000000\"> <\/span>height<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">3<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>body.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = color;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *bodyNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:body];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[plane <span style=\"color: #3d1d81\">addChildNode<\/span>:bodyNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNBox<\/span><span style=\"color: #000000\"> *wing = [<\/span><span style=\"color: #703daa\">SCNBox<\/span><span style=\"color: #000000\"> <\/span>boxWithWidth<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">3<\/span><span style=\"color: #000000\"> <\/span>height<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>length<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.3<\/span><span style=\"color: #000000\"> <\/span>chamferRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>wing.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = color;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *wingNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:wing];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>wingNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">0.4<\/span>, <span style=\"color: #272ad8\">0.2<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[plane <span style=\"color: #3d1d81\">addChildNode<\/span>:wingNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNBox<\/span><span style=\"color: #000000\"> *tail = [<\/span><span style=\"color: #703daa\">SCNBox<\/span><span style=\"color: #000000\"> <\/span>boxWithWidth<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.3<\/span><span style=\"color: #000000\"> <\/span>height<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>length<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>chamferRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>tail.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = color;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *tailNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:tail];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>tailNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, &#8211;<span style=\"color: #272ad8\">1.5<\/span>, <span style=\"color: #272ad8\">0.5<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[plane <span style=\"color: #3d1d81\">addChildNode<\/span>:tailNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNBox<\/span><span style=\"color: #000000\"> *propeller = [<\/span><span style=\"color: #703daa\">SCNBox<\/span><span style=\"color: #000000\"> <\/span>boxWithWidth<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">2<\/span><span style=\"color: #000000\"> <\/span>height<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.2<\/span><span style=\"color: #000000\"> <\/span>length<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.4<\/span><span style=\"color: #000000\"> <\/span>chamferRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>propeller.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = color;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *propellerNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:propeller];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>propellerNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">2<\/span>, <span style=\"color: #272ad8\">0<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[plane <span style=\"color: #3d1d81\">addChildNode<\/span>:propellerNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[propellerNode <\/span>runAction<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SCNAction<\/span><span style=\"color: #000000\"> <\/span>repeatActionForever<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SCNAction<\/span><span style=\"color: #000000\"> <\/span>rotateByAngle<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.2<\/span><span style=\"color: #000000\"> <\/span>aroundAxis<span style=\"color: #000000\">:<\/span>SCNVector3Make<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">) <\/span>duration<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.1<\/span><span style=\"color: #000000\">]]];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createCamera {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *camera = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">node<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">camera<\/span> = [<span style=\"color: #703daa\">SCNCamera<\/span> <span style=\"color: #3d1d81\">camera<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, &#8211;<span style=\"color: #272ad8\">2<\/span>, <span style=\"color: #272ad8\">30<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:camera];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createLight {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNLight<\/span> *light = [<span style=\"color: #703daa\">SCNLight<\/span> <span style=\"color: #3d1d81\">light<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>light.<\/span>type<span style=\"color: #000000\"> = <\/span>SCNLightTypeOmni<span style=\"color: #000000\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *lightNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">node<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">light<\/span> = light;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">5<\/span>, <span style=\"color: #272ad8\">60<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:lightNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createController {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">planesSlider<\/span><span style=\"color: #000000\"> = [<\/span>NSMutableArray<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">array<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">for<\/span> (<span style=\"color: #bb2ca2\">int<\/span> i=<span style=\"color: #272ad8\">0<\/span>; i&lt;<span style=\"color: #272ad8\">4<\/span>; i++) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #703daa\">UISlider<\/span> *slider = [[<span style=\"color: #703daa\">UISlider<\/span> <span style=\"color: #3d1d81\">alloc<\/span>] <span style=\"color: #3d1d81\">init<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>slider.<span style=\"color: #703daa\">minimumValue<\/span> = <span style=\"color: #272ad8\">0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>slider.<span style=\"color: #703daa\">maximumValue<\/span> = <span style=\"color: #78492a\">M_PI<\/span>\/<span style=\"color: #272ad8\">2.0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>[slider <span style=\"color: #3d1d81\">sizeToFit<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>slider.<span style=\"color: #703daa\">center<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>((i+<span style=\"color: #272ad8\">1<\/span>) * <span style=\"color: #3d1d81\">CGRectGetMaxX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) \/ <span style=\"color: #272ad8\">5.0<\/span>, <span style=\"color: #3d1d81\">CGRectGetMidY<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) + <span style=\"color: #272ad8\">100<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>slider.<\/span><span style=\"color: #703daa\">transform<\/span><span style=\"color: #000000\"> = <\/span>CGAffineTransformMakeRotation<span style=\"color: #000000\">(-<\/span><span style=\"color: #78492a\">M_PI<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #272ad8\">2.0<\/span><span style=\"color: #000000\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span> <span style=\"color: #3d1d81\">addSubview<\/span>:slider];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">UIImage<\/span><span style=\"color: #000000\"> *img = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">imageWithColor<\/span><span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">UIColor<\/span><span style=\"color: #000000\"> <\/span>colorWithHue<span style=\"color: #000000\">:i * <\/span><span style=\"color: #272ad8\">0.3<\/span><span style=\"color: #000000\"> <\/span>saturation<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.6<\/span><span style=\"color: #000000\"> <\/span>brightness<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>alpha<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">]];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>[slider <\/span>setThumbImage<span style=\"color: #000000\">:img <\/span>forState<span style=\"color: #000000\">:<\/span>UIControlStateNormal<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">planesSlider<\/span> <span style=\"color: #3d1d81\">addObject<\/span>:slider];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #703daa\">UIImage<\/span> *)imageWithColor:(<span style=\"color: #703daa\">UIColor<\/span> *)color<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">{<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">CGRect<\/span> rect = <span style=\"color: #3d1d81\">CGRectMake<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">40<\/span>, <span style=\"color: #272ad8\">40<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>UIGraphicsBeginImageContext<span style=\"color: #000000\">(rect.<\/span><span style=\"color: #703daa\">size<\/span><span style=\"color: #000000\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">CGContextRef<\/span><span style=\"color: #000000\"> ctx = <\/span>UIGraphicsGetCurrentContext<span style=\"color: #000000\">();<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>CGContextSetFillColorWithColor<span style=\"color: #000000\">(ctx, color.<\/span><span style=\"color: #703daa\">CGColor<\/span><span style=\"color: #000000\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>CGContextFillRect<span style=\"color: #000000\">(ctx, rect);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">UIImage<\/span><span style=\"color: #000000\"> *img = <\/span>UIGraphicsGetImageFromCurrentImageContext<span style=\"color: #000000\">();<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>UIGraphicsEndImageContext<span style=\"color: #000000\">();<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">return<\/span> img;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)renderer:(<span style=\"color: #bb2ca2\">id<\/span>&lt;<span style=\"color: #703daa\">SCNSceneRenderer<\/span>&gt;)aRenderer updateAtTime:(<span style=\"color: #703daa\">NSTimeInterval<\/span>)time<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">{<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> r = <span style=\"color: #272ad8\">15<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> dAnble = <span style=\"color: #78492a\">M_PI<\/span> \/ <span style=\"color: #272ad8\">10.0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">phi<\/span> = (time &#8211; <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">last<\/span>) * dAnble;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">for<\/span> (<span style=\"color: #bb2ca2\">int<\/span> i=<span style=\"color: #272ad8\">0<\/span>; i&lt;<span style=\"color: #272ad8\">4<\/span>; i++) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> phi = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">phi<\/span> + i * <span style=\"color: #78492a\">M_PI<\/span>\/<span style=\"color: #272ad8\">2.0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNNode<\/span><span style=\"color: #000000\"> *plane = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">scene<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">rootNode<\/span><span style=\"color: #000000\"> <\/span>childNodeWithName<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">NSString<\/span><span style=\"color: #000000\"> <\/span>stringWithFormat<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;plane%d&#8221;<\/span><span style=\"color: #000000\">, i] <\/span>recursively<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">NO<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>plane.<span style=\"color: #703daa\">transform<\/span> = <span style=\"color: #3d1d81\">SCNMatrix4MakeRotation<\/span>(-<span style=\"color: #78492a\">M_PI<\/span>\/<span style=\"color: #272ad8\">2.0<\/span>, <span style=\"color: #272ad8\">1<\/span>, <span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">0<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>plane.<span style=\"color: #703daa\">transform<\/span> = <span style=\"color: #3d1d81\">SCNMatrix4Rotate<\/span>(plane.<span style=\"color: #703daa\">transform<\/span>, <span style=\"color: #78492a\">M_PI<\/span> &#8211; phi, <span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">1<\/span>, <span style=\"color: #272ad8\">0<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> theta = <span style=\"color: #78492a\">M_PI<\/span> * <span style=\"color: #272ad8\">0.7<\/span> &#8211; ((<span style=\"color: #703daa\">UISlider<\/span>*)<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">planesSlider<\/span>[i]).<span style=\"color: #703daa\">value<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>plane.<span style=\"color: #703daa\">position<\/span> = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #31595d\">sphericalCoordinateTheta<\/span>:theta <span style=\"color: #31595d\">phi<\/span>:phi <span style=\"color: #31595d\">r<\/span>:r];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #703daa\">SCNVector3<\/span>)sphericalCoordinateTheta:(<span style=\"color: #bb2ca2\">float<\/span>)theta phi:(<span style=\"color: #bb2ca2\">float<\/span>)phi r:(<span style=\"color: #bb2ca2\">float<\/span>)r {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> x = r * <span style=\"color: #3d1d81\">sin<\/span>(theta) * <span style=\"color: #3d1d81\">cos<\/span>(phi);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> z = r * <span style=\"color: #3d1d81\">sin<\/span>(theta) * <span style=\"color: #3d1d81\">sin<\/span>(phi);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> y = r * <span style=\"color: #3d1d81\">cos<\/span>(theta);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">return<\/span> <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(x, y, z);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@end<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u98db\u884c\u6a5f\u304c\u304f\u308b\u304f\u308b\u307e\u308f\u308b\u30e1\u30ea\u30fc\u30b4\u30fc\u30e9\u30f3\u30c9\u306aiPhone\u30a2\u30d7&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3227,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[125,24,119,126],"class_list":["post-3225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios8","tag-iphone","tag-objective-c","tag-scenekit"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/0e7532934ec5ad77a4fab5f92f928a7b.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3225"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3225\/revisions"}],"predecessor-version":[{"id":3226,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3225\/revisions\/3226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/3227"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}