浅谈三维场景之飞行
在实际应用中总会遇到需要将视角转换到某个位置的情况。Scene里面也提供了相应的方法来实现。Scene. Fly方法提供了几种不同的回调方法,以满足不同的需求。但是由于其他原因的考虑,有些方法在产品的发展过程中废弃了。下面从SuperMap 9D来先整理一下那些方法是可用的,那些是过时的:
(1)可用:
Fly (Camera camera);根据指定的目标相机对象进行飞行。
Fly (LookAt lookat);根据指定的目标相机对象进行飞行。
Fly(Camera camera, int milliseconds); 根据指定的目标对象和飞行时间进行飞行。
Fly(LookAt lookAt, uint millisceonds); 根据指定的目标对象和飞行时间进行飞行。
FlyCircle(Geometry geometry, double speedRatio); 围绕指定地点旋转飞行模式,飞行过程中可以控制飞行的速度。
(2)不可用:
Fly(Camera camera, bool isDirect); 直接飞行过去还是先拉起再飞行过去
Fly(Geometry targetObject, int milliseconds); 根据指定的目标对象和飞行时间进行飞行。
Fly(Geometry targetObject, FlyingMode flyingMode); 根据指定的飞行模式和目标对象进行飞行。
Fly(Camera camera, int milliseconds, bool isDirect); 直接飞行过去还是先拉起再飞行过去
FlyPlay(Geometry line, double speedRatio, double distance); 沿线飞行模式,可以控制飞行速度和高度
其中有一个方法被废弃了,就是Fly(Camera camera, bool isDirect);根据指定的目标相机对象和飞行时间以先拉起再飞行过去的方式进行飞行。但是实际使用中是经常遇到需要先拉高再飞到某位置的情况,今天主要就讲一下如何实现它。
实现步骤:
(1)由起点和终点位置,根据需求确定一个中间高点,这里采用最简单的方案,直接将两点直接的直线距离作为高点的高程值,高点在两点之间的中间。这样就可以根据三个点确定一条三维线。
Point3D startpoint3d = new Point3D(current_camera.Longitude, current_camera.Latitude, current_camera.Altitude); Point3D endpoint3d = new Point3D(camera.Longitude, camera.Latitude, camera.Altitude); Point3D point3d = new Point3D((startpoint3d.X + endpoint3d.X) / 2, (startpoint3d.Y + endpoint3d.Y) / 2, 0); if (current_camera.Altitude > camera.Altitude) { point3d.Z = current_camera.Altitude + distance; } else { point3d.Z = camera.Altitude + distance; } Point3Ds pt3ds = new Point3Ds(); pt3ds.Add(startpoint3d); pt3ds.Add(point3d); pt3ds.Add(endpoint3d); GeoLine3D GeodesicLine3d = new GeoLine3D(pt3ds);
(2)构建三维线后用飞行管理器来实现,即先将三维线转为路线,用FlyManager进行飞行。 Route route = new Route(); route.FromGeoLine3D(GeodesicLine3d); for (int i = 0; i < route.Stops.Count; i++) { RouteStop routestop = route.Stops[i]; Camera cc = routestop.Camera; cc.Tilt = 0; routestop.Camera = cc; } RouteStop routestopend = new RouteStop(); routestopend.Camera = camera; route.Stops.Add(routestopend); route.IsLinesVisible = false; route.IsStopsVisible = false; FlyManager flyManager = new FlyManager(); flyManager.Scene = sceneControl.Scene; flyManager.Routes.Clear(); flyManager.Routes.Add(route); flyManager.Duration = millisceonds; flyManager.Play();
具体代码可以参考静态类:SceneFly. Fly(Scene scene, Camera camera, int millisceonds)
<”param name=”scene”>场景
<”param name=”camera”>目标相机对象
<”param name=”millisceonds”>相机飞行到指定目的地所耗费的时间。单位为秒。
链接: https://pan.baidu.com/s/1jIvinX0
密码:8jrh
推荐文章:
新一代三维GIS技术>>
上一篇:SuperMap iClient 9D for OpenLayers 快…
下一篇:SuperMap GIS 9D SP1新特性速览
相关资源
- 宋关福:GIS软件技术四大升维带来全新应用价值
- GIS技术升维,赋能军事应用再上新台阶
- 郭仁忠院士:GIS是智慧城市的操作系统
- 深圳大学与超图集团签订智慧城市操作系统研发合作协议
- 2018 GIS 软件技术大会倒计时6天
- 国际政府考察团赴超图调研
augmentin 1000mg us levoxyl over the counter buy clomiphene online cheap
buy generic lexapro for sale revia 50mg sale cheap revia 50mg
buy furosemide 40mg pills buy doxycycline 200mg online cheap albuterol tablet
strattera for sale quetiapine 50mg drug purchase sertraline generic
buy ursodiol cheap buy ursodiol for sale order generic zyrtec 5mg
buy generic azithromycin for sale azithromycin 500mg uk buy neurontin online
best heartburn medicine 2021 fast acting antacid otc prescription medicine for flatulence
buy deltasone online cheap accutane 10mg cost cheap generic amoxil
birth control pills at walmart how much does the birth control patch cost best thing for premature ejeculation
generic promethazine order promethazine 25mg pill ivermectin lotion 0.5
what causes gastric erosion dyspepsia diagnostic tests online what kind of antibiotics are prescribed for uti
best vitamin for toenail fungus blood pressure medication equivalent chart types of blood pressure medications
cymbalta 40mg generic provigil 200mg price provigil tablet
antiviral drugs list where can i buy inhalers help with diabetic drug cost
buy cheap generic cyproheptadine nizoral where to buy buy generic nizoral for sale
quit smoking medication list buy online medication site strong painkillers online sale
provera 10mg uk medroxyprogesterone 5mg over the counter hydrochlorothiazide order
super strong sleeping pills drugs that cause hari loss good weight loss supplements gnc
buy cheap femara order albendazole 400mg generic generic aripiprazole
purchase uroxatral generic can ibuprofen help stomach ache best over the counter heartburn
purchase minomycin pill buy minocycline 100mg sale order requip
As the emerging technology sector flourishes and new innovation appears, there have become several new ways to stake crypto, which include group staking, cold staking, and more. Some cryptocurrency exchanges have begun to roll out ways of staking coins on their platforms. Crypto staking is a source of much confusion. Questions like “is staking crypto worth it?”, or “is staking crypto safe?” are all over online crypto forums. It’s a puzzling mechanism, and it’s a good sign that people are willing to learn and understand it better. And so, today, this confusion ends, because I’m here to explain things! Crypto staking is an innovative way to earn passive income from cryptocurrencies. It offers a great opportunity for cryptocurrency investors to make money without having to actively trade or mine.
https://www.play-bookmarks.win/worth-bitcoin-may-accept-cryptocurrency-payment
Powering commercial grade rates at 300+ companies worldwide Make sure you have the amount required for the exchange and send crypto to the wallet address you see on the screen. – Fund your account – Make a deposit or buy crypto with your credit or debit card Calculate Bitcoin mining profit using one of these Bitcoin miners. Select or click a miner to have the inputs preloaded automatically. Then simply click the “Calculate Mining Profit” above. With our fast, reliable, and simple converter, you can easily get Monero for Bitcoin at a good rate. The cryptocurrency market is open 24 7 but it’s still good to know when regions and markets are active. Use our market time converter to see when markets wake up and become active. Arranging a face-to-face meeting with the local buyer to you is a fast and reliable way to exchange your currency depending on the current BTC price.
strongest topical body acne medication buy oxcarbazepine for sale buy trileptal for sale
brand clonidine 0.1mg buy catapres tablets spiriva 9mcg us
rocaltrol brand fenofibrate without prescription fenofibrate 200mg pills
trimox pill order arimidex purchase macrobid generic
academia writing best online gambling poker online best
order essays online dissertation experts buy generic cefixime online
order aspirin online gamble with real money online free online poker games
buy terbinafine 250mg sale online gambling casinos real casino games
cefuroxime online order order ceftin 250mg pills buy robaxin 500mg pill
order tadacip for sale indocin usa buy indocin generic
order nolvadex 10mg online buy tamoxifen 10mg pills buy symbicort inhalers for sale
order retin cream without prescription buy tadalis cheap stendra
cleocin 150mg pill sildenafil over the counter sildenafil 50mg us
buy lamictal 50mg generic minipress 1mg for sale mebendazole buy online
generic metronidazole 200mg buy cheap generic septra order generic keflex
order fluconazole without prescription buy cipro pills for sale order cipro 1000mg generic
buy sildenafil sildalis brand how to get estradiol without a prescription
order aldactone online oral valtrex propecia 1mg for sale
need essay written buy an essay cheap help writing a paper
buy tamsulosin 0.4mg sale buy simvastatin 10mg sale zocor drug
order motilium generic order domperidone pill tetracycline 250mg for sale
zantac sale celecoxib without prescription celecoxib 100mg tablet
buspin tablet buspar online buy cordarone without prescription
buy generic sumatriptan 25mg levofloxacin for sale avodart 0.5mg pills
buy generic zyloprim crestor over the counter purchase crestor generic
esomeprazole 20mg cost mirtazapine ca buy topamax 100mg pills
buy famotidine 20mg online prograf pills tacrolimus buy online
azelastine drug order zovirax buy avapro 150mg pill
buy warfarin 2mg online maxolon without prescription order reglan 20mg pill
orlistat uk xenical pills purchase diltiazem pills
buy pamelor medication order methotrexate 10mg without prescription order acetaminophen pills
inderal oral brand propranolol plavix 150mg without prescription
fosamax sale alendronate where to buy macrodantin online
order glimepiride online cheap arcoxia price cost arcoxia 120mg
purchase ozobax amitriptyline ca buy toradol pill
buy ozobax online baclofen 10mg ca ketorolac drug
buy loratadine 10mg online ramipril 5mg brand dapoxetine 90mg canada
2st bonusový kód: MOBJUMMAZ16 na mobilu Zákony o hazardních hrách v Německu jsou rozhodně jedinečné, aniž byste museli zabírat místo v zařízení. Totéž lze říci o hrách keno, BoVegas není jediné renomované online kasino s vynikající nabídkou online slotů. Sázková kancelář William Hill patří k největším ve Velké Británii, kde mají sportovní sázky tradici dlouhou desítky let. Bohužel tato společnost nevlastní českou licenci na provozování online sázek a tudíž nepřijímá české zákazníky. Zavedené provozovatelé online kasin může trvat delší pohled na úspěch, než začnete hrát. Staroegyptské pyramidy mají v sobě mnoho pokladů, abyste věděli.
https://www.pure-bookmark.win/holdem-manager-2
Casino bonusy dnesFree spiny zadarmoBonus za registráciuBonusy bez vkladuVšetky bonusyBonusové kódyPeniaze zadarmoZahraničné bonusy Mnoha hráčům se zalíbily Starburst free spins od Fortune Clock. Přitom 50 free spins Starburst no deposit nabízí i casino Slottica. Zde si máte možnost přečíst komplexní recenzi online casina Slottica Casino. Někdy můžete narazit i na 20 free spins Starburst no deposit, ale nejedná se o pravidelnou akci. Freespiny mají různé podoby a velikosti, takže je důležité vědět, na co si dát pozor při výběru bonusu za roztočení zdarma. Níže naleznete tři hlavní no deposit bonus free spins: royalkrálovský Díky publikovaným informacím naši čtenáři rychle objeví ty nejvýhodnější casino bonusy a snadno najdou odpovědi na většinu problémů či otázek, které souvisí s problematikou online casin.
order dilantin 100mg online buy oxytrol generic buy oxybutynin 2.5mg sale
order perindopril 4mg desloratadine us fexofenadine cost
buy levitra without a prescription buy vardenafil pill zanaflex cost
order serophene generic order imuran 50mg pill buy imuran online
methylprednisolone medicine medrol 8 mg otc order aristocort 10mg without prescription
blackjack game buy augmentin 375mg online buy synthroid pills
play casino games for cash stromectol order ivermectin 90 mg
symmetrel pill atenolol 50mg uk avlosulfon 100mg sale
online blackjack with friends order ventolin pill albuterol 4mg tablet
pantoprazole 20mg pill protonix 40mg usa buy phenazopyridine online
online blackjack real money furosemide oral lasix 40mg price
azithromycin pills buy gabapentin generic order neurontin 600mg
lipitor 40mg cheap atorvastatin 10mg pills amlodipine buy online
accutane pill order isotretinoin 20mg generic order azithromycin
order omnicef order glycomet 1000mg pill order prevacid 15mg online cheap
order cenforce 100mg purchase naprosyn for sale order generic chloroquine
tadalafil cost tadalafil 20mg uk viagra 50mg canada
buy generic telmisartan 80mg buy plaquenil generic cost molnunat
premarin medication buy dostinex 0.25mg for sale buy sildenafil 100mg sale
brand omeprazole lopressor 50mg usa cheap lopressor 50mg
buy betahistine generic order probenecid 500mg online buy benemid 500 mg generic
zovirax drug latanoprost cheap buy exelon 3mg generic
order enalapril online cheap duphalac buy duphalac online
mestinon 60 mg uk mestinon generic maxalt 10mg canada
order ferrous generic order generic ascorbic acid 500 mg buy betapace no prescription
etodolac 600 mg cheap order colospa pills cilostazol cheap
purchase prasugrel online thorazine 100mg cheap detrol 2mg generic
buy florinef medication rabeprazole online loperamide pill
dydrogesterone medication jardiance ca empagliflozin 25mg pills
order meloset sale order danazol 100mg generic buy cheap danazol
aspirin 75 mg price hydroquinone usa buy generic imiquimod over the counter
precose cheap repaglinide 2mg uk buy griseofulvin 250mg generic
purchase minoxidil solution tamsulosin 0.4mg us ed pills otc
tadalafil 10mg uk tadalafil 5mg oral order viagra pill
buy zaditor medication doxepin 25mg over the counter order generic imipramine
buy fenofibrate 200mg online buy tricor 200mg generic order generic tricor 160mg