標籤: 銷售文案

  • 研究:全球礁鯊數量銳減 部分海域已絕跡

    摘錄自2020年7月22日中央社報導

    22日發布在科學期刊「自然」(Nature)的一份調查,首度全面了解全球哪裡的礁鯊實際上已滅絕。這份調查為期四年,在近60個國家超過370個暗礁海域進行研究。

    加拿大達爾豪希大學(Dalhousie University)副教授麥克尼爾(Aaron MacNeil)表示:「我們原本預期……地球上每個暗礁海域應該都有鯊魚出沒,結果發現我們調查的海域中,有20%沒有任何鯊魚,這令人非常擔心。」

    調查顯示,在卡達、印度、越南及肯亞等八個國家的暗礁海域,完全找不到鯊魚。這不代表這些國家的海域沒有鯊魚,但證明當地暗礁海域的鯊魚數量少得可憐。這表示礁鯊在當地生態系統已失去任何角色,也就是牠們已經功能性滅絕。

    研究指出,破壞性的捕魚活動最可能是礁鯊數量大減罪魁禍首。「使用流刺網和延繩捕魚,對原本數量相對豐沛的礁鯊帶來最大負面影響。」

    生物多樣性
    物種保育
    土地利用
    農林漁牧業
    國際新聞
    全球
    鯊魚
    暗礁
    滅絕
    捕魚
    生態系統
    流刺網
    延繩釣

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

    南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

    ※教你寫出一流的銷售文案?

    ※超省錢租車方案

  • 印尼帝汶島海灘驚現大鯨魚屍體

    摘錄自2020年7月24日法廣印尼報導

    印度尼西亞南部帝汶島沙灘附近,發現了一具上百噸重大鯨魚的屍體。當局目前還沒搞懂這頭大型哺乳動物的死因。

    當地漁民是在20日早上發現這具長達29米的大鯨魚。海事當局認為這頭海洋生物已有70歲,無生命的漂移,可能已長達數年之久。死因則尚無定論。其屍體上沒有發現任何傷痕,但當地媒體提到了上一個的案例。

    2018年,另一頭鯨魚曾擱淺在附近的另個小島Kapota。那頭鯨魚的胃裡發現了眾多塑膠垃圾:115個塑膠杯,還有4個塑膠瓶。這一發現讓人感到震驚,儘管這最終並沒有被確定是造成大鯨魚死亡的原因,但已足以引起科學界的重視。

    生物多樣性
    海洋
    國際新聞
    印尼
    鯨魚
    海洋垃圾

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    南投搬家公司費用需注意的眉眉角角,別等搬了再說!

    ※教你寫出一流的銷售文案?

  • 東北印有權有勢「黑手黨」 藉非法伐木撕裂犀鳥棲地

    環境資訊中心綜合外電;黃鈺婷 翻譯;林大利 審校;稿源:Mongabay

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※別再煩惱如何寫文案,掌握八大原則!

    ※教你寫出一流的銷售文案?

    ※超省錢租車方案

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

  • Redis學習筆記(十八) 集群(下)

    Redis學習筆記(十八) 集群(下)

    複製和故障轉移

    Redis集群中的節點分為主節點(master)和從節點(slave),其中主節點用於處理槽,而從節點則用於複製某個主節點,並在被複制 的主節點下線時,代替下線主節點繼續處理命令請求。

    設置從節點:CLUSTER REPLICATE < node_id >可以讓接收命令的節點稱為node_id 所指定節點的從節點,並開始對主節點進行複製。

    1)接收到該命令的節點首先會在自己的clusterState.nodes字典中找到node_id所對應節點的clusterNode結構,並將自己的clusterState.myself.slaveof指針指向這個結構,以此來記錄這個節點正在複製的主節點:

    struct clusterNode{
        //如果這個時一個從節點,那麼指向主節點
        struct clusterNode *slaveof;
    }

    2)節點修改自己的clusterState.myself.flags中的屬性,關閉原本的REDIS_NODE_MASTER標識,打開REDIS_NODE_SLAVE標識,標識這個節點已經由原來的主節點變成了從節點。

    3)節點會調用複製代碼,根據clusterState.myself.slaveof指向clusterNode結構所保存的IP地址和端口號,對節點進行複製。

    一個節點稱為從節點,並開始複製某個主節點這一信息會通過消息發送給集群中的其他節點,最終集群中的所有節點都會知道某個從節點正在複製某個主節點。

    集群中的所有節點都會在代表主節點的clusterNode結構的slaves屬性和numslaves屬性中記錄正在複製這個主節點的從節點名單:

    struct clusterNode{
        //正在複製這個主節點的從節點數量
        int numslaves;
        //數組,每個數組項指向一個正在複製這個主節點的從節點的clusterNode
        struct clusterNode **slaves;
    }

    集群中的每個節點都會定期地向集群中的其他節點發送PING消息,一次來檢測對方是否在線,如果接收PING消息的節點沒有在規定的時間內,向發送PING消息的節點返回PONG消息,那麼發送PING消息的節點就會將階段后PING消息的節點標記為疑似下線(PFAIL)。

    集群中的各個節點會通過相互發送消息的方式來交換集群中各個節點的狀態信息:某個節點處於在線狀態、疑似下線、已下線狀態。

    當一個主節點A通過罅隙得知主節點B認為主節點C進入疑似下線狀態時,主節點A會在自己的clusterState.nodes字典中找到主節點C所對應的clusterNode結構,並將主節點B的下線報告添加到clusterNode結構的fail_reports鏈表中

    status clusterNode{
        list *fali_reports;//鏈表,記錄所有其他節點對該節點的下線報告
    };

    下線報告結構:

     

    struct c;isterNodeFailReport{
        //報告目標節點已經下線的節點
        struct clusterNode *node;
        //最後一個從node節點收到下線報告的時間(程序使用這個時間戳來檢查下線報告是否過期)
        mstime_t time;
    } typedef clusterNodeFailReport;

    如果集群里半數以上負責處理槽的主節點都將某個主節點x報告未疑似下線,那麼這個主節點x將被標記未已下線,將主節點x標記為已下線的節點會向集群廣播一條關於主節點x的FAIL罅隙,所有收到這條罅隙的節點都會立即將主節點x標記為已下線。

    故障轉移的步驟:

    1)複製下線主節點的所有從節點裏面,會有一個從節點被選中,

    2)被選中的從節點會執行SLAVEOF no one命令,成為新的主節點。

    3)新的主節點會撤銷所有對已下線主節點的槽指派,並將這些槽指派給自己。

    4)新的主節點向集群廣播一條PONG消息,這條消息讓其他集群中的其他節點立即知道這個節點已經由從節點變為主節點,並且這個主節點已經接管了原本已下線節點負責處理的槽。

    5)新的主節點開始接收和自己負責處理的槽有關的命令請求,故障轉移完成。

    選舉新的主節點:

    1)集群的配置紀元是一個計數器。他的初始值為0;

    2)當集群中的某個節點開始一次故障轉移操作時,集群配置紀元的值會被加1。

    3)集群裏面每個負責處理槽的主節點都有一次投票機會,而第一個向主節點要求投票的從節點將獲得主節點的投票。

    4)當從節點發現自己正在複製的主節點進入下線狀態時,從節點會向集群官博一條CLUSTERMSG_TYPE_FAILOVER_AUTH_REQUEST消息,要求所有收到這個消息、並且具有投票權的主節點向這個從節點投票。

    5)如果一個主節點具有投票權,並且這個主節點尚未投票給其他從節點,那麼主節點將向要求投票的從節點返回一條CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK消息,表示這個主節點支持從節點成為新的主節點。

    6)每個參与選舉的從節點都會收到CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK消息,並根據自己收到了多少條這種消息來統計自己獲得了多少主節點支持。

    7)如果集群中有N個具有投票權的主節點,那麼當一個從節點大於等於N/2+1張支持票時,這個從節點就當選成為新的主節點。

    8)如果在一個配置紀元裏面沒有從節點收集到足夠多的支持票,那麼集群進入下一個紀元,再次進行選舉,直到選出新的主節點為止。

     

    消息

    集群中各個節點通過發送和接收消息來進行通信,我們稱發送消息的節點為發送者,接收消息的節點為接收者:

    1)MEET消息,當發送者接到客戶端發送的CLUSTER MEET命令時,發送者會向接收者發送MEET消息,請求接收者加入到發送者當前所處的集群裏面。

    2)PING消息,集群裏面的每個節點默認每隔一秒鐘就會從已知節點列表中隨機選出五個節點,然後對這五個節點中最長時間沒有發送過PING消息的節點發送PING消息,以此檢測被選中的節點是否在線。除此之外,如果節點A最後一次收到節點B發送的PONG消息的時間,距離當前時間已超過了節點A的cluster-node-timeout選項設置時長的一半,那麼節點A也會向節點B發送PING消息,這可以防止節點A因長時間沒有隨機選中節點B作為PING消息的發送對象而導致節點B的信息更新滯后。

    3)PONG消息,當接收者收到發送者發來的MEET消息或者PING時,為了向發送者確認這條MEET、PING消息已到達,接收者會向發送者返回一條PONG消息。另外,一個節點也可以通過向集群發送集群廣播自己的PONG消息來讓集群中的其他節點立即刷新關於這個節點的認識。

    4)FAIL消息,當一個主節點A判斷另一個主節點B已經進入FAIL狀態時,節點A會會向集群廣播一條關於節點B的FAIL消息,所有接收到這條消息的節點都會立即將節點B標記為已下線。

    5)PUBLISH消息,當節點接收到一個PUBLISH命令時,節點會執行這個命令,並向集群廣播一條PUBLISH消息,所有接收到這條PUBLISH消息的節點都會執行相同的PUBLISH命令。

    一條消息由消息頭(header)和消息正文(data組成)

    消息頭:

    typedef struct {
        //消息的長度(消息頭的長度和消息正文的長度)
        uint32_t totlen;
        //消息的類型
        uint16_t type;
        //消息正文包含的節點信息數量
        //只有發送MEET、PING、PONG這三種Gossip協議消息時使用
        uint16_t count;
        
        //薩松這所處的配置紀元
        uint64_t currentEpoch;
        //如果發送者是一個主節點,那麼這裏面記錄的時發送者的配置紀元
        //如果發送者時一個從節點,那麼這裏面記錄的時發送者正在複製的主節點的配置紀元
        uint64_t configEpoch;
        //發送者的名稱(ID)
        char sender[REDIS_CLUSTER_NAMELEN];
        //發送者目前的槽指派信息
        unsigned char myslots[REDIS_CLUSTER_SLOTS/8];
        //如果發送者是一個從節點,記錄的是發送者正在複製的主節點的名稱
        //如果發送者是一個主節點,那麼這裏記錄的是REDIS_NODE_NULL_NAME
        char slaveof[REDIS_CLUSTER_NAMELEN];
        //發送者的端口號
        uint16_t port;
        //發送者的標識值
        uint16_t flags;
        //發送者所處集群的狀態
        unsigned char state;
        //消息正文
        union clusterMsgData data;
    } clusterMsg;

    clusterMsg.data 結構:

    union clusterMsgData{
        //MEET PING PONG 消息正文
        struct{
            //每條MEET PING PONG消息都包含兩個 clusterMsgDataGossip 結構
            clusterMsgDataGossip gossip[1]
        } ping;
        //FAIL 消息正文
        struct{
            clusterMsgDataFail about;
        } fali;
        
        //PUBLISH消息正文
        struct{
            clusterMsgDataPublish msg;
        } publish;
    }

    clusterMsgDataGossip結構記錄了選中節點的名字,發送者與被選中節點最後一次發送和接收PING消息和PONG消息的時間戳,被選中節點的IP地址和端口號,以及被選中節點的標識值:

    typedef struct {
        //節點的名字
        char nodename[REDIS_CLUSTER_NAMELEN];
        //最後一次向該節點發送PING消息的時間戳
        uint32_t ping_sent;
        //最後一次從該 節點接收到PONG消息的時間戳
        uint32_t pong_received;
        //節點的IP地址
        char ip[16];
        //節點的端口號
        uint16_t port;
        //節點的標識值
        uint16_t flags;
    } clusterMsgDataGossip;

    每天學一點,總會有收穫。

     

    說明:尊重作者知識產權,文中內容參考《Redis設計與實現》,僅在此做學習與大家分享。

     

     

     

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※教你寫出一流的銷售文案?

  • 新基建下,智慧交通發展新規劃:智慧隧道監控可視化系統

    新基建下,智慧交通發展新規劃:智慧隧道監控可視化系統

    前言 隨着當代經濟的發展,交通環境日益緊張,加上山區地區的交通運輸的需求,隧道的交通建設開發方興未艾。
    隧道交通的規劃越來越完備,而對於隧道內監控管理維護卻顯得有些不足。而
    工業4.0的崛起,逐步進入了智能化的新時代,伴隨着
    工業互聯網的新興力量,工控可視化系統應運而生,不僅能起到日常的監控管理維護,在發現事故或險情時能第一時間採取
    應急預案;還能通過實時數據的採集反饋,遠程操控設備運行以及預測設備的優良性能,從而達到更立體更全面的工控系統的運行。
    HT for Web
     不止自主研發了強大的基於 HTML5 的 2D、3D 渲染引擎,為可視化提供了豐富的展示效果。介於 2D 組態和 3D 組態上,Hightopo(以下簡稱 HT )的 HT for Web 產品上的有着豐富的組態化可供選擇,本文將介紹如何運用 HT 豐富的 2/3D 組態搭建出一個隧道監控可視化系統的解決方案 監控隧道內的車道堵塞情況、隧道內的車禍現場,在隧道中显示當前車禍位置並在隧道口給予提示等功能都是非常有必要的。這個隧道監控可視化系統的主要內容包括:照明、風機、車道指示燈、交通信號燈、情報板、消防、火災報警、車行橫洞、風向儀、微波車檢、隧道緊急逃生出口的控制以及事故模擬等等。  
    界面簡介及效果預覽  

    預覽鏈接:http://www.hightopo.com/demo/tunnel2/index.html

    上圖中的各種設備都可以雙擊,此時 camera 的位置會從當前位置移動到雙擊的設備的正前方;隧道入口的展示牌會自動輪播,出現事故時會展示牌中的內容會由“限速80,請開車燈”變為“超車道兩車追尾,請減速慢行”;兩隧道中間的逃生通道上方的指示牌是可以點擊的,點擊切換為藍綠色激活狀態,兩旁的逃生通道門也會打開,再單擊指示牌變為灰色,門關閉;還有一個事故現場模擬,雙擊兩旁變壓器中其中一個,在隧道內會出現一個“事故現場圖標”,單擊此圖標,出現彈出框显示事故等等等等。

     
    代碼實現
    一、場景搭建 整個隧道都是基於 3D 場景上繪製的,先來看看怎麼搭建 3D 場景:

    // 數據容器 dm = new ht.DataModel(); // 3d 場景 g3d = new ht.graph3d.Graph3dView(dm); // 將場景添加到 body 中 g3d.addToDOM();

    上面代碼中的 addToDOM 函數,是一個將組件添加到 body 體中的函數的封裝,定義如下:

    addToDOM = function(){ var self = this, // 獲取組件的底層 div view = self.getView(), style = view.style; // 將組件底層div添加進body中  document.body.appendChild(view); // ht 默認將所有的組件的position都設置為absolute絕對定位 style.left = '0'; style.right = '0'; style.top = '0'; style.bottom = '0'; // 窗口大小改變事件,調用刷新函數 window.addEventListener('resize', function () { self.iv(); }, false); }

     
    二、JSON反序列化 整個場景是由名為 隧道1.json 的文件導出而成的,我只需要用代碼將 json 文件中的內容轉換為我需要的部分即可:

    // xhrLoad 函數是一個異步加載文件的函數 ht.Default.xhrLoad('./scenes/隧道1.json', function(text) { // 將 json 文件中的文本轉為我們需要的 json 格式的內容 var json = ht.Default.parse(text); // 反序列化數據容器,解析用於生成對應的Data對象並添加到數據容器 這裏相當於把 json 文件中生成的 ht.Node 節點反序列化到數據容器中,這樣數據容器中就有這個節點了  dm.deserialize(json); });

    由於 xhrLoad 函數是一個異步加載函數,所以如果 dm 數據容器反序列化未完成就直接調用了其中的節點,那麼會造成數據獲取不到的結果,所以一般來說我是將一些邏輯代碼寫在這個函數內部,或者給邏輯代碼設置 timeout 錯開時間差。

    首先,由於數據都是存儲在 dm 數據容器中的(通過 dm.add(node) 添加的),所以我們要獲取數據除了可以通過 id、tag 等獨立的方式,還可以通過遍曆數據容器來獲取多個元素。由於這個場景比較複雜,模型的面也比較多,鑒於設備配置,我將能 Batch 批量的元素都進行了批量。

    批量是 HT 實現下的一種特有的機制,批量能提高性能的原理在於,當圖元一個個獨立繪製模型時性能較差,而當一批圖元聚合成一個大模型進行一次性的繪製時, 則會極大提高 WebGL 刷新性能,執行代碼如下

    dm.each(function(data) { // 對“電話”進行批量 if (data.s('front.image') === 'assets/sos電話.png'){ data.s('batch', 'sosBatch'); } // 逃生通道批量(透明度也會影響性能) else if (data.s('all.color') === 'rgba(222,222,222,0.18)') { data.s('batch', 'emergencyBatch'); } else if (data.s('shape3d') === 'models/隧道/攝像頭.json' || data.s('shape3d') === 'models/隧道/橫洞.json' || data.s('shape3d') === 'models/隧道/捲簾門.json') { // 個別攝像頭染色了 不做批量 if(!data.s('shape3d.blend')) // 基礎批量什麼也不做 data.s('batch', 'basicBatch'); } else if (data.s('shape3d') === 'models/大型變壓器/變壓器.json') { data.s('batch', 'tileBatch'); data.setToolTip('單擊漫遊,雙擊車禍地點出現圖標'); } else if (data.getDisplayName() === '地面') { // 設置隧道“地面”不可選中 data.s('3d.selectable', false); } else if (data.s('shape3d') === 'models/隧道/排風.json') { // 排風扇的模型比較複雜,所以做批量 data.s('batch', 'fanBatch'); } else if (data.getDisplayName() === 'arrow') { // 隧道兩旁的箭頭路標 if (data.getTag() === 'arrowLeft') data.s('shape3d.image', 'displays/abc.png'); else data.s('shape3d.image', 'displays/abc2.png'); data.s({ 'shape3d': 'billboard', // 緩存,設置了 cache 的代價是需要設置 invalidateShape3dCachedImage 'shape3d.image.cache': true, // 設置這個值,圖片上的鋸齒就不會太明顯了(若圖片類型為 json,則設置 shape3d.dynamic.transparent) 'shape3d.transparent': true }); g3d.invalidateShape3dCachedImage(data); } // 隧道入口處的情報板 else if (data.getTag() === 'board' || data.getTag() === 'board1') { // 業務屬性,用來控制文本的位置[x,y,width,height] data.a('textRect', [0, 2, 244, 46]); // 業務屬性,設置文本內容 data.a('limitText', '限速80,請開車燈'); var min = -245; var name = 'board' + data.getId(); window[name] = setInterval(function() { // 設置情報板中的文字向左滾動,並且當文字全部显示時重複閃爍三次  circleFunc(data, window[name], min); }, 100); } //給逃生通道上方的指示板 動態設置顏色 var infos = ['人行橫洞1', '人行橫洞2', '人行橫洞3', '人行橫洞4', '車行橫洞1', '車行橫洞2', '車行橫洞3']; infos.forEach(function(info) { if(data.getDisplayName() === info) { data.a('emergencyColor', 'rgb(138, 138, 138)'); } }); infos = ['車道指示器', '車道指示器1', '車道指示器2', '車道指示器3']; infos.forEach(function(info) { if (data.getDisplayName() === info) { // 考慮到性能問題 將六面體變換為 billboard 類型元素 createBillboard(data, 'assets/車道信號-過.png', 'assets/車道信號-過.png', info); } }); });

    上面有一處設置了 tooltip 文字提示信息,在 3d 中,要显示這個文字提示信息,就需要設置 g3d.enableToolTip() 函數,默認 3d 組件是關閉這個功能的。  
    三、邏輯代碼
    情報板滾動條 我就直接按照上面代碼中提到的方法進行解釋,首先是 circleFunc 情報板文字循環移動的函數,在這個函數中我們用到了業務屬性 limitText 設置情報板中的文字屬性以及 textRect 設置情報板中文字的移動位置屬性:

    // 設置情報板中的文字向左滾動,並且當文字全部显示時重複閃爍三次 function circleFunc(data, timer, min) { // 獲取當前業務屬性 limitText 的內容 var text = data.a('limitText'); // 設置業務屬性 textRect 文本框的坐標和大小 data.a('textRect', [data.a('textRect')[0]-5, 2, 244, 46]); if (parseInt(data.a('textRect')) <= parseInt(min)) { data.a('textRect', [255, 2, 244, 46]); } else if (data.a('textRect')[0] === 0) { clearInterval(timer); var index = 0; // 設置多個 timer 是因為能夠進入這個函數中的不止一個 data,如果在同一時間多個 data 設置同一個 timer,那肯定只會對最後一個節點進行動畫。後面還有很多這種陷阱,要注意 var testName = 'testTimer' + data.getId(); window[testName] = setInterval(function() { index++; // 如果情報板中文本內容為空 if(data.a('limitText') === '') { setTimeout(function() { // 設置為傳入的 text 值 data.a('limitText', text); }, 100); } else { setTimeout(function() { // 若情報板中的文本內容不為空,則設置為空 data.a('limitText', ''); }, 100); } // 重複三次 if(index === 11) { clearInterval(window[testName]); data.a('limitText', text); } }, 100); setTimeout(function() { timer = setInterval(function() { // 回調函數  circleFunc(data, timer, min); }, 100); }, 1500); } } 

    由於 WebGL 對瀏覽器的要求不低,為了能盡量多的適應各大瀏覽器,我們將所有的“道路指示器” ht.Node 類型的六面體全部換成 billboard 類型的節點,性能能提升不少。

    http://www.hightopo.com 設置 billboard 的方法很簡單,獲取當前的六面體節點,然後給這些節點設置:

    node.s({
        'shape3d': 'billboard', 'shape3d.image': imageUrl, 'shape3d.image.cache': true }); // 還記得用 shape3d.image.cache 的代價么? g3d.invalidateShape3dCachedImage(node); 

    當然,因為 billboard 不能雙面显示不同的圖片,只是一個“面”,所以我們還得在這個節點的位置創建另一個節點,在這個節點的“背面”显示圖片,並且跟這個節點的配置一模一樣,不過位置要稍稍偏移一點。  
    Camera 緩慢偏移 其他動畫部分比較簡單,我就不在這裏多說了,這裡有一個雙擊節點能將視線從當前 camera 位置移動到雙擊節點正前方的位置的動畫我提一下。我封裝了兩個函數 setEye 和 setCenter,分別用來設置 camera 的位置和目標位置的:

    // 設置“目標”位置 function setCenter(center, finish) { // 獲取當前“目標”位置,為一個數組,而 getCenter 數組會在視線移動的過程中不斷變化,所以我們先拷貝一份 var c = g3d.getCenter().slice(0), // 當前x軸位置和目標位置的差值 dx = center[0] - c[0], dy = center[1] - c[1], dz = center[2] - c[2]; // 啟動 500 毫秒的動畫過度  ht.Default.startAnim({ duration: 500, action: function(v, t) { // 將“目標”位置緩慢從當前位置移動到設置的位置處  g3d.setCenter([ c[0] + dx * v, c[1] + dy * v, c[2] + dz * v ]); } }); }; // 設置“眼睛”位置 function setEye(eye, finish) { // 獲取當前“眼睛”位置,為一個數組,而 getEye 數組會在視線移動的過程中不斷變化,所以我們先拷貝一份 var e = g3d.getEye().slice(0), dx = eye[0] - e[0], dy = eye[1] - e[1], dz = eye[2] - e[2]; // 啟動 500 毫秒的動畫過度  ht.Default.startAnim({ duration: 500, // 將 Camera 位置緩慢地從當前位置移動到設置的位置 action: function(v, t) { g3d.setEye([ e[0] + dx * v, e[1] + dy * v, e[2] + dz * v ]); } }); };

    後期我們要設置的時候就直接調用這兩個函數,並設置參數為我們目標的位置即可。比如我這個場景中的各個模型,由於不同視角對應的各個模型的旋轉角度也不同,我只能找幾個比較有代表性的 0°,90°,180°以及360° 這四種比較典型的角度了。所以繪製 3D 場景的時候,我也盡量設置節點的旋轉角度為這四个中的一種(而且對於我們這個場景來說,基本上只在 y 軸上旋轉了):

    // 獲取事件對象的三維坐標 var p3 = e.data.p3(), // 獲取事件對象的三維尺寸 s3 = e.data.s3(), // 獲取事件對象的三維旋轉值 r3 = e.data.r3(); // 設置“目標”位置為當前事件對象的三維坐標值 setCenter(p3); // 如果節點的 y 軸旋轉值 不為 0 if (r3[1] !== 0) { // 浮點負數得做轉換才能進行比值 if (parseFloat(r3[1].toFixed(5)) === parseFloat(-3.14159)) { // 設置camera 的目標位置 setEye([p3[0], p3[1]+s3[1], p3[2] * Math.abs(r3[1]*2.3/6)]);  } else if (parseFloat(r3[1].toFixed(4)) === parseFloat(-1.5708)) { setEye([p3[0] * Math.abs(r3[1]/1.8), p3[1]+s3[1], p3[2]]);  } else { setEye([p3[0] *r3[1], p3[1]+s3[1], p3[2]]); } } else { setEye([p3[0], p3[1]+s3[1]*2, p3[2]+1000]); }

     
    事故模擬現場 最後來說說模擬的事故現場吧,這段還是比較接近實際項目的。操作流程如下:雙擊“變壓器”–>隧道中間某個部分會出現一個“事故現場”圖標–>單擊圖標,彈出對話框,显示當前事故信息–>點擊確定,則事故現場之前的燈都显示為紅色×,並且隧道入口的情報板上的文字显示為“超車道兩車追尾,請減速慢行”–>再雙擊一次“變壓器”,場景恢復事故之前的狀態。 在 HT 中,可通過 Graph3dView#addInteractorListener(簡寫為 mi)來監聽交互過程:

    g3d.addInteractorListener(function(e) { if(e.kind === 'doubleClickData') { // 有“事故”圖標節點存在 if (e.data.getTag() === 'jam') return; // 如果雙擊對象是變壓器 if (e.data.s('shape3d') === 'models/大型變壓器/變壓器.json') { index++; // 通過唯一標識 tag 標籤獲取“事故”圖標節點對象 var jam = dm.getDataByTag('jam'); if(index === 1){ var jam = dm.getDataByTag('jam'); jam.s({ // 設置節點在 3d 上可見 '3d.visible': true, // 設置節點為 billboard 類型 'shape3d': 'billboard', // 設置 billboard 的显示圖片 'shape3d.image': 'assets/車禍.png', // 設置 billboard 圖片是否緩存 'shape3d.image.cache': true, // 是否始終面向鏡頭 'shape3d.autorotate': true, // 默認保持圖片原本大小,設置為數組模式則可以設置圖片显示在界面上的大小 'shape3d.fixSizeOnScreen': [30, 30], }); // cache 的代價是節點需要設置這個函數  g3d.invalidateShape3dCachedImage(jam); } else { jam.s({ // 第二次雙擊變壓器就將所有一切恢復“事故”之前的狀態 '3d.visible': false }); dm.each(function(data) { var p3 = data.p3(); if ((p3[2] < jam.p3()[2]) && data.getDisplayName() === '車道指示器1') { data.s('shape3d.image', 'assets/車道信號-過.png'); } if(data.getTag() === 'board1') { data.a('limitText', '限速80,請開車燈'); } }); index = 0; } } } });

    既然“事故”節點圖標出現了,接着點擊圖標出現“事故信息彈出框”,監聽事件同樣是在 mi(addInteractorListener)中,但是這次監聽的是單擊事件,我們知道,監聽雙擊事件時會觸發一次單擊事件,為了避免這種情況,我在單擊事件裏面做了演示:

    // 點擊圖元 else if (e.kind === 'clickData'){ timer = setTimeout(function() { clearTimeout(timer); // 如果是“事故”圖標節點 if (e.data.getTag() === 'jam') { // 創建一個對話框  createDialog(e.data); } }, 200); }

    在上面的雙擊事件中我沒有 clearTimeout,怕順序問題給大家造成困擾,要記得加一下。 彈出框如下: 這個彈出框是由兩個 ht.widget.FormPane 表單構成的,左邊的表單隻有一行,行高為 140,右邊的表單是由 5 行構成的,點擊確定,則“事故”圖標節點之前的道路指示燈都換成紅色×的圖標:

    // 彈出框右邊的表單 function createForm4(node, dialog) { // 表單組件 var form = new ht.widget.FormPane(); // 設置表單組件的寬 form.setWidth(200); // 設置表單組件的高 form.setHeight(200); // 獲取表單組件的底層 div var view = form.getView(); // 將表單組件添加到 body 中  document.body.appendChild(view); var infos = [ '編輯框內容為:2輛', '編輯框內容為:客車-客車', '編輯框內容為:無起火', '編輯框內容為:超車道' ]; infos.forEach(function(info) { // 向表單中添加行  form.addRow([ info // 第二個參數為行寬度,小於1的值為相對值 ], [0.1]); }); form.addRow([ { // 添加一行的“確認”按鈕  button: { label: '確認', // 按鈕點擊事件觸發 onClicked: function() { // 隱藏對話框  dialog.hide(); dm.each(function(data) { var p3 = data.p3(); // 改變“車道指示器”的显示圖片為紅色×,這裏我是根據“事故”圖標節點的坐標來判斷“車道显示器”是在前還是在後的 if ((p3[2] < node.p3()[2]) && data.getDisplayName() === '車道指示器1') { data.s('shape3d.image', 'assets/車道信號-禁止.png'); } // 將隧道口的情報板上的文字替換 if(data.getTag() === 'board1') { data.a('limitText', '超車道兩車追尾,請減速慢行'); } }); } } } ], [0.1]); return form; }

     
    總結 伴隨着新基建的建設興起,是以新發展理念為引領,以技術創新為驅動,以信息網絡為基礎,面向高質量發展需要,提供数字轉型、智能升級、融合創新等服務的基礎設施體系的完備,國家正邁入新時代的建設,也迎來了新時代的挑戰與機遇。隧道交通的監控可以歸納為工控管理與智慧交通建設的產物,同樣具有極為重要的意義。在眾多行業上所積累的經驗,HT 已經實現了許多不同領域建設的案例,例如 路口監管可視化系統,有興趣的話也可以了解一下!   2019 我們也更新了數百個工業互聯網 2D/3D 可視化案例集,在這裏你能發現許多新奇的實例,也能發掘出不一樣的工業互聯網: https://mp.weixin.qq.com/s/ZbhB6LO2kBRPrRIfHlKGQA 同時,你也可以查看更多案例及效果: https://www.hightopo.com/demos/index.html 本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

    南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

    ※教你寫出一流的銷售文案?

    ※超省錢租車方案

  • 10萬以下產品力最強的兩款SUV!詳解風神AX5和遠景SUV!

    10萬以下產品力最強的兩款SUV!詳解風神AX5和遠景SUV!

    未來肯定不能以價格取勝。那麼要考慮的就是要從質量與技術可靠為主了。而且有了AX7在前面擋着,未來AX5隻要在宣傳上做得出色,未來還是可以期待的。而遠景SUV換裝了全新的家族式造型設計,與吉利汽車其他車型有了很好的延續性。

    目前SUV市場非常紅火,但對於國內的消費者來說;他們很多時候對SUV的購車預算大多數會考慮在10萬以下的車型,而這個區間最火熱的要屬最火熱的遠景SUV了。遠景SUV作為一款上市多年的車型,憑藉著良好的口碑與超高的性價比在三四線城市當中一直都受到追捧。其他品牌看它這麼紅火,肯定心有不甘;醞釀着推出競品與其競爭。在這個背景下,東風風神AX5應該是與它最接近的一款車型了。

    總結:AX5作為市場的新丁,未來要遇到的挑戰很多;首先它目前的市場肯可度比較一般,而且相對性價比較高的遠景SUV來說,價格相對高一些;未來肯定不能以價格取勝。那麼要考慮的就是要從質量與技術可靠為主了;而且有了AX7在前面擋着,未來AX5隻要在宣傳上做得出色,未來還是可以期待的。

    而遠景SUV換裝了全新的家族式造型設計,與吉利汽車其他車型有了很好的延續性。但它的車尾卻與前臉不太協調,但改款之後提價的策略也被不少消費者詬病;這是吉利急需要改變的不好影響。當然目前吉利汽車一系列熱門車型會把整個市場口碑營造上去,但遠景SUV卻不能以此為傲。雖不說前有前敵,但肯定後邊會有不少追兵。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※教你寫出一流的銷售文案?

  • 前瞻布局 穩健經營 東風日產第800萬輛整車下線

    前瞻布局 穩健經營 東風日產第800萬輛整車下線

    建立經銷商能力診斷體系並擴大經銷商經營範圍,進行二手車、汽車保險、汽車金融、汽車租貸等業務的擴充發展,在2016年1-10月達到12。21%的置換率,為東風日產歷史新高,進一步提升了經銷商收益力、服務能力和渠道效率,從而實現更加便捷高效的服務。

    2016年12月26日,東風日產第800萬整車下線儀式在花都二工廠舉行。100餘名媒體記者以及車主代表共同參与和見證這一盛事。

    東風日產副總經理周先鵬在下線儀式上表示:“東風日產的經營理念始終伴隨着中國經濟發展以及汽車產業的升級而轉型,堅持用前瞻性的眼光探索行業發展的態勢,對未來的發展方向提前布局。13年來,東風日產穩健經營、用心發展,從容迎來第八百萬輛整車下線。”

    伴隨着第800萬輛整車下線,東風日產提前完成2016年度銷售目標,截至12月25日,全年銷量達到110萬輛,比去年同期增長13%,再次穩健跨越百萬。

    客戶至上 體系能力全面升級

    品牌順應時代,不斷成長,是企業穩健經營的前提。在購車者年齡越來越年輕的新汽車消費時代,東風日產2016年繼續深化YOUNG NISSAN 戰略,通過一系列“創新、走心、用心”的營銷活動,全面彰顯品牌年輕化心態,極大提升了品牌知名度與好感度。無論是攜手NBA、歐冠等頂級賽事,還是邀約頂級明星易建聯代言新生代TIIDA,都讓消費者近距離感受體育運動的激情與活力;產品營銷方面,新樓蘭、新奇駿、全新軒逸、藍鳥等產品圍繞文化、越野、音樂等不同主題,通過創新的活動形式,不僅讓消費者體驗到各具特色的產品魅力,更展現出不同產品和目標消費者的情懷與個性。據悉,2016年東風日產品牌好感度相較於2015年提升3.8%,首次超越豐田,躋身合資品牌前三。

    客戶服務是企業穩健經營的基礎。2016年,東風日產圍繞“客戶年”的主題,開展“擁抱客戶,用心服務”主題實踐活動,強化全員客戶意識;通過成立地區支持辦公室,以更扁平化的運作架構貼近客戶;同時,在全國77家店開展了一系列的呼叫制培訓方式,使受訓店服務投訴率降幅達到38%。此外,易誠認證車首推兩年四萬公里保修升級政策,此舉為行業首創,深度保障消費者利益。

    渠道健康是企業穩健經營的保障。2016年,東風日產落實p20大城市戰略,優化專營店的數量及效率,經銷商整體收益得到提升;建立經銷商能力診斷體系並擴大經銷商經營範圍,進行二手車、汽車保險、汽車金融、汽車租貸等業務的擴充發展,在2016年1-10月達到12.21%的置換率,為東風日產歷史新高,進一步提升了經銷商收益力、服務能力和渠道效率,從而實現更加便捷高效的服務。

    不僅如此,東風日產更在提升企業體系力方面,未雨綢繆,坐言起行。2016年,秉承“穩健經營”的理念,東風日產腳踏實地、強調客戶服務、渠道和品牌健康成長。價值鏈前端建設也初見成果,先進工程技術中心、啟辰造型中心及東風日產大學,全面投入使用,從產品、研發設計、製造、人才培養等多個緯度鍛造企業內功,提升綜合實力,為東風日產未來新中期事業提供有力支撐。

    智能驅動未來 I³計劃全面展開

    隨着社會及技術層面信息化、智能化的發展,以及國家“智能製造”戰略藍圖的提出,汽車企業面臨着新的的機遇及挑戰。汽車行業已進入了智能時代,順應消費者需求智能化發展的趨勢,東風日產聚焦智能時代,進入以智能技術為驅動的YOUNG NISSAN 3.0時代,發布了“I³計劃”。以全價值鏈智能升級為核心,從智能出行(Intelligent Mobility Technology)、智造品質(Intelligent Manufacture Quality)、智享體驗(Intelligent Customer Experience)三大維度布局未來。

    在智能出行方面,以“零碰撞、零排放、零距離”作為終極目標,開啟汽車技術的智能化升級,東風日產將成為率先導入中國的量產電動車的首個合資品牌;在智造品質方面,構建國內首創“整建制”先進工程技術中心,以数字化開發平台、智能化精工製造和信息化品質管理,實現製造技術的智能化升級;在智享體驗等方面,依託國內首個合資汽車公司自建電商平台車巴巴、率先將VR技術應用於新車體驗的沉浸式產品数字體驗平台、車載智能信息服務的應用,進行顧客全觸點的智能化升級。

    2017年是東風日產再次跨越百萬之後的重要一年,800萬輛整車下線,對東風日產來說是一個歷史性的里程碑,更是一個新的起點。東風日產將以“I³計劃”為基礎,助推品牌年輕化戰略再升級,進入以智能技術為驅動的YOUNG NISSAN 3.0時代。同時,東風日產還將以“客戶年2.0”作為2017年發展的整體指導方向,從消費者需求出發,持續提升品牌力和客戶滿意度,保證主力車型的銷量及新車上市,同時整合網絡安全,強化經銷商基礎,為客戶帶來更加精彩的智能化汽車生活。

    周先鵬表示,“前瞻性的戰略思考,以及穩健高效的執行力,為東風日產更快速響應市場,決勝未來奠定了堅實基礎。在800萬份信賴之上,東風日產砥礪前行,以智能化的未來驅動力,助力東風日產引領行業趨勢,穩健前行。”本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

    南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

    ※教你寫出一流的銷售文案?

    ※超省錢租車方案

  • 購車新生代都在關注啥車型?別忘了奔騰的高顏值SUV

    購車新生代都在關注啥車型?別忘了奔騰的高顏值SUV

    只有帥氣外觀還不夠,撩妹還要看內功。打開車門,新款奔騰X80的內飾設計作出了更多優化。8英寸的懸浮式多媒體觸摸屏、簡化實體按鍵的中控面板,清晰易讀帶彩色显示屏的儀錶盤,都是新款奔騰X80提升乘客滿意度的一大法寶。

    都說現在是90后小鮮肉的時代,踏入社會後工作穩定時,就應買台顏值出眾的SUV來好好的撩妹。想着每天開着高顏值的SUV上班,在路旁的年輕MM的注視下,展示你最帥的一面……別YY了,趕緊找來一款高顏值配置實用的SUV,這車帥得分分鐘讓你按耐不住馬上買買買!

    顏值出眾的SUV,粉絲們也許首先會想到某些百萬豪車。但90后購入的第一款車,太貴的車咱先不考慮。其實在我們身邊的自主品牌,也有不少讓人眼前一亮的佳作。先賣個關子,曾有一款SUV,憑着車身C柱上的獨特“X”字形優美線條,以及紮實底盤,獲得一致好評。

    現在,TA帶着更加年輕運動化的外觀,以及更多實用配置升級,回!來!了!

    一汽新款奔騰X80

    實力提升的一汽新款奔騰X80,將為兵家必爭之地的10~15萬自主緊湊型SUV車市,再添上一把火。值得一提的是,新款奔騰X80的外觀年輕運動化改造,吸睛能力簡直是棒棒噠,顏值控們可不要錯過了。

    為照顧外貌協會,先從新款奔騰X80的重頭戲——外觀改造說起。重新設計的大燈線條,配合更具稜角的中網,讓車頭顯得更加精神及具有運動感。車身的最大特色,車側和車尾交界處標誌性的“X”字形優美設計得以保留。

    來到車尾,熏黑尾燈組及雙邊單出橢圓排氣管,呼應前臉的運動化設計,視覺體驗更加年輕帥氣。此時也化身迷妹,實在是太帥啦!

    新款奔騰X80在尺寸方面,與同級對手對比不落下風,乘坐舒適有保證。擁有一款外觀運動高顏值SUV,新款奔騰X80讓你撩妹實力大增!

    只有帥氣外觀還不夠,撩妹還要看內功。打開車門,新款奔騰X80的內飾設計作出了更多優化。8英寸的懸浮式多媒體觸摸屏、簡化實體按鍵的中控面板,清晰易讀帶彩色显示屏的儀錶盤,都是新款奔騰X80提升乘客滿意度的一大法寶。

    最值得一提是,吸睛能力MAX的8英寸懸浮式多媒體觸摸屏,還支持小鮮肉們喜聞樂見的Apple Carplay及百度Carlife,另外全景影像,一鍵啟動,胎壓監測,ESp車身穩定系統,前後泊車雷達及六安全氣囊等實用配置統統沒有缺席。新款奔騰X80真的有料!

    手機與汽車無縫連接真方便,願意給一百個贊。YY一下,開着新款奔騰X80,用手機連接Carplay,放着喜歡的音樂,與妹子愉快的自駕游去,畫面太美了!

    高顏值,配置實用,那就更少不了大空間。新款奔騰X80的空間表現,即使185cm的長腿歐巴坐進車內,也不會覺得局促。前排座椅針對大腿和肩部的包裹進行了優化,後排的座墊足夠長,乘坐真舒適。不像部分車型,為了大空間把後排改成了“小板凳”。這樣的後排,估計妹子上車,兩分鐘就投訴了!而在奔騰新款X80的大空間幫助下,完美駕馭舒適座椅,這是適合長腿歐巴乘坐的後排啊。

    別忘了新款奔騰X80的動力部分,保持1.8T/2.0L的動力,與發動機匹配的是愛信的6擋手自一體變速箱,2.0L部分車款還搭配了6擋手動變速箱。對於一款緊湊型SUV,2.0L的動力輸出能比競品的小排量渦輪發動機,表現更加從容;1.8T則能滿足性能控對強勁動力的需求。兩款動力組合,相信能滿足小鮮肉們對動力的任性需求。

    總結:

    一汽新款奔騰X80的硬實力提升明顯,在高顏值、大空間及配置升級的針對性的升級后,能更好的滿足90后小鮮肉消費者的購車需求。2016年也拼搏一年了,買輛新款奔騰X80獎勵自己,好好撩妹再適合不過。年底打算要買車的粉絲,要留意了,2016年12月31日前購車,更享5000元購置稅補貼。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    南投搬家公司費用需注意的眉眉角角,別等搬了再說!

    ※教你寫出一流的銷售文案?

  • 2016重磅轎車盤點 自主雄起/合資緊張?

    2016重磅轎車盤點 自主雄起/合資緊張?

    無論如何,2016年都將要過去,而2016年我們看到了帝豪GL與艾瑞澤5這兩款代表自主品牌實力的力作,尤其是帝豪GL對於整個自主品牌都是意義重大,帝豪GL可以說開拓了一個新的細分市場,尺寸介於A級車與B級車之間,價格卻比緊湊型車型高不了多少,這樣的產品力表現值得讚歎。

    這裏小編團隊特地舉行了一次盛大的年度討論,目的就是選出2016年最值得推薦的年度轎車/年度SUV以及2016年自主品牌的新技術。而經過了長時間的激烈討論之後我們終於確定了5款年度轎車,它們都具有強大的產品力,可以說對車市有不小的影響,雖然有些車型的銷量不那麼好看但是實力無需否認,那麼我們一起看看是什麼車型能夠成為年度推薦轎車吧。

    無論如何,2016年都將要過去,而2016年我們看到了帝豪GL與艾瑞澤5這兩款代表自主品牌實力的力作,尤其是帝豪GL對於整個自主品牌都是意義重大,帝豪GL可以說開拓了一個新的細分市場,尺寸介於A級車與B級車之間,價格卻比緊湊型車型高不了多少,這樣的產品力表現值得讚歎。

    而在合資車方面科沃茲的出現可以說是給合資三廂入門車型帶來了新鮮血液,不錯的產品力表現以及定位能夠給自主車帶來不小的衝擊,科沃茲上市開始就成為爆款車型也是實力的印證,混動雅閣的出現攪動了新能源市場,可以說是混動市場的一顆重磅炸彈,加之漂亮的外觀優秀的內飾,混動雅閣讓人難以拒絕。

    最後就是沃爾沃S90了,這款車型依靠漂亮的設計吸引了不少人的目光,而最終價格也是讓人震驚,相信離大賣也不遠了,雖然2016年整个中國車市的重心全都放在了SUV方面,無論是開發的新車型數量還是現有SUV車型的銷量都是節節拔高,但是依然不少人選擇緊湊型轎車,緊湊型轎車的銷量佔比也是十分高,自主轎車在A到B級的產品力補充得不錯,但是B級以上還需要品牌力等更多的補充,2017年即將到來,轎車市場能否迎來更大的輝煌呢?本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※別再煩惱如何寫文案,掌握八大原則!

    ※教你寫出一流的銷售文案?

    ※超省錢租車方案

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

  • 奔馳最便宜的小轎車到來,價格可能比2.4雅閣還便宜?

    奔馳最便宜的小轎車到來,價格可能比2.4雅閣還便宜?

    奔馳Z級定位小型車,競爭對手鎖定奧迪A1以及MINI,從造型上來看奔馳Z級還是比較的有奔馳家族風格的,大尺寸的輪轂和小巧的車身形成鮮明對比,運動風格比較強烈。從前臉造型上看Z級的造型和奔馳GLC有着比較高的相似度,全LED大燈的造型也和奔馳高端車型幾乎一致,大燈尺寸和進氣格柵都十分大,加上GLC元素的使用使得前臉還是比較有氣勢的。

    奔馳這個品牌在中國市場深耕多年早已深入人心,一說起豪車大家都會想到奔馳寶馬,但是奔馳給大多數人的印象一直是價格昂貴高高在上的,比如售價過百萬的奔馳S、全尺寸SUV奔馳GLS等,但奔馳不止有這些車。

    ↑↑↑目前能夠買到的最便宜的三廂轎車CLA指導價為26.60-37.80萬

    ↑↑↑目前能夠買到最便宜奔馳兩廂轎車奔馳A級指導價為指導價:23.40-36.00萬

    你以為這就是奔馳最便宜車型的價格了嗎?當然不是,外媒繪製了一張奔馳Z級的假想圖,目前奔馳A級以及奔馳CLA都屬於緊湊型車型,而奔馳目前並沒有小型車,而Z級的出現即將填補奔馳在這一市場的空白。

    奔馳Z級定位小型車,競爭對手鎖定奧迪A1以及MINI,從造型上來看奔馳Z級還是比較的有奔馳家族風格的,大尺寸的輪轂和小巧的車身形成鮮明對比,運動風格比較強烈。

    從前臉造型上看Z級的造型和奔馳GLC有着比較高的相似度,全LED大燈的造型也和奔馳高端車型幾乎一致,大燈尺寸和進氣格柵都十分大,加上GLC元素的使用使得前臉還是比較有氣勢的。

    來到尾部,層次豐富的尾部造型也頗有幾分GLC的味道,排氣管的造型十分有運動感,只是尺寸偏小,尾燈的造型也和奔馳現今的SUV車型設計比較相似,Z級在外觀上和奔馳SUV車系比較接近,因此小編預測未來Z級會衍生出SUV車型或者跨界版,名字就叫GLZ?到時候就是小號的GLC了。

    從假想圖看來車頂高度在後排位置下降比較多,小編對於Z級的頭部空間表現表示擔憂。

    Z級的出現拉低了奔馳車型的入門門檻,而和奧迪A1以及寶馬MINI對標的話,小編預計Z級的售價在18萬起,這樣的售價也算是對得起觀眾了,當然由於這類車型比較小眾,因此即使上市也會以進口身份銷售,因此希望售價過低還是不太可能。

    競爭對手:

    奔馳Z級上市后競爭對手主要是奧迪A1、寶馬MINI以及雪鐵龍DS3,相比之下A1有着奧迪的科技感以及龐大的受眾,DS3比較的怪異能夠贏得一些消費者的喜愛,MINI則是哪個經典造型,十分有個性,與它們相比奔馳Z級的道路還比較長。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※別再煩惱如何寫文案,掌握八大原則!

    網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

    ※超省錢租車方案

    ※教你寫出一流的銷售文案?

    網頁設計最專業,超強功能平台可客製化

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!