ডিভাইস ক্যামেরার জিওস্পেশিয়াল ভঙ্গি পান

একবার আপনি Geospatial API ব্যবহার করার জন্য আপনার অ্যাপের সেটিংস কনফিগার করলে, আপনি একটি ArGeospatialPose পেতে ArEarth_getCameraGeospatialPose এ কল করতে পারেন যা সাম্প্রতিক ফ্রেমে ক্যামেরার জন্য ডিভাইসের ভূ-স্থানিক অবস্থান বর্ণনা করে। একটি ArEarth অবজেক্টে পরিচালিত এই ভঙ্গিতে নিম্নলিখিত তথ্য রয়েছে:

  • অবস্থান, অক্ষাংশ এবং দ্রাঘিমাংশে প্রকাশ করা হয়েছে
  • উচ্চতা
  • X+ পূর্ব দিকে নির্দেশ করে, Y+ উপরে নির্দেশ করে এবং Z+ দক্ষিণে নির্দেশ করে EUS স্থানাঙ্ক সিস্টেমে ব্যবহারকারী যে দিকটির মুখোমুখি হচ্ছে তার আনুমানিক দিকনির্দেশনা।

ট্র্যাকিং অবস্থা পরীক্ষা করুন

ভূ-স্থানিক মান শুধুমাত্র তখনই বৈধ যখন ArEarth.ArTrackingState হল ArTrackingState.AR_TRACKING_STATE_TRACKING এবং ArEarth.ArEarthState হল AR_EARTH_STATE_ENABLED ৷ সমস্ত ভূ-স্থানীয় API কল একটি ArEarth.ArTrackingState কন্ট্রোল ব্লকে মোড়ানো নিশ্চিত করুন৷

if (ar_earth != NULL) {
  ArTrackingState earth_tracking_state = AR_TRACKING_STATE_STOPPED;
  ArTrackable_getTrackingState(ar_session, (ArTrackable*)ar_earth,
                               &earth_tracking_state);
  if (earth_tracking_state == AR_TRACKING_STATE_TRACKING) {
    ArGeospatialPose* camera_geospatial_pose = NULL;
    ArGeospatialPose_create(ar_session, &camera_geospatial_pose);
    ArEarth_getCameraGeospatialPose(ar_session, ar_earth,
                                    camera_geospatial_pose);
    // camera_geospatial_pose contains geodetic location, rotation, and
    // confidences values.
    ArGeospatialPose_destroy(camera_geospatial_pose);
  }
}

যদি ArEarth.ArTrackingState ArTrackingState.AR_TRACKING_STATE_TRACKING না হয়ে যায়।AR_TRACKING_STATE_TRACKING , ArEarth.ArTrackingState AR_TRACKING_STATE_PAUSED বা AR_TRACKING_STATE_STOPPED হতে পারে। যদি এই শর্তগুলির কোনটিই সত্য না হয় তবে ArEarth.ArEarthState চেক করুন, যা অন্যান্য ত্রুটির অবস্থা দেখায় যা ArEarth অবজেক্টকে ট্র্যাক করা থেকে বিরত রাখতে পারে।

নির্ভুলতার জন্য ভঙ্গি সামঞ্জস্য করুন

ডিফল্ট ওরিয়েন্টেশনে যখন ডিভাইসটি সোজা থাকে, তখন পিচ (X+) এবং রোল (Z+) কোণগুলি AR ট্র্যাকিংয়ের সাথে একটি প্রাকৃতিক সারিবদ্ধতার কারণে সুনির্দিষ্ট হতে থাকে। যাইহোক, ইয়াও (Y+) কোণগুলি VPS ডেটার প্রাপ্যতা এবং অবস্থানের সাময়িক অবস্থার উপর নির্ভর করে পরিবর্তিত হতে পারে। আপনার অ্যাপকে সঠিকতার জন্য সামঞ্জস্য করতে হতে পারে।

ArGeospatialPose_getOrientationYawAccuracy() একটি নির্দিষ্ট ArGeospatialPose এর জন্য ইয়াও (Y+) কোণের জন্য একটি নির্ভুলতা অনুমান প্রদান করে। ওরিয়েন্টেশন ইয়াও নির্ভুলতা হল এমন একটি সংখ্যা যা ArGeospatialPose_getEastUpSouthQuaternion() থেকে ফিরে আসা ইয়াও কোণের চারপাশে 68 তম শতাংশ আত্মবিশ্বাসের স্তরের ব্যাসার্ধকে ডিগ্রীতে বর্ণনা করে। অন্য কথায়, ArGeospatialPose এর প্রকৃত ইয়াও কোণ সঠিক হওয়ার 68% সম্ভাবনা রয়েছে।

বড় মান কম নির্ভুলতা নির্দেশ করে। উদাহরণস্বরূপ, যদি আনুমানিক ইয়াও কোণ 60 ডিগ্রি হয় এবং ইয়াও সঠিকতা 10 ডিগ্রি হয়, তাহলে 68% সম্ভাবনা রয়েছে যে সত্যিকারের ইয়াও কোণটি 50 থেকে 70 ডিগ্রির মধ্যে।

