The question about about the X axis and Y axis of the Construction Plane - Grasshopper2024-03-28T22:31:24Zhttps://www.grasshopper3d.com/forum/topics/the-question-about-about-the-x-axis-and-y-axis-of-the?commentId=2985220%3AComment%3A1638872&feed=yes&xn_auth=nothe class ON_3dVector is in t…tag:www.grasshopper3d.com,2016-11-14:2985220:Comment:16388722016-11-14T10:02:23.662ZArendhttps://www.grasshopper3d.com/profile/Arend
<p>the class ON_3dVector is in the file opennurbs_point.ccp</p>
<p>The method david is referring to is also posted here on github (might be a bit outdated).</p>
<p><a href="https://github.com/louipc/opennurbs/blob/master/opennurbs_point.cpp" target="_blank">https://github.com/louipc/opennurbs/blob/master/opennurbs_point.cpp</a></p>
<p>At line 554.</p>
<p>the class ON_3dVector is in the file opennurbs_point.ccp</p>
<p>The method david is referring to is also posted here on github (might be a bit outdated).</p>
<p><a href="https://github.com/louipc/opennurbs/blob/master/opennurbs_point.cpp" target="_blank">https://github.com/louipc/opennurbs/blob/master/opennurbs_point.cpp</a></p>
<p>At line 554.</p> ThanYou David, It is hopefull…tag:www.grasshopper3d.com,2016-11-14:2985220:Comment:16389332016-11-14T04:53:48.516Zcughudsonhttps://www.grasshopper3d.com/profile/cughudson
<p>ThanYou David, It is hopefull for me</p>
<p>ThanYou David, It is hopefull for me</p> Anyway, nobody from Seattle o…tag:www.grasshopper3d.com,2016-11-12:2985220:Comment:16380172016-11-12T10:29:43.878ZDavid Ruttenhttps://www.grasshopper3d.com/profile/DavidRutten
<p>Anyway, nobody from Seattle objected to me posting the code in question.</p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769214606?profile=original" target="_self"><img width="500" src="http://storage.ning.com/topology/rest/1.0/file/get/2769214606?profile=RESIZE_1024x1024" width="500" class="align-full"/></a></p>
<p>Anyway, nobody from Seattle objected to me posting the code in question.</p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769214606?profile=original" target="_self"><img width="500" src="http://storage.ning.com/topology/rest/1.0/file/get/2769214606?profile=RESIZE_1024x1024" width="500" class="align-full"/></a></p> Sorry, I got confused with th…tag:www.grasshopper3d.com,2016-11-12:2985220:Comment:16379302016-11-12T10:21:11.233ZDavid Ruttenhttps://www.grasshopper3d.com/profile/DavidRutten
<p>Sorry, I got confused with the RhinoCommon naming scheme. It's ON_3dVector.cpp</p>
<p>Sorry, I got confused with the RhinoCommon naming scheme. It's ON_3dVector.cpp</p> Hi, I have download OpenNurbs…tag:www.grasshopper3d.com,2016-11-12:2985220:Comment:16377292016-11-12T01:12:21.490Zcughudsonhttps://www.grasshopper3d.com/profile/cughudson
<p>Hi, I have download OpenNurbs SDK to the local,</p>
<p>But I think I can't find the <em>On_Vector3d.cpp</em> file in OpenNurbs package you show me to download</p>
<p>Hi, I have download OpenNurbs SDK to the local,</p>
<p>But I think I can't find the <em>On_Vector3d.cpp</em> file in OpenNurbs package you show me to download</p> ps. If I get the go-ahead fro…tag:www.grasshopper3d.com,2016-11-12:2985220:Comment:16376782016-11-12T00:52:22.454ZDavid Ruttenhttps://www.grasshopper3d.com/profile/DavidRutten
<p>ps. If I get the go-ahead from Seattle HQ I can copy paste the relevant code here tomorrow, I'm just not entirely certain I am allowed to do this.</p>
<p>ps. If I get the go-ahead from Seattle HQ I can copy paste the relevant code here tomorrow, I'm just not entirely certain I am allowed to do this.</p> If the z component is larger…tag:www.grasshopper3d.com,2016-11-12:2985220:Comment:16375762016-11-12T00:51:47.770ZDavid Ruttenhttps://www.grasshopper3d.com/profile/DavidRutten
<p>If the z component is larger than the x and y components, then the vector points more upwards than sideways. Similarly, if x is the biggest component, then the vector points more to the right or left than it does front/back or up/down.</p>
<p></p>
<p>The reason Rhino bases perpendicularity on this metric is because of symmetry and numeric robustness. This logic is defined in OpenNurbs, which is <a href="http://www.rhino3d.com/download/opennurbs/5.0/release" target="_blank">free for…</a></p>
<p>If the z component is larger than the x and y components, then the vector points more upwards than sideways. Similarly, if x is the biggest component, then the vector points more to the right or left than it does front/back or up/down.</p>
<p></p>
<p>The reason Rhino bases perpendicularity on this metric is because of symmetry and numeric robustness. This logic is defined in OpenNurbs, which is <a href="http://www.rhino3d.com/download/opennurbs/5.0/release" target="_blank">free for download</a> if you want to see the actual algorithm. (look in ON_Vector3d.cpp, the CreatePerpendicular() method)</p> Hi David, ThankYou for your r…tag:www.grasshopper3d.com,2016-11-12:2985220:Comment:16375712016-11-12T00:28:39.528Zcughudsonhttps://www.grasshopper3d.com/profile/cughudson
<p>Hi David, ThankYou for your replay. But from your reply, I just has two question about it </p>
<p>firstly, <strong>which of the x/y/x coordinates is largest,</strong> how could I understand this. secondly, <strong>6 possible ways</strong> is refer to which six ways? </p>
<p>That all Thankyou</p>
<p>Hi David, ThankYou for your replay. But from your reply, I just has two question about it </p>
<p>firstly, <strong>which of the x/y/x coordinates is largest,</strong> how could I understand this. secondly, <strong>6 possible ways</strong> is refer to which six ways? </p>
<p>That all Thankyou</p> First the x-axis is set to be…tag:www.grasshopper3d.com,2016-11-11:2985220:Comment:16375202016-11-11T15:21:28.862ZDavid Ruttenhttps://www.grasshopper3d.com/profile/DavidRutten
<p>First the x-axis is set to be perpendicular to the supplied z-axis. Then the y-axis is computed as the cross product between the z-axis and the x-axis. The way in which perpendicularity for the x-axis is defined is key here. Rhino looks at the z-axis and determines roughly in which direction it is pointing, ie. which of the x/y/z coordinates is largest. It will also look at the second largest component and pick one out of 6 possible ways to define perpendicularity.</p>
<p></p>
<p>If you care…</p>
<p>First the x-axis is set to be perpendicular to the supplied z-axis. Then the y-axis is computed as the cross product between the z-axis and the x-axis. The way in which perpendicularity for the x-axis is defined is key here. Rhino looks at the z-axis and determines roughly in which direction it is pointing, ie. which of the x/y/z coordinates is largest. It will also look at the second largest component and pick one out of 6 possible ways to define perpendicularity.</p>
<p></p>
<p>If you care at all about the direction of the x and y axes, you should never use the Origin+Normal constructor for planes.</p>