Daha çox

Bir nöqtədən bir məsafədə olan bütün çoxbucaqlıları necə soruşa bilərəm?


Məni axmaq adlandır, amma birtəhər aşağıdakıları necə edəcəyimi bilmədim.

GeoDjango'ya uğurla idxal etdiyim 18 xüsusiyyətə sahib bir test shapefile var (1.3, Spatialite-də işləyir). Praktik bir nümunə olaraq onlardan birinin santroidini götürdüm (sahə.mpoly.centroid) və 20 km məsafədə bütün sahələri tapmağa çalışdıq (toxunmaq kifayət edər, tam ərazini əhatə etməməliyik).

Area.objects.filter (mpoly__dwithin = (centroid, D (km = 20))))

Lakin, bu mənə yalnız boş bir siyahı verir. Sayı 200 km-ə çatdırmaq (nəzəri olaraq, bu mənim bütün məlumatlarımı əhatə etməlidir) də heç bir nəticə vermir.

Səhv bir şey edirəm?


Bunu əvvəllər qaçırdım, SpatialLite istifadə edirsiniz. dwithin SpatialLite ilə dəstəklənmir.


Köhnə cavab: 'Bölgə' bir GeoDjango sinifidir. Yəqin ki, bir ad münaqişəniz var. Modellərinizi hər hansı bir GeoDjango sinifinin eyni adı ilə adlandırmayın.

Ayrıca, 'centroid' eyni səbəbdən dəyişən ad olaraq istifadə edilməməlidir.


Geojson poliqonlarını monqodb və sorğuya bir nöqtənin koordinatlarına, ondan müəyyən məsafədə yerləşən bütün çoxbucaqlara əsaslanaraq daxil edin.

Biraz köməyə ehtiyacım var: müəyyən bir nöqtənin koordinatlarına əsaslanaraq coğson poliqonlarını bir mongodb verilənlər bazasına və sorğuya necə daxil etmək olar, o nöqtədən müəyyən bir məsafədə yerləşən bütün çoxbucaqlar

Budur istifadə edəcəyim geojson nümunəsi:

Onu mongodb verilənlər bazasına yazmaq və sorğu etmək istərdim. Bunun üçün aşağıdakıları edirəm:

Monqoz şeması yaradıram:

Monqoz modeli yaradıram:

var GeoModel = mongoose.model ('GeoModel', GeoSchema)

Geojson'ı verilənlər bazasına saxlayıram:

var post = yeni GeoModel (testJson)

Və nəhayət qeydləri axtarıb tapıram:

Kömək etməyim lazım olan məsələlər:

Çox və çox coğson məlumatlarını çoxbucaqlı şəklində yükləyəcəyəm.

Aşağıdakı koordinatlarda olduğumu söyləyim: 40.8003, -73.9580

X kilometr məsafədə, mənzildə olan bütün çoxbucaqlıları bilmək istəyirəm.

Beləliklə, buna bənzər bir sorğu etməyi düşünürəm, əlbəttə ki, işləmir :):


2 Cavablar 2

Bu inanılmaz dərəcədə gec cavabdır, amma bəlkə də bir həll yoluna bir az işıq qoya bilərəm. Baxdığınız "set" nömrəsi bir Məkan Referans Göstəricisi və ya SRID-dir. Lat / uzun hesablamalar üçün sayğacların ölçü vahidi kimi istifadə olunmasını təmin edəcək 4326 olaraq təyin etməyi düşünməlisiniz. SqlGeometry əvəzinə SqlGeography’ə keçməyi də düşünməlisiniz, lakin SqlGeometry ilə hələlik davam edəcəyik. SRID-i toplu şəkildə təyin etmək üçün cədvəlinizi aşağıdakı kimi yeniləyə bilərsiniz:

Tək bir radius üçün bir məkan obyekti olaraq bir radius yaratmalısınız. Misal üçün:

STBuffer () məkan nöqtəsini götürür və ondan bir dairə (indi çoxbucaqlı tip) yaradır. Sonra məlumat dəstinizi aşağıdakı kimi sorğu edə bilərsiniz:

Yuxarıda göstərilənlər, [SpatialColumn] sorğu planında yaratdığınız hər hansı bir Məkan İndeksindən istifadə edəcəkdir.

İşləyəcək daha sadə bir seçim də var (və hələ də bir məkan indeksindən istifadə edirik). STDistance metodu aşağıdakıları etməyə imkan verir:

Nəhayət, radius kolleksiyası ilə işləyirik. Bir neçə seçiminiz var. Birincisi, yuxarıdakıları hər bir radius üçün növbə ilə işlətməkdir, amma bunu bir kimi etmək üçün aşağıdakıları düşünərdim:

Yuxarıdakı final sınaqdan keçirilməyib, amma 99% əmindəyəm ki, az miqdarda dəyişiklik etmək ehtimalı var. Seçimdə minimum radius məsafəsini götürməyin ideal tərəfi odur ki, birdən çox radius tək bir yerdən qaynaqlanırsa, bir nöqtə birinci radiusdadırsa, təbii olaraq digərlərinin hamısında olacaqdır. Buna görə qeydləri təkrarlayacaqsınız, ancaq qruplaşdıraraq sonra min seçərək yalnız birini (və ən yaxınını) əldə edəcəksiniz.

Ümid edirəm sual verdikdən 4 həftə sonra da kömək edir. Bağışlayın, daha tez görmədim, suallar üçün yalnız bir məkan etiketi olsaydı.


3 Cavablar 3

Yavaş bir versiya (məkan indeksləri olmadan):

Məkan indekslərindən istifadə etmək üçün cədvəlinizi normallaşdırmalısınız ki, hər çoxbucaqlı təpə öz qeydində saxlanılsın.

Ardından, zirvələrin koordinatlarını ehtiva edən Məkan indeksini yaradın və yalnız bu sorğunu verin:

UTM koordinatlarını enlem və boylam deyil, verilənlər bazanızda saxlasanız işlər daha asan olacaq.

Məncə bunun tək bir cavabı yoxdur. Ümumiyyətlə, probleminizə xas olan boşluqdan istifadə etməsi üçün məlumatlarınızı necə təşkil etməli olduğunuz bir sualdır.

