Mesh normals wrong?

I am evaluating the mesh face normals of a MSphereEx, but at the top all of them point in z. Am I missing sth?

Rhino 8 SR14 2024-12-2 (Rhino 8, 8.14.24337.13002, Git hash:master @ 93cb983e06fca769cb3c2f4783a3a42a3e127d4c)
License type: Educational, build 2024-12-02
License details: Cloud Zoo

Apple macOS Version 15.1.1 (Build 24B91) (Physical RAM: 16GB)
Mac Model Identifier: MacBookPro18,1
Language: en
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
  Apple M1 Pro
    Color LCD (2056 x 1329 @ 120.00Hz)
    LG Ultra HD (2560 x 1440 @ 60.00Hz)
    LG Ultra HD (2560 x 1440 @ 60.00Hz)
GPU Vendor: Apple

USB devices
  Generic: USB2.1 Hub
  Generic: USB2.1 Hub

Bluetooth devices
  None

Third party kernel extensions
  None

Third party plugins
  /usr/lib/swift/libswiftCore.dylib
  /usr/lib/swift/libswiftObjectiveC.dylib
  /usr/lib/swift/libswiftCoreFoundation.dylib
  /usr/lib/swift/libswiftDarwin.dylib
  /usr/lib/swift/libswiftDispatch.dylib
  /usr/lib/swift/libswiftIOKit.dylib
  /usr/lib/swift/libswiftSystem.dylib
  /usr/lib/swift/libswiftXPC.dylib
  /usr/lib/swift/libswift_Builtin_float.dylib
  /usr/lib/swift/libswift_Concurrency.dylib
  /usr/lib/swift/libswift_StringProcessing.dylib
  /usr/lib/swift/libswift_errno.dylib
  /usr/lib/swift/libswift_math.dylib
  /usr/lib/swift/libswift_signal.dylib
  /usr/lib/swift/libswift_stdio.dylib
  /usr/lib/swift/libswift_time.dylib
  /usr/lib/swift/libswiftos.dylib
  /usr/lib/swift/libswiftsys_time.dylib
  /usr/lib/swift/libswiftunistd.dylib
  /usr/lib/swift/libswiftDistributed.dylib
  /usr/lib/swift/libswiftObservation.dylib
  /usr/lib/swift/libswiftMetal.dylib
  /usr/lib/swift/libswiftOSLog.dylib
  /usr/lib/swift/libswiftQuartzCore.dylib
  /usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
  /usr/lib/swift/libswiftsimd.dylib
  /usr/lib/swift/libswiftRegexBuilder.dylib
  /usr/lib/swift/libswift_RegexParser.dylib
  /usr/lib/swift/libswiftCryptoTokenKit.dylib
  /usr/lib/swift/libswiftAVFoundation.dylib
  /usr/lib/swift/libswiftCoreAudio.dylib
  /usr/lib/swift/libswiftCoreLocation.dylib
  /usr/lib/swift/libswiftCoreMIDI.dylib
  /usr/lib/swift/libswiftCoreMedia.dylib
  /usr/lib/swift/libswiftCoreImage.dylib
  /usr/lib/swift/libswiftAccelerate.dylib
  /usr/lib/swift/libswiftMLCompute.dylib
  /usr/lib/swift/libswiftCompression.dylib
  /usr/lib/swift/libswiftFileProvider.dylib
  /Library/Frameworks/3DconnexionClient.framework/Versions/A/3DconnexionClient
  /usr/lib/usd/libusd_ms.dylib
  /usr/lib/swift/libswiftIntents.dylib
  /usr/lib/swift/libswiftSpatial.dylib
  /usr/lib/swift/libswiftNaturalLanguage.dylib
  /usr/lib/swift/libswiftSynchronization.dylib
  /usr/lib/swift/libswiftGameplayKit.dylib
  /usr/lib/swift/libswiftSpriteKit.dylib
  /usr/lib/swift/libswiftWebKit.dylib
  /usr/lib/swift/libswiftDemangle.dylib
  /usr/lib/swift/libswiftGLKit.dylib
  /usr/lib/swift/libswiftMetalKit.dylib
  /usr/lib/swift/libswiftModelIO.dylib
  /usr/lib/swift/libswiftSceneKit.dylib
  /usr/lib/swift/libswiftVideoToolbox.dylib
  /usr/lib/swift/libswiftMapKit.dylib
  /usr/lib/log/liblog_network.dylib


Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
  /Applications/Rhino 8.app/Contents/Frameworks/RhMaterialEditor.framework	"Renderer Development Kit"	8.14.24337.1002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp	"Commands"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/PlugIns/NamedSnapshots.rhp	"Snapshots"	8.14.24337.1002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp	"RhinoCodePlugin"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp	"RDK_EtoUI"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp	"MeshCommands"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp	"Rhino Render"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp	"RhinoCycles"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/PlugIns/NamedPositions.rhp	"Named Position"	8.14.24337.1002
  /Applications/Rhino 8.app/Contents/PlugIns/SectionTools.rhp	"SectionTools"	8.14.24337.1002
  /Applications/Rhino 8.app/Contents/PlugIns/Displacement.rhp	"Displacement"	8.14.24337.1002
  /Applications/Rhino 8.app/Contents/PlugIns/PanelingTools.rhp	"PanelingTools"	8.14.24337.1002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp	"IronPython"	8.14.24337.13002
  /Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp	"Grasshopper"	8.14.24337.13002


faceNormals.gh (2.6 KB)

The Vertex Normals look fine

I found the error. Apparently, the FaceNormals are not being computed correctly. A c# script give the same strange normals. But when running

inputMesh.FaceNormals.ComputeFaceNormals();

The correct vectors are returned. Very strange… might still be a bug?

Hi @rudolf.neumerkel,

I’ve logged the issue.

https://mcneel.myjetbrains.com/youtrack/issue/RH-85080

Thanks,

– Dale

Thanks, could you tell me where the bug lies? In the face normals component I guess?