ค้นหาศูนย์กลางของตาข่ายที่นำเข้าในแอปพลิเคชัน QML

ในแอปพลิเคชัน QML ของฉัน ฉันกำลังแสดง Mesh แบบกำหนดเองซึ่งสร้างจากรูปภาพทางการแพทย์ ตอนนี้ฉันต้องการให้กล้องหมุนรอบจุดศูนย์กลางของตาข่ายนี้

ตามคำตอบในคำถามนี้ ฉันต้องตั้งค่า viewCenter ของกล้องเป็น การแปลของตาข่าย อย่างไรก็ตาม เมชที่ฉันแปลแล้ว (เซนทรอยด์ไม่ได้อยู่ที่ [0, 0, 0]) เนื่องจากอยู่ในระบบพิกัดของเครื่องสแกน CT/MR

ฉันจะรับเซนทรอยด์ของตาข่ายที่นำเข้าเพื่อตั้งค่า viewCenter ได้อย่างไร

ในไฟล์ QML ของฉันฉันมี:

import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import Qt3D.Extras 2.0
import QtQuick 2.0 as QQ2

Entity {
    id: sceneRoot

    Camera {
        id: camera
        projectionType: CameraLens.PerspectiveProjection
        fieldOfView: 45
        nearPlane : 0.1
        farPlane : 1000.0
        position: Qt.vector3d(0, 0, 20)
        upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
        viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 ) // here I should set the viewcenter to the centroid of "organModel"
    }

    OrbitCameraController  { camera: camera }

    components: [
        RenderSettings {
            activeFrameGraph: ForwardRenderer {
                camera: camera
                clearColor: "transparent"
            }
        },
        InputSettings { }
    ]

    PhongMaterial {
        id: material
        ambient: "darkRed"
    }

    Mesh {
        id: organModel
        source: "qrc:/organModel.obj"
    }

    Transform {
        id: transformLiver
    }

    Entity {
        id: torusEntity
        components: [ liver, material, transformLiver ]
    }

}

person ipa    schedule 21.03.2018    source แหล่งที่มา