Başımda yayılan ilk fikir bir ızgara istifadə etmək, hər nöqtəni bir kvadrata təyin etmək və nöqtənin yerləşdiyi kvadratı və ətrafdakıları seçməkdir. Sonsuz ızgaralardan danışırıqsa, kvadratın bir hash-dəyərini istifadə edin, bu sizə lazım olduğundan daha çox xal verəcəkdir (toqquşma olduğunuz yerdə), lakin yenə də miqdarı bir dəstə azaldır. Əlbətdə bu çoxbucaqlılara dərhal tətbiq olunmur, sadəcə bir beyin fırtınasıdır. Çox sayda toqquşmaya səbəb ola biləcək mümkün bir yanaşma, VƏ ya bütün hashed dəyərlərini bir yerə gətirmək və bu dəyərlə ANDED-in həddlərinin sıfır olmadığı bütün girişləri seçməkdir (MySQL-də bunun mümkün olub-olmamasına əmin deyiləm), böyük bir istifadə etmək istəyə bilərsiniz. bit miqdarı olsa da.

Bu yanaşmanın problemi, sferik koordinatları danışdığımızı fərz etməkdir (lat, ümumiyyətlə uzun müddətdir), qütblərə yaxınlaşdıqda ızgara 'kvadratları' daha da böyüdükcə özünəməxsusluqlardır. Buna asan yanaşma budur. heç bir nöqtəni dirəklərə yaxın qoymayın. :)


ors_geocode (), yerin adı, küçə ünvanı və ya poçt kodu kimi sorğuda verilən bir məkanın təsvirini nöqtə həndəsəsi ilə məkanın normallaşdırılmış təsvirinə çevirir. Əlavə olaraq, tam əksini edən tərs coğrafi kodlaşdırma təklif edir: Verilən yerin koordinatlarını əhatə edən növbəti bağlama obyektini qaytarır. Daha uyğun nəticələr əldə etmək üçün tələb olunan koordinatlar ətrafında bir tolerantlıq radiusu da təyin edə bilərsiniz.

Bu xidmət, verilmiş coğrafi koordinatların ətrafında və ya daxilində maraqlı yerlər tapmağa imkan verir. Verilən xüsusiyyətləri bir nöqtə, yol ətrafında və ya hətta həndəsədə göstərilən bir çoxbucaqlı daxilində axtara bilərsiniz. Mövcud bütün POI kateqoriyalarını göstərmək üçün ors_pois ('list') istifadə edin.

İstək = 'stats' istifadə edərək ərazidəki müəyyən POI-lərin miqdarı ilə bağlı statistik məlumat toplaya bilərsiniz.


Parametrlər

Xüsusiyyətləri Seçmə parametri dəyərlərinə görə qiymətləndiriləcək xüsusiyyətlər. Seçim bu xüsusiyyətlərə tətbiq olunacaq.

Qiymətləndiriləcək məkan əlaqəsini müəyyənləşdirir.

  • Kesişme - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti ilə kəsişdikləri zaman seçiləcəkdir. Bu, standartdır.
  • 3D kəsişməsi - Giriş qatındakı xüsusiyyətlər üç ölçülü məkanda (x, y və z) seçmə xüsusiyyəti ilə kəsişdikləri zaman seçiləcəkdir.
  • Kesişme (DBMS) —Giriş qatındakı xüsusiyyətlər seçmə xüsusiyyəti ilə kəsişdikləri zaman seçiləcəkdir. Bu seçim yalnız müəssisə geodatabazalarına aiddir. Seçim bütün tələblər yerinə yetirildikdə müştəri üzərində deyil, müəssisə geodatabase DBMS-də işlənəcəkdir (istifadə qeydlərində daha çox məlumata bax). Bu seçim, müştəridə seçimi yerinə yetirməkdən daha yaxşı bir performans təmin edə bilər.
  • Bir məsafədə - Giriş qatındakı xüsusiyyətlər seçmə xüsusiyyətindən müəyyən edilmiş məsafədə olduqda (Öklid məsafəsini istifadə edərək) seçiləcəkdir. Məsafəni təyin etmək üçün Axtarış məsafəsi parametrindən istifadə edin.
  • Bir məsafədə geodeziya - Giriş qatındakı xüsusiyyətlər seçmə xüsusiyyətindən müəyyən bir məsafədə olduqları zaman seçiləcəkdir. Xüsusiyyətlər arasındakı məsafə, sferoidin əyriliyini nəzərə alan və məlumat zolağı və qütblərin yaxınlığında və üzərindəki məlumatları düzgün idarə edən bir geodeziya formulu ilə hesablanacaqdır. Məsafəni təyin etmək üçün Axtarış məsafəsi parametrindən istifadə edin.
  • Bir məsafədə 3D - Giriş qatındakı xüsusiyyətlər, üç ölçülü məkanda bir seçmə xüsusiyyətindən müəyyən bir məsafədə olduqları təqdirdə seçiləcəkdir. Məsafəni təyin etmək üçün Axtarış məsafəsi parametrindən istifadə edin.
  • İçərir - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti ehtiva edərsə seçiləcəkdir.
  • Tamamilə ehtiva edir - Giriş qatındakı xüsusiyyətlər tamamilə seçmə xüsusiyyəti ehtiva edərsə seçiləcəkdir.
  • Clementini ehtiva edir - Bu məkan əlaqəsi, Tamamilə ehtiva etdiyi ilə eyni nəticələr verir, istisna olmaqla, seçmə xüsusiyyəti tamamilə giriş xüsusiyyətinin sərhədindədirsə (heç bir hissəsi düzgün daxilində və xaricində deyilsə), xüsusiyyət seçilməyəcəkdir. Clementini, sərhəd çoxbucağını içi və xaricini ayıran bir xətt olaraq təyin edir, bir xəttin sərhəddi onun son nöqtələri olaraq təyin edilir və bir nöqtənin sərhədi həmişə boşdur.
  • Daxilində - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti içərisində olduqları təqdirdə seçiləcəkdir.
  • Tamamilə daxilində - Giriş təbəqəsindəki xüsusiyyətlər tamamilə seçmə xüsusiyyətinə daxil olduqda və ya daxil olduqda seçiləcəkdir.
  • Clementini içərisində - Nəticə, İçindəki ilə eyni olacaq, istisna olmaqla, giriş qatındakı xüsusiyyətin hamısı seçmə qatındakı xüsusiyyət sərhədində olarsa, xüsusiyyət seçilməyəcəkdir. Clementini, sərhəd çoxbucağını içi və xaricini ayıran bir xətt olaraq təyin edir, bir xəttin sərhəddi onun son nöqtələri olaraq təyin edilir və bir nöqtənin sərhədi həmişə boşdur.
  • Eynidır - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti ilə (həndəsədə) eyni olduqda seçiləcəkdir.
  • Sərhəd toxunuşları - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyətinə toxunan bir sərhədləri olduqda seçiləcəkdir. Giriş xüsusiyyətləri xətlər və ya çoxbucaqlı olduqda, giriş xüsusiyyətinin sərhədi yalnız seçmə xüsusiyyətinin sərhədinə toxuna bilər və giriş xüsusiyyətinin heç bir hissəsi seçmə xüsusiyyətinin sərhədini aşa bilməz.
  • Bir satır seqmentini ilə paylaşın - Giriş təbəqəsindəki xüsusiyyətlər bir seçmə xüsusiyyəti ilə bir xətt seqmentini paylaşsalar seçiləcək. Giriş və seçmə xüsusiyyətləri sətir və ya çoxbucaqlı olmalıdır.
  • Konturun üstündən keçib - Giriş səviyyəsindəki xüsusiyyətlər, seçmə xüsusiyyətinin konturu ilə keçdikdə seçiləcəkdir. Giriş və seçmə xüsusiyyətləri sətir və ya çoxbucaqlı olmalıdır. Giriş və ya seçmə təbəqəsi üçün çoxbucaqlılardan istifadə edilərsə, çoxbucaqlı sərhəd (xətt) istifadə ediləcəkdir. Bir nöqtədə kəsişən xətlər seçiləcək, bir xətt seqmentini paylaşan xətlər seçilməyəcək.
  • Mərkəzlərini daxil edin - Mərkəzi seçmə xüsusiyyətinə düşərsə giriş qatındakı xüsusiyyətlər seçiləcəkdir. Xüsusiyyətin mərkəzi aşağıdakı kimi hesablanır: çoxbucaqlı və çox nöqtəli nöqtələr üçün həndəsənin mərkəz hissəsi xətt girişi üçün, həndəsənin orta nöqtəsi istifadə olunur.