এরপর কি

,

একবার আপনি Geospatial API ব্যবহার করার জন্য আপনার অ্যাপের সেটিংস কনফিগার করলে, আপনি একটি ArGeospatialPose পেতে ArEarth_getCameraGeospatialPose এ কল করতে পারেন যা সাম্প্রতিক ফ্রেমে ক্যামেরার জন্য ডিভাইসের ভূ-স্থানিক অবস্থান বর্ণনা করে। একটি ArEarth অবজেক্টে পরিচালিত এই ভঙ্গিতে নিম্নলিখিত তথ্য রয়েছে:

  • অবস্থান, অক্ষাংশ এবং দ্রাঘিমাংশে প্রকাশ করা হয়েছে
  • উচ্চতা
  • X+ পূর্ব দিকে নির্দেশ করে, Y+ উপরে নির্দেশ করে এবং Z+ দক্ষিণে নির্দেশ করে EUS স্থানাঙ্ক সিস্টেমে ব্যবহারকারী যে দিকটির মুখোমুখি হচ্ছে তার আনুমানিক দিকনির্দেশনা।

ট্র্যাকিং অবস্থা পরীক্ষা করুন

ভূ-স্থানিক মান শুধুমাত্র তখনই বৈধ যখন ArEarth.ArTrackingState হল ArTrackingState.AR_TRACKING_STATE_TRACKING এবং ArEarth.ArEarthState হল AR_EARTH_STATE_ENABLED ৷ সমস্ত ভূ-স্থানীয় API কল একটি ArEarth.ArTrackingState কন্ট্রোল ব্লকে মোড়ানো নিশ্চিত করুন৷

if (ar_earth != NULL) {
  ArTrackingState earth_tracking_state = AR_TRACKING_STATE_STOPPED;
  ArTrackable_getTrackingState(ar_session, (ArTrackable*)ar_earth,
                               &earth_tracking_state);
  if (earth_tracking_state == AR_TRACKING_STATE_TRACKING) {
    ArGeospatialPose* camera_geospatial_pose = NULL;
    ArGeospatialPose_create(ar_session, &camera_geospatial_pose);
    ArEarth_getCameraGeospatialPose(ar_session, ar_earth,
                                    camera_geospatial_pose);
    // camera_geospatial_pose contains geodetic location, rotation, and
    // confidences values.
    ArGeospatialPose_destroy(camera_geospatial_pose);
  }
}

যদি ArEarth.ArTrackingState ArTrackingState.AR_TRACKING_STATE_TRACKING না হয়ে যায়।AR_TRACKING_STATE_TRACKING , ArEarth.ArTrackingState AR_TRACKING_STATE_PAUSED বা AR_TRACKING_STATE_STOPPED হতে পারে। যদি এই শর্তগুলির কোনটিই সত্য না হয় তবে ArEarth.ArEarthState চেক করুন, যা অন্যান্য ত্রুটির অবস্থা দেখায় যা ArEarth অবজেক্টকে ট্র্যাক করা থেকে বিরত রাখতে পারে।

নির্ভুলতার জন্য ভঙ্গি সামঞ্জস্য করুন

ডিফল্ট ওরিয়েন্টেশনে যখন ডিভাইসটি সোজা থাকে, তখন পিচ (X+) এবং রোল (Z+) কোণগুলি AR ট্র্যাকিংয়ের সাথে একটি প্রাকৃতিক সারিবদ্ধতার কারণে সুনির্দিষ্ট হতে থাকে। যাইহোক, ইয়াও (Y+) কোণগুলি VPS ডেটার প্রাপ্যতা এবং অবস্থানের সাময়িক অবস্থার উপর নির্ভর করে পরিবর্তিত হতে পারে। আপনার অ্যাপকে সঠিকতার জন্য সামঞ্জস্য করতে হতে পারে।

ArGeospatialPose_getOrientationYawAccuracy() একটি নির্দিষ্ট ArGeospatialPose এর জন্য ইয়াও (Y+) কোণের জন্য একটি নির্ভুলতা অনুমান প্রদান করে। ওরিয়েন্টেশন ইয়াও নির্ভুলতা হল এমন একটি সংখ্যা যা ArGeospatialPose_getEastUpSouthQuaternion() থেকে ফিরে আসা ইয়াও কোণের চারপাশে 68 তম শতাংশ আত্মবিশ্বাসের স্তরের ব্যাসার্ধকে ডিগ্রীতে বর্ণনা করে। অন্য কথায়, ArGeospatialPose এর প্রকৃত ইয়াও কোণ সঠিক হওয়ার 68% সম্ভাবনা রয়েছে।

বড় মান কম নির্ভুলতা নির্দেশ করে। উদাহরণস্বরূপ, যদি আনুমানিক ইয়াও কোণ 60 ডিগ্রি হয় এবং ইয়াও সঠিকতা 10 ডিগ্রি হয়, তাহলে 68% সম্ভাবনা রয়েছে যে সত্যিকারের ইয়াও কোণটি 50 থেকে 70 ডিগ্রির মধ্যে।

এরপর কি