.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_auto_examples/gjk/plot_cylinder.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr__auto_examples_gjk_plot_cylinder.py: =================================== Distance between cylinders with GJK =================================== .. GENERATED FROM PYTHON SOURCE LINES 6-42 .. image-sg:: /_auto_examples/gjk/images/sphx_glr_plot_cylinder_001.png :alt: plot cylinder :srcset: /_auto_examples/gjk/images/sphx_glr_plot_cylinder_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none 2.243039428954227 0.8031517821069004 1.1400393856945301 0.8862269867562075 1.2529675455514613 0.0 0.0 0.5262912523636525 0.0 0.0 0.0 0.688494793612655 0.6416075186352608 0.5808560952159204 1.7408297515211661 0.0 0.0 1.191645797033626 0.0 1.9067076162870764 0.0 0.03043809915368195 0.2752463350178348 1.0783138825784206 0.0 1.3696943993974644 1.5817052518866848 0.2852468334367853 0.085785186392964 0.7081828713609788 0.0 1.220496170527859 1.0799553416753063 0.0 0.0 0.3662992264089779 0.06841623683487619 0.0 0.2479886091613126 0.20471011477162254 1.3726601485647212 0.0 0.6985981676693663 1.5687823247292634 0.5033137610002604 0.7320375113136813 0.8672940222760427 1.7088396597687754 0.0 0.0 0.811896655627643 1.1014637572366377 0.1320454298964189 0.0 0.8206494328267133 0.39672811099796673 0.0 0.6664318363882222 0.3803913447505262 0.6489097597368203 0.0 0.0768817581307835 0.0 0.0 1.140840278310309 1.2639193680707355 0.39452071204907396 1.2192482355904428 0.5165897422986079 0.29398412069664065 0.0 2.6606364595945746 0.0 0.0 0.8515311709904217 0.0 1.4155795691990882 0.41511444589676366 0.7792333409732023 0.8516708423608346 0.37525249830622465 0.7270673931437908 0.0 0.0 0.37240511847999946 0.0 0.10401481866075055 0.7407246744104813 0.2145191735174021 1.84669888043735 0.4306303492991331 0.3959953139200664 0.7642781677144157 0.4622855766625065 0.752553496768473 0.07363530224497417 2.746806560335343 0.0 0.06213470694391426 1.3402950447576236 0.07239748739741987 0.0 2.160293377728325 0.0 0.20373340108619703 0.4684289985469653 0.0 0.0 0.0 0.0 0.0 0.0 1.4392148631242687 0.0 0.0 0.5153175513641731 0.5274261729668853 0.769176589647558 0.0 0.951362763406929 0.07619304778500981 0.012095108881293844 0.0 0.08342373241837887 0.36905893076263335 0.33326818465083075 0.30767434315222264 0.9613248260037087 1.2387994123348927 0.38968600140413723 0.0 1.2900468837000814 0.0 1.01151043885688 0.0 0.35266519940515967 0.0 1.4265358114217919 0.9894454643935858 0.11421773094202806 0.0 0.32610150920782127 0.0 0.6011495108835592 0.0 0.0 0.0 1.084051403632885 0.8148057615321669 1.3330515933172393 0.032171594038015595 0.6656277721397781 0.3475397004248041 0.6960399953472544 0.7234022748301985 1.1961286236550388 0.0 0.0 0.0 0.0 0.31698530028113253 0.0 0.0 0.0 0.5919918147135993 0.9284727463132141 0.0 0.14001354550092587 0.04406346621197805 0.19200336601491583 0.0 0.5027639789818819 0.8649137296255843 0.0 0.0 0.0 0.0 0.7706876639024581 0.4433408553951782 0.0 0.0 0.0 0.0 1.3479135216367135 0.6107311939922184 0.5093123547201764 0.0 0.0 0.0 1.3680253729473162 1.1616874965747057 0.21212896690518412 1.4683930195361397 1.6479808895235892 0.0 0.47769680529467134 0.6217230013380715 0.5328242804853904 1.2742274694752724 0.12706274811870755 0.0 0.0 0.28907891852265105 0.22451282592138133 0.17234281406507024 0.0 0.0 0.2728395422848766 0.7043107537384924 0.3241198637116215 0.8190328704455986 0.8628411531323079 0.7478586048211605 0.4709212474789179 0.0 0.0 0.29781918971087773 0.7616494664902297 0.5579182528996969 0.18110498574644288 0.1761248619579476 0.6469001659736641 0.9242370087074946 0.23466110758618297 2.6731801257480674 0.0014756690234401094 1.8714814989158715 0.37469277244353555 0.5662840314892891 0.7199037352602218 1.1543923555151079 0.2600766055186461 1.1779820814029855 0.6641775694170162 0.0 0.23117723644459973 0.0 0.21647850653129003 0.9375316904759793 1.7025510338640133 0.9220790588512746 0.29651931672055293 0.0 0.24967607068158634 0.0 0.4201204739046133 0.0 0.0 2.015977999198685 0.0 1.719538831955502 0.0 0.5433222087115298 0.043887574762519685 0.46937808281714044 0.23733721914534076 0.321054837524951 0.6507014792663098 0.5253879257348566 0.08363817756722346 1.5954136508022994 0.0 2.2299111685325634 0.0 0.258241116802342 1.4707553958671875 0.13329286134376414 0.8395029175128067 0.0 0.0 1.760316730827065 0.4661897163167875 0.41154976345922034 0.5691365346749314 0.5932417296311885 0.39966983383987686 0.8535754599554791 0.057324309049736615 0.3852810335416515 0.9732012024615934 0.3265441680971805 0.0 0.1858900262326097 0.0 0.9539651201993729 0.0 0.0 1.0788025449426193 1.999577239545798 0.04612287375003593 0.5998598945513789 1.38883685948744 0.0 1.4062169567256586 0.738891223143216 0.0 0.8241697802975834 0.0 2.8079012125322325 0.0 0.0 1.129043500142341 1.4048861009465599 0.0 1.25053666384015 0.0 0.6196248824228193 1.095273815825558 1.713751098949962 1.64283153551242 1.0871997222351248 0.05341934581125498 0.0 0.3232580574754631 1.0775154276987031 0.6913525862695479 2.606411824354114 0.32658848686695785 0.32870369577980546 0.599052770266104 0.7298878013517346 0.5964326304404732 0.01454075824982643 0.0 1.5039591636543816 0.8426613449127573 0.0 0.0007201780034060427 0.4773709419862955 0.7758871270930555 0.0 0.8085725131243653 0.4031596893486165 0.0783674476550123 2.234420576481652 0.9717072217992587 0.34790334934415806 0.31287119273299474 1.4491449014425344 0.1766197545607033 0.0 0.6405798585398168 0.281266238627121 0.0 0.11432363258703931 0.09490705768866879 0.0 0.25854254791022824 0.33814749260883425 0.09302757237663344 0.0 0.3925204770631554 0.0 0.7573444976517337 0.0 0.0 0.49106049891722736 0.7445012232685237 0.6781164869822831 0.0 0.16896774289513833 1.3609192553375324 0.4479324950130501 0.0 0.0 1.010929976719168 0.9476235630397758 0.5575997453356734 0.6108267134739912 0.9036740693809595 0.0 0.0 0.0 0.0 0.9861396503912261 0.0 0.32892011005680194 0.3875682401407856 0.0 0.0 1.1209599471323795 0.654212328887117 1.296327067427372 0.0 0.0 1.740584469990925 0.24356975742214468 0.0 0.9363833060479544 0.7403679936160749 1.0669853171301622 0.0 0.0 0.5765204210858351 0.1648639316075842 0.0 0.28138875278310194 1.158200191513105 0.5462433160965375 0.5186684760156374 0.0 0.8635368517642356 0.0602585791812444 0.36167521461485774 0.0 0.0 2.562642185910511 1.0195840252222406 0.2963374751126669 0.6279525390616768 0.0 0.0 0.24142235980549595 0.879219943140814 0.024175291913419276 0.0 0.0 0.26148082533403305 0.5315492834442146 0.0 0.1737710265605459 1.0756561190512655 0.3792110710963829 0.0 0.6867388027722143 2.8750744948662583 1.305329130830089 0.0 0.6661488615297346 1.5877537627415164 0.32352327507585993 0.2996160233256923 0.0 1.7321374345817266 0.019091849028436178 1.6234442363498924 0.0 0.0550936604080115 0.13203397728515537 1.6246932551971587 0.7065944679391614 0.735680574296781 1.0160606841537203 1.3891387133207265 1.1598056328962298 0.8783729497658584 0.38798413375782015 0.7512965680733309 0.04608753100482278 1.6266017965046047 0.3512082237643449 1.3321525200179527 1.60562218456344 0.5849928604711724 1.5612641259184654 0.36532610753357564 0.09598378366731326 0.053379091523302696 0.0 0.6297362520225724 0.9077390569964234 1.0422247814642873 1.2871775462155886 1.6649185452288633 0.0 0.5453451811126502 0.24754311735021256 0.27840566142433726 0.0 0.2899039581127683 0.6352626538998115 1.5009195723804563 1.2051541322254227 0.3771719245836018 0.0 0.004812883975500035 0.2805620460404174 0.19777829196876517 0.17852714658943847 0.7974015629641473 1.05255383455709 0.17974055798473976 0.0 0.10779295155197118 1.0896660191119858 0.7147645910299476 0.0 0.19610960939463046 0.07049418466147916 0.0 0.0 0.0 0.0 0.0 0.15311243635656763 0.26975090775349575 1.2790130525190058 1.0037350435765786 0.5233173308587028 0.10838773407617176 1.231078132350518 0.0 0.5454859744508596 0.12656285485293592 0.19835977492303253 0.0 0.10388290350652067 0.5721258415841963 0.0 1.1893017994741786 0.0 1.3231943907123238 0.0 0.07734068634312732 0.01552866468090633 0.35422725168712094 2.259983162847468 2.136456076038549 0.15192405909136203 1.298458057657716 1.1371101955239773 0.8249329879200389 0.10870595318264613 0.0 0.0 1.3364541352474923 0.8899030748284743 0.026237719667029483 0.0 0.0 0.0 0.9586306431706844 0.10210899361450855 0.0 0.21494145342515145 1.5585528591162081 0.34305782098479287 0.0 0.8865261474778962 0.946996661698826 1.26348097573768 0.9052256397330953 1.4094115503439113 0.5611754624050141 2.3350786651556454 0.0 0.0 0.0 1.1500461386757914 0.16778988493819752 0.8809485188397094 0.0 1.388117729302691 0.3349894271053928 0.0 0.710466870378992 0.7405665479498494 1.3552759414449966 1.9736581729698475 0.6813923675628427 0.0 2.1249588775839974 0.6179962334789093 0.0 0.2880626144149519 0.09080799040734708 0.0012955022959829335 0.6860547783706644 0.0 1.8227507267079446 0.11564197851711247 1.459840395084628 0.0 1.188323752799217 0.2596079693127412 0.6340384738625572 0.0 0.5203612320054444 1.3410510780078801 0.5325310639419317 0.10506464425858288 0.2970768991981773 0.30229510233855916 0.6336379777646625 0.0418631389421897 1.197138751142492 0.8757141517110313 0.34013004248322 0.0 0.7919244248006471 0.0 0.2273418621780592 0.715986149446374 0.1804583136663782 0.7570164447987365 2.0620233839171966 0.0 0.0 0.0 0.0 1.1543528164705024 0.4739729598513023 0.6723483287281753 0.6454923227765708 0.0 0.6526245399991798 0.7105232988355947 0.0 0.057136816831562534 0.0 0.0 1.5775959955220067 0.06850368295615937 0.0 1.3542762340727357 0.11617093665649252 0.005848588100609596 2.0261725869364917 1.3616285770192114 0.0 0.07287764447061043 0.0 0.0 0.6404829800749454 0.0 0.0 1.276063974235803 0.0 0.6338214360145001 1.2129482783425847 1.0600398230804713 2.567848954380723 1.0927918502491218 0.0 1.7571956622246894 0.0 0.2505349198433121 1.5739342706573818 0.0 0.0 0.0 0.0 0.0 0.0 0.15523512209095564 0.0 0.8205928268602594 0.0 1.5442003426120527 0.8275106395323842 0.003460411740093321 1.1957441530749355 0.022173991878308572 0.2643683776338305 0.0 0.681986055272348 1.0658328191809616 0.0 0.4776733524295989 1.096711066732586 0.0 0.0 0.0 0.0 0.0 0.7666367352773519 0.878111080103272 0.0 0.0 0.5966622664727776 0.30208577000924763 0.22859606200838375 0.0 0.0 0.0 0.0 1.235898664289881 0.9957529544985084 0.0 0.0 0.30304437240335963 0.5233637209386229 1.1900498562096151 1.4450826716472545 0.0 0.0 1.1657805745800895 0.0 0.0 2.162507715215035 0.4943097518651862 0.0 0.0 0.964608332086741 0.0 0.0 0.6494675115580235 0.0 1.341221595869621 0.4186899125914839 accumulated_time=0.11375904083251953 | .. code-block:: default print(__doc__) import time import numpy as np import matplotlib.pyplot as plt import pytransform3d.plot_utils as ppu from distance3d import gjk, colliders from distance3d import random from distance3d import plotting random_state = np.random.RandomState(1) cylinder2origin, radius, length = random.rand_cylinder(random_state, 0.5, 1.0, 0.0) ax = ppu.make_3d_axis(ax_s=2) accumulated_time = 0.0 for i in range(700): cylinder2origin2, radius2, length2 = random.rand_cylinder(random_state) start = time.time() c1 = colliders.Cylinder(cylinder2origin, radius, length) c2 = colliders.Cylinder(cylinder2origin2, radius2, length2) dist, closest_point_cylinder, closest_point_cylinder2, _ = gjk.gjk(c1, c2) end = time.time() accumulated_time += end - start print(dist) if i > 5: continue plotting.plot_segment( ax, closest_point_cylinder, closest_point_cylinder2, c="k", lw=1) ppu.plot_cylinder(ax, A2B=cylinder2origin2, radius=radius2, length=length2, wireframe=False, color="b", alpha=0.2) print(f"{accumulated_time=}") ppu.plot_cylinder(ax, A2B=cylinder2origin, radius=radius, length=length, wireframe=False, alpha=0.5) plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.411 seconds) .. _sphx_glr_download__auto_examples_gjk_plot_cylinder.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_cylinder.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_cylinder.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_