Giriş Xüsusiyyətləri parametrindəki xüsusiyyətlər, bu təbəqədən və ya xüsusiyyət sinifindən olan xüsusiyyətlərlə əlaqəsinə əsasən seçiləcəkdir.

Axtarılan məsafə. Bu parametr yalnız İlişki parametri bir məsafədə, bir məsafədə geodeziya içində, bir məsafədə 3D, kəsişmə, kəsişmə 3D, mərkəzləri içərisində və ya ehtiva edən olaraq təyin olunduqda etibarlıdır.

Əgər məsafə daxilində geodeziya seçimi seçilərsə, kilometr və ya mil kimi xətti vahiddən istifadə edin.

Seçimin girişə necə tətbiq ediləcəyini və mövcud seçimlə necə birləşdiriləcəyini müəyyənləşdirir. Bu alət mövcud seçimi silmək üçün bir seçim daxil etmir. Bunu etmək üçün Qatını Özəlliklə seçin alətindəki mövcud seçimi sil seçimini istifadə edin.

  • Yeni seçim - Nəticə seçimi mövcud seçimi əvəz edəcəkdir. Bu, standartdır.
  • Mövcud seçimə əlavə edin - Nəticədə seçim mövcud seçimə əlavə olunacaq. Seçim yoxdursa, bu Yeni seçim seçimi ilə eynidir.
  • Mövcud seçimdən silin - Nəticədə seçim mövcud seçimdən silinəcəkdir. Seçim yoxdursa, əməliyyatın heç bir təsiri olmayacaq.
  • Mövcud seçimdən alt dəsti seçin - Nəticədə seçim mövcud seçimlə birləşdiriləcəkdir. Yalnız hər ikisi üçün ümumi olan qeydlər seçilmiş olaraq qalır.
  • Mövcud seçimi dəyişdirin - Seçim dəyişdiriləcək. Seçilən bütün qeydlər seçimdən silinəcək və seçilməyən bütün qeydlər seçimə əlavə olunacaq. Bu seçim seçildikdə Seçmə Xüsusiyyətlər və Münasibət parametrləri nəzərə alınmır.

Məkan əlaqəsi qiymətləndirmə nəticəsinin və ya əks nəticənin istifadə ediləcəyini müəyyənləşdirir. Məsələn, bu parametr kəsişməyən və ya başqa bir məlumat dəstindəki xüsusiyyətlərin müəyyən bir məsafəsində olmayan xüsusiyyətlərin siyahısını almaq üçün istifadə edilə bilər.

  • Yoxlanmadı - Sorğu nəticəsi istifadə ediləcək. Bu, standartdır.
  • Yoxlandı - Sorğu nəticəsinin əksinə istifadə ediləcək. Seçim növü parametri istifadə olunursa, seçimin geri çevrilməsi mövcud seçimlərlə birləşdirilmədən əvvəl baş verir.

Nəticə çıxarıldı

Seçimlər tətbiq olunan yenilənmiş girişlər.

Yenilənmiş girişlərin adları.

Seçilmiş qeydlərin sayı.

Select_features parametri dəyərlərinə görə qiymətləndiriləcək xüsusiyyətlər. Seçim bu xüsusiyyətlərə tətbiq olunacaq.

Qiymətləndiriləcək məkan əlaqəsini müəyyənləşdirir.

  • INTERSECT - Giriş səviyyəsindəki xüsusiyyətlər seçmə xüsusiyyəti ilə kəsişdikləri zaman seçiləcəkdir. Bu, standartdır.
  • INTERSECT_3D - Giriş qatındakı xüsusiyyətlər üç ölçülü məkanda (x, y və z) seçmə xüsusiyyəti ilə kəsişsələr seçiləcəkdir.
  • INTERSECT_DBMS - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti ilə kəsişdikləri zaman seçiləcəkdir. Bu seçim yalnız müəssisə geodatabazalarına aiddir. Seçim bütün tələblər yerinə yetirildikdə müştəri üzərində deyil, müəssisə geodatabase DBMS-də işlənəcəkdir (istifadə qeydlərinə baxın). Bu seçim, müştəridə seçimi yerinə yetirməkdən daha yaxşı bir performans təmin edə bilər.
  • WITHIN_A_DISTANCE - Giriş qatındakı xüsusiyyətlər, seçmə xüsusiyyətindən müəyyən edilmiş məsafədə olduqları halda (Öklid məsafəsini istifadə edərək) seçiləcəkdir. Məsafəni təyin etmək üçün search_distance parametrindən istifadə edin.
  • WITHIN_A_DISTANCE_3D - Giriş qatındakı xüsusiyyətlər üç ölçülü məkanda bir seçmə xüsusiyyətindən müəyyən bir məsafədə olduqları zaman seçiləcəkdir. Məsafəni təyin etmək üçün search_distance parametrindən istifadə edin.
  • WITHIN_A_DISTANCE_GEODESIC - Giriş qatındakı xüsusiyyətlər seçmə xüsusiyyətindən müəyyən edilmiş məsafədə olduqları zaman seçiləcəkdir. Xüsusiyyətlər arasındakı məsafə, sferoidin əyriliyini nəzərə alan və məlumat zolağı və qütblərin yaxınlığında və üzərindəki məlumatları düzgün idarə edən bir geodeziya formulu ilə hesablanacaqdır. Məsafəni təyin etmək üçün search_distance parametrindən istifadə edin.
  • MƏHDUDLAR - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti ehtiva edərsə seçiləcəkdir.
  • COMPLETELY_CONTAINS - Giriş qatındakı xüsusiyyətlər tamamilə seçmə xüsusiyyəti ehtiva edərsə seçiləcəkdir.
  • CONTAINS_CLEMENTINI - Bu məkan əlaqəsi, COMPLETELY_CONTAINS ilə eyni nəticələr verir, istisna olmaqla, seçmə xüsusiyyəti tamamilə giriş xüsusiyyətinin sərhədindədirsə (heç bir hissəsi düzgün daxilində və xaricində deyil), xüsusiyyət seçilməyəcəkdir. Clementini, sərhəd çoxbucağını içi və xaricini ayıran bir xətt olaraq təyin edir, bir xəttin sərhəddi onun son nöqtələri olaraq təyin edilir və bir nöqtənin sərhədi həmişə boşdur.
  • İÇİNDƏ - Giriş təbəqəsindəki xüsusiyyətlər seçmə xüsusiyyəti daxilində olduqda seçiləcəkdir.
  • COMPLETELY_WITHIN - Giriş təbəqəsindəki xüsusiyyətlər tamamilə seçmə xüsusiyyəti daxilində və ya içində olduqda seçiləcəkdir.
  • WITHIN_CLEMENTINI - Nəticə WITHIN ilə eynidır, istisna olmaqla, əgər giriş qatındakı xüsusiyyətin hamısı seçmə qatındakı xüsusiyyətin sərhədindədirsə, xüsusiyyət seçilməyəcəkdir. Clementini, sərhəd çoxbucağını içi və xaricini ayıran bir xətt olaraq təyin edir, bir xəttin sərhəddi onun son nöqtələri olaraq təyin edilir və bir nöqtənin sərhədi həmişə boşdur.
  • ARE_IDENTICAL_TO - Giriş təbəqəsindəki xüsusiyyətlər, seçmə xüsusiyyəti ilə eyni olduqda (həndəsədə) seçiləcəkdir.
  • BOUNDARY_TOUCHES - Giriş təbəqəsindəki xüsusiyyətlər, seçmə xüsusiyyətinə toxunan bir sərhədləri olduqda seçiləcəkdir. Giriş xüsusiyyətləri xətlər və ya çoxbucaqlı olduqda, giriş xüsusiyyətinin sərhədi yalnız seçmə xüsusiyyətinin sərhədinə toxuna bilər və giriş xüsusiyyətinin heç bir hissəsi seçmə xüsusiyyətinin sərhədini aşa bilməz.
  • SHARE_A_LINE_SEGMENT_WITH - Giriş qatındakı xüsusiyyətlər bir seçmə xüsusiyyəti ilə bir satır seqmentini paylaşsalar seçiləcəkdir. Giriş və seçmə xüsusiyyətləri sətir və ya çoxbucaqlı olmalıdır.
  • CROSSED_BY_THE_OUTLINE_OF - Giriş səviyyəsindəki xüsusiyyətlər, seçmə xüsusiyyətinin konturu ilə kəsişdikdə seçiləcəkdir. Giriş və seçmə xüsusiyyətləri sətir və ya çoxbucaqlı olmalıdır. Giriş və ya seçmə təbəqəsi üçün çoxbucaqlılardan istifadə edilərsə, çoxbucaqlı sərhəd (xətt) istifadə ediləcəkdir. Bir nöqtədə kəsişən xətlər seçiləcək, bir xətt seqmentini paylaşan xətlər seçilməyəcək.
  • HAVE_THEIR_CENTER_IN - Giriş qatındakı xüsusiyyətlər, mərkəzləri seçmə xüsusiyyətinə düşərsə seçiləcəkdir. Xüsusiyyətin mərkəzi aşağıdakı kimi hesablanır: çoxbucaqlı və çox nöqtəli nöqtələr üçün həndəsənin mərkəz hissəsi xətt girişi üçün, həndəsənin orta nöqtəsi istifadə olunur.

Giriş Xüsusiyyətləri parametrindəki xüsusiyyətlər, bu təbəqədən və ya xüsusiyyət sinifindən olan xüsusiyyətlərlə əlaqəsinə əsasən seçiləcəkdir.

Axtarılan məsafə. Bu parametr yalnız üst-üstə düşmə növü parametri WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_GEODESIC, WITHIN_A_DISTANCE_3D, INTERSECT, INTERSECT_3D, HAVE_THEIR_CENTER_IN və ya CONTAINS olaraq ayarlandıqda etibarlıdır.

WITHIN_A_DISTANCE_GEODESIC seçimi seçilirsə, kilometr və ya mil kimi xətti bir vahid istifadə edin.

Seçimin girişə necə tətbiq ediləcəyini və mövcud seçimlə necə birləşdiriləcəyini müəyyənləşdirir. Bu alət mövcud seçimi silmək üçün bir seçim daxil etmir ki, bunu etmək üçün Atributu Qatını Seç alətindəki CLEAR_SELECTION seçimini istifadə edin.

  • NEW_SELECTION - Nəticədə seçim mövcud olan seçimi əvəz edəcəkdir. Bu, standartdır.
  • ADD_TO_SELECTION - Nəticədə seçim mövcud seçimə əlavə olunacaq. Seçim yoxdursa, bu NEW_SELECTION seçimi ilə eynidir.
  • REMOVE_FROM_SELECTION - Nəticədə seçim mövcud seçimdən silinəcəkdir. Seçim yoxdursa, əməliyyatın heç bir təsiri olmayacaq.
  • SUBSET_SELECTION - Nəticədə seçim mövcud seçimlə birləşdiriləcəkdir. Yalnız hər ikisi üçün ümumi olan qeydlər seçilmiş olaraq qalır.
  • SWITCH_SELECTION - seçim dəyişdiriləcək. Seçilən bütün qeydlər seçimdən silinəcək və seçilməyən bütün qeydlər seçimə əlavə olunacaq. Bu seçim seçildikdə select_feature və overlap_type parametrləri nəzərə alınmır.

Məkan əlaqəsi qiymətləndirmə nəticəsinin və ya əks nəticənin istifadə ediləcəyini müəyyənləşdirir. Məsələn, bu parametr kəsişməyən və ya başqa bir məlumat dəstindəki xüsusiyyətlərin müəyyən bir məsafəsində olmayan xüsusiyyətlərin siyahısını almaq üçün istifadə edilə bilər.

  • NOT_INVERT - Sorğu nəticəsi istifadə ediləcək. Bu, standartdır.
  • INVERT - Sorğu nəticəsinin əksinə istifadə ediləcək. Selection_type parametri istifadə olunursa, seçimin geri çevrilməsi mövcud seçimlərlə birləşdirilmədən əvvəl baş verir.

Nəticə çıxarıldı

Seçimlər tətbiq olunan yenilənmiş girişlər.

Yenilənmiş girişlərin adları.

Seçilmiş qeydlərin sayı.

Kod nümunəsi

Aşağıdakı Python pəncərə skriptində SelectLayerByLocation funksiyasının dərhal rejimdə necə istifadə ediləcəyi göstərilir.

Aşağıdakı bağımsız skript, SelectLayerByLocation funksiyasını iş yerində və atribut sorğusuna əsaslanan xüsusiyyətləri yeni bir xüsusiyyət sinfinə çıxarmaq üçün iş axınında necə istifadə ediləcəyini göstərir.

Aşağıdakı bağımsız skript axtarış_distance parametri ilə üst-üstə düşmə növü parametrinin WITHIN_A_DISTANCE və WITHIN_A_DISTANCE_GEODESIC seçimlərinin müxtəlif istifadələrini göstərir.


Mesh nəsli

Marshall Bern, Paul Plassmann, Hesablama Həndəsi El Kitabı, 2000

1.1 Həndəsi sahələrin növləri

Mümkün girişləri əvvəlcə ölçüyə görə bölürük - iki və ya üç. Şəkil 1-də göstərildiyi kimi dörd növ planar domenləri ayırırıq. Bizim üçün, a sadə çoxbucaqlı həm sərhəd, həm də daxili hissəni əhatə edir. A delikli çoxbucaqlı sərhədləri birdən çox bağlı komponentə sahib olan bəzi digər sadə çoxbucaqlıların daxili hissələrini çıxartmaqla sadə bir çoxbucaqlıdır. A birdən çox domen daha ümumidir, əslində daxili sərhədlərə imkan verir, belə bir sahə, sonsuz üzün sadə bir dövrə ilə məhdudlaşdığı hər hansı bir düz müstəvili qraf ola bilər. Birdən çox materialdan hazırlanmış birdən çox etki modeli obyektləri. Əyri domenlər spline kimi cəbri əyrilər olan tərəflərə icazə verin. İlk üç vəziyyətdə olduğu kimi, toplu olaraq bilinir çoxbucaqlı etki, əyri domenlər çuxurları və daxili sərhədləri ehtiva edə bilər və ya daxil edə bilməz.

Şəkil 1. İki ölçülü giriş növləri: (a) sadə çoxbucaqlı, (b) delikli çoxbucaqlı, (c) çoxsaylı sahə və (d) əyri sahə.

Üç ölçülü girişlərin oxşar növləri var. A sadə polyhedron topoloji cəhətdən topa bərabərdir. A ümumi polyhedron topoloji cəhətdən möhkəm bir torusa və ya başqa bir yüksək cins qatıya bərabər olduğu üçün çoxsaylı əlaqəli ola bilər, həm də sərhədinin birdən çox əlaqəli tərkib hissəsi ola biləcəyi boşluqları ola bilər. Bununla birlikdə, ümumi çoxyedrinin sərhədindəki hər nöqtədə kifayət qədər kiçik bir kürənin çoxyaşalın daxili hissəsinin bir əlaqəli hissəsini və xarici hissəsinin bir əlaqəli hissəsini əhatə etdiyini düşünürük. Nəhayət, var çoxsahəli domenlər - daxili sərhədləri olan ümumi polyhedra - və üç-ölçülü əyri domenlər, ümumiyyətlə spline yamaları ilə müəyyən edilmiş sərhədlərə malikdir.

Domen həndəsəsinin qurulması və modelləşdirilməsi bu fəslin əhatəsindən kənarda qalır, buna görə domenlərin bu təsvirin dəqiq formasını göstərmədən bir növ sərhəd təsvirində verildiyini fərz edəcəyik. Hesablama həndəsəçiləri, adətən, sadə çoxbucaqlılar və delikli çoxbucaqlar üçün əlaqəli siyahılar, ikiqat əlaqəli kənar siyahılar [103] və ya düzbucaqlı çoxsaylı domenlər üçün dördlü quruluşlar [63] və dəqiq qanadlı kənar strukturlar kimi dəqiq, kombinatoriya məlumat strukturlarını qəbul edirlər. 62] polyhedral etki sahələri üçün.

Praktikada mürəkkəb etki sahələri kompüter dəstəkli dizayn (CAD) sistemlərində dizayn edilmişdir. Bu sistemlər vizual göstərmə üçün hazırlanmış səth təsvirlərindən istifadə edir və daha sonra mesh generatoruna giriş üçün son dizaynı başqa bir formata çevirir. Əvvəlcə qatı modellərin sürətli prototipləşdirilməsi üçün hazırlanmış Stereolithography Tessellation Language (STL) fayl formatı, hüdudu səth çoxbucaqlılarının (ümumiyyətlə üçbucaqların) və səth normalarının siyahısı kimi müəyyənləşdirir. STL giriş formatının üstünlükləri, “su keçirməyən” bir modelin təmin oluna bilməsi və istifadəçi tərəfindən model tolerantlığının (CAD modelindən kənarlaşma) müəyyənləşdirilməsidir. İlkin Qrafik Mübadiləsi Xüsusiyyətləri (IGES) formatı, B-splines və NURBs kimi daha yüksək səviyyəli nümayəndəliklər daxil olmaqla, müxtəlif səth təmsilçiliyinə imkan verir. Bəlkə də daha mürəkkəbliyi və ya təmkinli CAD sistemləri və ya istifadəçiləri səbəbiylə IGES sənədləri səth kəsişmələrində çox vaxt səhv həndəsə (boşluqlar və ya əlavə material) ehtiva edir.

Format tərcüməsinə alternativ bir yanaşma, CAD sistemini, məsələn, nöqtə əlavə sorğuları ilə birbaşa sorğu etmək və sonra bu sorğuların cavablarına əsasən yeni bir nümayəndəlik yaratmaqdır. Bu yanaşma, örtüklü səthlərdə (mürəkkəb funksiyaların səviyyə dəstləri) və ya konstruktiv möhkəm həndəsə formullarında ola biləcəyi kimi, tərcümə problemi çətin olduqda ən sərfəlidir.

Hər hansı bir yanaşma, tərcümə və ya sorğularla yenidən qurulması ilə, CAD modeli topoloji cəhətdən düzgün və şəbəkəni təmin etmək üçün kifayət qədər dəqiq olmalıdır. Gələcəkdə möhkəm modelləşdirmə ilə mesh arasında daha çox inteqrasiya görəcəyik.


SDO_NN_DISTANCE

Təsvir

SDO_NN operatoru tərəfindən qaytarılmış bir obyektin məsafəsini qaytarır. Yalnız SDO_NN operatoruna edilən zəng daxilində etibarlıdır.

Açar sözlər və parametrlər

Dəyər Təsvir
nömrə SDO_NN operatoruna ötürülən son parametrlə eyni olmalıdır bir ədədi təyin edir.
Məlumat növü NUMBER.

Bu operator SDO_NN operatoru tərəfindən qaytarılmış bir obyektin məsafəsini qaytarır. İki həndəsə cisminin nə qədər yaxın olduğunu təyin edərkən, hər bir cismin səthindəki hər iki nöqtə arasındakı mümkün olan ən qısa məsafədən istifadə olunur.

İstifadəyə dair qeydlər

SDO_NN_DISTANCE, SDO_NN operatoruna köməkçi bir operatordur. Göstərilən həndəsə ilə ən yaxın qonşu obyekt arasındakı məsafəni qaytarır. Bu məsafə köməkçi məlumatlar kimi SDO_NN operatoruna ötürülür. (Operatorların köməkçi məlumatlardan necə istifadə edə biləcəyi barədə bir məlumat üçün, domen indeksləri bölməsindəki köməkçi məlumatlar bölməsinə baxın. Oracle9i Data Cartridge Geliştirici Kılavuzu.)

Üçün istənilən ixtiyari nömrəni seçə bilərsiniz nömrə parametr. Yalnız tələb budur ki, SDO_NN operatoruna edilən zəngdəki son parametrlə uyğun gəlsin.

Məsafə dəyərini saxlamaq və işləmək üçün bir bağlama dəyişənindən istifadə edin.

Aşağıdakı nümunə, COLA_MARKETS cədvəlindəki SHAPE sütunundan müəyyən bir nöqtəyə (10,7) ən yaxın olan iki obyekti tapır və hər bir obyektlə nöqtə arasındakı məsafəni tapır. (Nümunə Bölmə 2.1-dəki təriflərdən və məlumatlardan istifadə olunur.)

Bu nümunə haqqında aşağıdakılara diqqət yetirin:

1 kimi istifadə olunur nömrə SDO_NN_DISTANCE üçün parametr və 1 də SDO_NN üçün son parametr olaraq təyin edilmişdir ('sdo_num_res = 2' dən sonra).

Sütun takma adı dist obyekt ilə nöqtə arasındakı məsafəni saxlayır. (Geodeziya məlumatları üçün məsafə vahidi, geodeziya olmayan məlumatlar üçün sayğacdır, məsafə vahidi məlumatlarla əlaqəli vahiddir.)

Əlaqəli mövzular


1.7 Məkan Məlumatlarına Sorğu

Məkan cədvəlləri yaratdıqdan və yerləşdirdikdən, məkan metadatlarını yenilədikdən və məkan indeksləri yaratdıqdan sonra məkana əsaslanan sorğuların yerinə yetirilməsi üçün Oracle Locator operatorundan və funksiyalarından istifadə edə bilərsiniz. Bu bölmə bir mağazaya ən yaxın müştəriləri və mağazanın müəyyən bir məsafəsində olan bütün müştəriləri tapmaq üçün bəzi sualları göstərir.

Nümunə 1-5, STORE_ID dəyəri 101 olan mağazaya ən yaxın üç müştərini tapmaq üçün SQL ifadəsini və nəticəni göstərir. Bu nümunə SDO_NN ("ən yaxın qonşular") operatorunu istifadə edir.

Nümunə 1-5 Mağazaya ən yaxın müştərini tapmaq

/ * + Sifariş edilmiş * / ipucu, əvvəlcə STORES cədvəlinin axtarılmasını təmin edən optimallaşdırıcı üçün bir işarədir.

SDO_NN operatoru 101 mağazaya ən yaxın olan MÜŞTƏRİLƏR cədvəlindən olan müştərilərin SDO_NUM_RES dəyərini qaytarır. SDO_NN-ə ilk dəlil (nümunədəki c.cust_geo_location) axtarış üçün sütundur. SDO_NN-nin ikinci arqumenti (nümunədəki s.storeh_geo_location) ən yaxın qonşuları tapmaq istədiyiniz yerdir. Qaytarılmış nəticələrin sırası ilə bağlı heç bir fərziyyə edilməməlidir. Məsələn, qaytarılmış ilk sətrin 101 mağazaya ən yaxın müştəri olmasına zəmanət verilmir. İki və ya daha çox müştəri mağazadan bərabər məsafədədirsə, müştərilərdən biri SDO_NN-ə sonrakı zənglər zamanı geri qaytarıla bilər.

SDO_NUM_RES parametrindən istifadə etdikdə, WHERE müddəasında başqa heç bir məhdudiyyət istifadə olunmur. SDO_NUM_RES yalnız yaxınlığı nəzərə alır. Məsələn, NY-də yaşayan beş ən yaxın müştərini və NJ-də ən yaxın beş müştəridən dördünü istəməyiniz səbəbi ilə WHERE bəndinə bir kriter əlavə etsəniz, əvvəlki sorğu bir sətir qayıdırdı. Bu davranış SDO_NUM_RES parametrinə xasdır və nəticələri aradığınız olmaya bilər.

Nümunə 1-6, STORE_ID dəyəri 101 olan mağazaya ən yaxın üç müştərini tapmaq üçün SQL ifadəsini və nəticəni (oxunuş üçün yenidən biçimlənmiş) göstərərək və nəticəni məsafəyə görə (metrlə) sifariş edərək Nümunə 1-5-i genişləndirir. mağaza. Bu nümunədə SDO_NN_DISTANCE köməkçi operatoru istifadə olunur.

Nümunə 1-6 Mağazadan məsafəyə görə sifariş edilən ən yaxın müştərini tapmaq

SİPARİŞ BY bəndini istifadə edən məkan sorğuları ilə bu buraxılışda problem olduğu üçün MÜŞTƏRİLƏR cədvəlindəki məkan indeksinin istifadə olunmasına məcbur etmək üçün indeks (c customers_sidx) işarə tələb olunur.

SDO_NN_DISTANCE operatoru SDO_NN operatoruna köməkçi bir operatordur, yalnız SDO_NN operatoru daxilində istifadə edilə bilər. Bu operatorun arqumenti bu nümunədəki SDO_NN-in son arqumenti kimi göstərilən rəqəmlə uyğun gələn bir rəqəmdir. Bu arqument üçün gizli bir məna yoxdur, sadəcə bir etiketdir. SDO_NN_DISTANCE ilə nəticələri məsafəyə görə sifariş edə və qaytarılmış ilk sətirin ən yaxın olduğuna zəmanət verə bilərsiniz. Sorğu etdiyiniz məlumatlar uzunluq və enlik kimi saxlanılırsa, SDO_NN_DISTANCE üçün standart vahid metrdir.

SDO_NN operatoru, SDO_NN_DISTANCE tərəfindən qaytarılmış ölçü vahidini təyin edən bir vahid parametrinə malikdir, lakin bu nümunədə istifadə edilmir.

SİFARİŞ BY məsafə bəndində məsafələrin əvvəlcə ən qısa məsafədə olmaqla sırayla qayıtması təmin edilir.

Nümunə 1-7, STORE_ID dəyəri 101 olan mağazadan 100 mil məsafədəki bütün müştəriləri tapmaq üçün SQL ifadəsini və nəticəni göstərir. Bu nümunə SDO_WITHIN_DISTANCE operatorundan istifadə edir.

Nümunə 1-7 Mağazadan 100 mil məsafədə müştəri tapmaq

SDO_WITHIN_DISTANCE operatoru 101 nömrəli mağazadan 100 mil məsafədəki müştərilər cədvəlindən müştəriləri qaytarır. SDO_WITHIN_DISTANCE üçün ilk parametr (nümunədəki c.cust_geo_location) axtarış üçün sütundur. İkinci parametr (nümunədəki s.store_geo_location) məsafələri təyin etmək istədiyiniz yerdir. Qaytarılmış nəticələrin sırası ilə bağlı heç bir fərziyyə edilməməlidir. Məsələn, geri qaytarılan ilk sıra 101 mağazasına ən yaxın müştəri olmasına zəmanət verilmir.

Məsafə açar sözü məsafə dəyərini təyin edir (bu nümunədə 100).

Vahid açar sözü məsafə açar sözü üçün ölçü vahidini təyin edir. Varsayılan vahid, məlumatlarla əlaqəli ölçü vahididir. Uzunluq və enlik məlumatları üçün borc, metrdir, bu nümunədə mildir.


Zaman Seriyası Qrafının qurulması

Zaman seriyası qrafiki qurmaq üçün hər iki hissəmizə baxmalıyıq qoşulmuş məlumat dəsti. Standart Kartezyen koordinat sistemi ilə başlayırıq. Üfiqi ox tarix və ya zaman artımlarını qurmaq üçün, şaquli ox isə ölçdüyümüz dəyişənin dəyərlərini təyin etmək üçün istifadə olunur. Bunu edərək, qrafikdəki hər nöqtəni bir tarixə və ölçülmüş bir kəmiyyətə uyğunlaşdırırıq. Qrafadakı nöqtələr adətən baş verdikləri sırada düz xətlərlə birləşdirilir.


12 Cavablar 12

Hər hansı bir çoxbucaqlı (müntəzəm və ya olmayan) yalnız mütləq dəyərlər və polinomları əhatə edən bir tənliklə təsvir edilə bilər. Bunu necə edəcəyiniz barədə kiçik bir açıqlama.

Tutaq ki, $ C = <(x, y) in mathbb varsa $ C $ əyri $ f $ tənliyi ilə verilir.^ 2, , f (x, y) = 0 > $.

$ C_1 $ və $ C_2 $ müvafiq olaraq $ f_1 $ və $ f_2 $ tərəfindən verilirsə, $ C_1 fincan C_2 $ $ f_1 tərəfindən verilir. f_2 $ və $ C_1 cap C_2 $, $ f_1 ^ 2 + f_2 ^ 2 $ (və ya $ | f_1 | + | f_2 | $) tərəfindən verilir. Beləliklə, $ C_1 $ və $ C_2 $ mütləq dəyərlər və polinomları əhatə edən bir tənliklə təsvir edilə bilərsə, onda $ C_1 fincan C_2 $ və $ C_1 cap C_2 $.

If $C = <(x,y) in mathbb^2, , f(x,y) ge 0>$, then $C$ is given by the equation $|f|-f$.

Now, any segment $S$ can be described as $S = <(x,y) in mathbb^2, , a x + b y = c, , x_0 le x le x_1, , y_0 le y le y_1>$, which is given by a single equation by the above principles. And since union of segments also are given by an equation, you get the result.

EDIT : For the specific case of the octagon of radius $r$, if you denote $s = sin(pi/8)$, $c = cos(pi/8)$, then one segment is given by $|y| le rs$ and $x = rc$, for which an equation is

$f(x, y) = left||rs - |y|| - (rs - |y|) ight| + |x-rc| = 0$

So I think the octagon is given by

To get a general formula for a regular polygon of radius $r$ with $n$ sides, denote $c_n = cos(pi/n)$, $s_n = sin(pi/n)$ and

$f_n(x+iy) = left||rs_n - |y|| - (rs_n - |y|) ight| + |x-rc_n|$

then your polygon is given by

Depending on $n$, you can use symmetries to lower the degree a bit (as was done with $n = 8$).

Here's a parametric equation I have made for a regular $n$-gon, coded in R:

This equation is actually just the polar equation for the line through the point $(1,0)$ and $(cos(2pi/n),sin(2pi/n))$ which contains one of the edges. By restricting the range of the variable $ heta$ to the interval $[0,2pi/n[$, you will in fact just get that edge. Now, we want to replicate that edge by rotating it repeatedly through an angle $2pi/n$ to get the full polygon. But this can also be achieved by using the modulus function and reducing all angles to the interval $[0,2pi/n[$. This way, you get the polar equation I propose.

So, using polar plots and the modulo function, it's pretty easy to make regular $n$-gons.

Here is başqa parametric equation for a regular $n$-gon with unit radius:

$ başlayınx&=cosleft(frac ight)cosleft(frac(2lfloor u floor+1) ight)-(2u-2lfloor u floor-1)sinleft(frac ight)sinleft(frac(2lfloor u floor+1) ight)y&=cosleft(frac ight)sinleft(frac(2lfloor u floor+1) ight)+(2u-2lfloor u floor-1)sinleft(frac ight)cosleft(frac(2lfloor u floor+1) ight)end$

The provenance of this set is a bit more transparent if we switch to matrix-vector notation:

$ başlayıncosleft(frac(2lfloor u floor+1) ight)&-sinleft(frac(2lfloor u floor+1) ight)sinleft(frac(2lfloor u floor+1) ight)&cosleft(frac(2lfloor u floor+1) ight)end başlayıncosleft(frac ight)(2u-2lfloor u floor-1)sinleft(frac ight)end$

and we see that the construction involves rotating and copying the line segment joining the points $(cosleft(frac ight),pmsinleft(frac ight))$ $n$ times around a circle.

Here's sundry Riyaziyyat code:

The following is probably not in the spirit of the game, but what about a parametric equation? If we are willing to use complex numbers to represent points in the plane, we could use $z=texp(2pi ik/n) +(1-t)exp(2pi i(k+1)/n),qquad 0 le t<1,quad k=0, 1, dots, n-1$

When n' = n/2 and % is the modulus operator.

It would work just as well with cosecant as with secant.

Also the apothem would be 1 and the radius sec(-π/n).

$arcsin left(sin left(left[sin left(60cdot frac<180> ight)left(frac><3>cdot x+y ight),x ight] ight) ight)+left(frac<1><3> ight)cdot arcsin left(sin left(left[cos left(30cdot frac<180> ight)left(x-frac><3>y ight),y ight]cdot sqrt<3> ight) ight)=0$

I came up with this to plot a hexagon tessellation in desmos. the [list] funct "hides" the overlay . so it isn't really a single EQ. actually there was very little info on this. took me weeks. enjoy

Reposted from PolymathProgrammer.com, my answer to my own initial query. Generated mostly on my own after some initial help from a friend (Jason Schmurr) and my dad (Russell Gmirkin)

I believe I've solved my own inquiry. The following are functions that, when graphed in polar coordinates render lovely polygons.

In fact, I’ve got 3 versions (6 if you consider rotation a factor to either align a vertex or the midpoint of a side with $ heta=0$). One with circumradius = 1 (as vertices $ o infty$, polygons expand outward toward the circumscribed circle), one with apothem = 1 (as vertices $ o infty$, polygons collapse inward toward the inscribed circle) and one with the midpoint between circumradius & apothem = 1 (as vertices $ o infty$, both the maxima and minima, thus the circumscribed and inscribed circles, collapse toward that ‘midpoint radius’).

I’d be interested to know whether this approach, describing the radius of a polygon as a periodic function, has any precedent (has anyone else done this, or am I the first)? I’ve been working on this idea for some time (on and off for years), but just recently overcame some stumbling blocks with a little help from a friend and my dad. Most of the legwork was my own, though.

The relatively final form(s) appear to be:

(n-gon, circumradius=1, unrotated)
1/(((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[(v*x)/4]]+((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(Pi/2)]]-((Sec[pi/v]-1)/(Sec[Pi/4]-1))+1)

(n-gon, circumradius=1, rotated $-pi/4$)
1/(((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(Pi/4)]]+((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(3Pi/4)]]-((Sec[pi/v]-1)/(Sec[Pi/4]-1))+1)

(n-gon, function centered around unit circle, unrotated)
((Sec[Pi/v]+1)/2)/(((Sec[Pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)]]+((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(Pi/2)]]-((Sec[pi/v]-1)/(Sec[Pi/4]-1))+1)

(n-gon, function centered around unit circle, rotated $-pi/4$)
((Sec[Pi/v]+1)/2)/(((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(Pi/4)]]+((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(3Pi/4)]]-((Sec[pi/v]-1)/(Sec[Pi/4]-1))+1)

(n-gon, apothem=1, unrotated)
Sec[Pi/v]/(((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[(v*x)/4]]+((Sec[pi/v]-1)/(Sec[Pi/4]-1))Abs[Cos[((v*x)/4)-(Pi/2)]]-((Sec[pi/v]-1)/(Sec[Pi/4]-1))+1)

Don’t know whether they simplify at all to something less complicated… Even if not, they’re beauties!

If it's a unique solution and I'm first to it, I submit these as the Gmirkin Polygon Radius Function(s) (or some suitably nifty sounding name that’s not too cumbersome). *Smile* Heh.

I may write them up formally for publication at some point, once a few previous engagements clear up, assuming they’ve not previously been published or some directly correlated function has already been published elsewhere. (If so, I’d like to know when, where and by whom for academic curiosity’s sake.)

It is my belief that a similar function exists for describing 3D Polyhedrons of some description(s). Though, I have not yet even attempted such a case and will probably stick to 2D cases for now. I can also tell you that if you vary the phase shift of the denominator [Abs[Cos[]]] terms by differing amounts (though not both by some multiple of $pi/4$, $pi/2$, etc.), you can also reproduce rectangles, isosceles triangles, etc. In some cases you can also generate diamond shapes by varying some other parameters. It's s surprisingly robust solution, as I'd hoped. Lord knows it's taken me a few years of false starts to get at the correct combination of functions. Though, I learned plenty along the way, much of which helped me generalize to all polygons from the square case a friend solved at my behest a week or two ago.

Here's hoping this is an interesting, unique new solution that's viable and notable. (One can hope!)

Sorry the post is a bit lengthy. )

Sorry. Jumped the gun slightly.

I retract the above equations. At the behest of someone on another site, I checked in Wolfram Alpha at a few data points. While it appears to work for the Square case (where the coefficients and corrective term basically cancel out), it doesn't work for other cases, but is slightly off. I think I've got the coefficients wrong. Will have to poke around a bit more in the maths to see if it's possible to get a technically correct exact solution.

The graphs were so close as to fool me into thinking they were exact for all cases. Will get back to you if/when I get a technically correct solution. 'Til then. I still believe there is a valid function, since the Square case is technically correct @ 1/(Abs[Sin(x)]+Abs[Cos[x]]) or 1/(Abs[Cos[x]]+[Abs[Cos[x-(Pi/2)]]]) . Just need the technically correct coefficient. will work on it as I've got some time. But, for now, the incorrect versions are darned close! o) Enough to fool most people (including me, apparently).


Videoya baxın: normal distribution problems: z-score. Probability and Statistics. Khan Academy (Oktyabr 2021).