찾다
웹 프론트엔드H5 튜토리얼HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.

이 기사의 내용은 지능형 항공기 제어(코드 포함)를 구현하기 위해 산업용 인터넷을 결합한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Internet+라는 개념이 등장하자마자 이 분야에서 점유율을 차지하고 싶어하는 각계각층의 높은 이상을 가진 사람들이 즉시 관심을 끌었습니다. 오늘날 전통적인 산업 생산 산업에서는 대부분 인터넷+라는 개념을 사용하지만, 대규모 기업가 정신과 혁신의 맥락에서 스마트 시티, 터널 교통, 스마트 파크, 산업 등을 포함한 끝없는 "게임" 흐름 속에서 "인터넷+"가 등장했습니다. 생산, 그리고 심지어 이번에는 스마트 항공기에 대해 이야기해볼까 합니다! 현재 오프사이트 공동 제조의 범위는 엔진 및 항공기 시스템의 개입이 거의 없는 주 엔진 제조 공장으로 제한됩니다. '인터넷+항공기'는 다양한 기종의 항공기에 대한 효과적인 모니터링 능력과 비상대응 능력을 향상시켜 항행안전성을 획기적으로 향상시킬 수 있다. "이 두 가지 기능을 개선하면 비행기 손실과 같은 사고가 더 이상 발생하지 않을 것입니다." 비행기가 예정된 경로를 벗어나 비행하면 지상에서 이를 실시간으로 모니터링할 수 있고, 비행기가 악의적인 조종에 직면하더라도 지상에서 조치를 취할 수 있습니다. 이상, "인터넷 + 항공기"는 각 항공기의 데이터를 완벽하게 이해하여 항해 안전성을 효과적으로 향상시킵니다. 나는 '인터넷+항공기'가 전통적인 '인터넷+항공기 제조' 단계를 뛰어넘어 항공기 수명 전반에 걸쳐 인터넷이 그 힘을 발휘할 수 있게 해줄 것이며, 이는 전통 제조 산업의 변화와 업그레이드를 위한 중요한 기회를 제공할 수 있다고 믿습니다.

코드 부분:

항공기 모델 로드 중

우선 가장 중요한 것은 이전 기사에서 언급했듯이 HT는 내부적으로 ht.Default.loadObj(https://hightopo.com/guide/gu...) 메서드를 캡슐화합니다. OBJ 파일 로드:

ht.Default.loadObj('obj/plane.obj', 'obj/plane.mtl', {                    
    center: true,
    r3: [0, -Math.PI/2, 0], // make plane face right
    s3: [0.15, 0.15, 0.15], // make plane smaller
    finishFunc: function(modelMap, array, rawS3){
        if(modelMap){                            
            modelMap.propeller.r3 = {// propeller 螺旋桨
            func: function(data){
                return [data.a('angle'), 0, 0]; 
            }
        };                             
        // 设置模型的大小为原来的 1 1.2 1.2 倍(相当于 x 轴放大了 1 倍,y 轴放大了 1.2 倍,z 轴放大了 1.2 倍)
        modelMap.propeller.s3 = [1, 1.2, 1.2]; 
        modelMap.propeller.color = 'yellow';
    } 
});

obj로 파싱한 모델 정보를 프리미티브에 바인딩하려면 먼저 모델링 매뉴얼(https://hightopo.com/guide/gu...)을 호출해야 합니다. 모델 등록(https://hightopo.com/guide/gu...) 장에서 소개한 ht.Default.setShape3dModel(name, model) 함수를 사용하여 등록한 후, 프리미티브에서는 Shape3d 속성만 설정하면 됩니다. 등록된 이름에 스타일을 적용합니다. 물론 이제 이 방법을 캡슐화하고 더 간단한 방법을 사용하여 모델을 로드했지만 로드 원칙은 여전히 ​​필요합니다.

// models/plane.json
{
    "modelType": "obj",
    "obj": "obj/plane.obj",
    "mtl": "obj/plane.mtl"// 要是没有 mtl 文件,则设置为 ""
}

그 후 노드 스타일의 Shape3d 속성을 다음으로 설정합니다. json: 노드 .s('shape3d', 'models/plane.json').

주목! 모델을 로드하는 데 어떤 방법을 사용하든 관계없이 mtl 파일에 텍스처가 사용되는 경우 텍스처 경로는 obj 파일 경로에 상대적이어야 합니다.

이전 코드의 modelMap.propeller는 OBJ 파일에 정의된 modelMap 객체의 propeller 객체입니다. modelMap을 인쇄하여 출력 결과를 확인할 수 있습니다.

HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.

적재 테일 표시등

이것은 메소드의 finalFunc(modelMap, array, rawS3)는 로딩 후 콜백 처리에 사용됩니다. 자세한 내용은 HT for Web OBJ 매뉴얼(http://hightopo.com/guide/gui...)을 참조하세요. OBJ에 기능 추가 항공기 꼬리 부분의 "빨간색 깜박이는 표시등"은 모델에 없습니다. 여기서 사용되는 것은 결합 모델 배열(모든 재료로 구성된 배열, 최소한 하나의 모델이 포함되어 있음)입니다. 배열에 새 공 모델을 추가합니다. #🎜🎜 #

// 添加一个指示灯的圆形模型
array.push({
    shape3d: ht.Default.createSmoothSphereModel(),
    t3: [-40, 10, 0],
    s3: [6, 6, 6],
    color: {
        func: function(data){
            return data.a('light') ? 'red': 'black';
        }
    }
});
여기서의 Shape3d는 HT로 캡슐화된 속성 이름입니다. 이는 setShape3dModel(name, model) 함수를 통해 등록되거나 에서 반환된 등록된 3D 모델입니다. getShape3dModel(name) 함수. 3D 모델을 등록하는 방법은 HT for Web Modeling Manual(http://hightopo.com/guide/gui...)에서 확인할 수 있습니다.

color 속성 이름은 객체에 해당합니다. 여기서 정의는 다음과 같습니다. Color는 data.getAttr('a')를 통해 data.setAttr('a', value)의 값을 직접 얻습니다. 이는 두 가지 장점이 있습니다. 첫째, HT의 공통 속성 작업을 오염시키지 않으므로 HT는 사용자가 비즈니스 데이터를 저장하도록 예약한 이 attr 속성 유형을 구체적으로 정의하며, 데이터 바인딩에도 매우 편리합니다. 속성을 변경해야 하는 경우 setAttr 메소드를 호출하는 것이 매우 편리합니다.

그런 다음 ht.Default.setShape3dModel(name, model)을 사용하여 방금 결합한 모델 배열을 원하는 "평면" 모델로 등록합니다.

ht.Default.setShape3dModel('plane', array);
# 🎜🎜 #모델 노드 생성

모델을 등록한 후 이 모델을 호출해야 합니다. Shape3d 속성을 통해 이 모델을 호출할 수 있으며, 이 모델에서 위 코드에 나타나는 내용을 사용자 정의할 수 있습니다. 조명 속성 및 각도 속성:

plane = new ht.Node();
plane.s3(200, 200, 200);
plane.s3(rawS3);
plane.s({
    'shape3d': 'plane',
    'shape3d.scaleable': false,
    'wf.visible': true,// 线框是否可见
    'wf.color': 'white',
    'wf.short': true // 是否显示封闭的线框,true为不封闭的短线框
});
plane.a({
    'angle': 0,
    'light': false
});

animation

항공기에는 프로펠러와 표시등이라는 두 가지 기능도 있으므로 이를 수정해야 합니다. 두 모델의 애니메이션 효과에 대해서는 HT for Web Animation Manual(http://hightopo.com/guide/gui...)을 참조하시기 바랍니다. 항공기 비행 시간 및 항공기 관람 시간은 다음을 통해 결정됩니다. 사용자가 양식 양식에서 선택한 결과, "경로"를 따라 비행하는 항공기의 회전 각도, 꼬리 표시등의 "깜박임" 기능 등. 마지막으로 항공기가 비행을 멈추고 항공기가 계속 비행하도록 하려면 이 애니메이션을 다시 호출해야 하며 조명이 더 이상 깜박이지 않도록 설정하고 애니메이션을 시작하는 것을 잊지 마세요:

params = {
    delay: 1500,
    duration: 20000,
    easing: function(t){ 
        return (t *= 2)  500){
            plane.a('light', false);
        }else{
            plane.a('light', true);
        }                        
    },
    finishFunc: function(){
        animation = ht.Default.startAnim(params);
        plane.a('light', false);
    }                  
};                               
               
animation = ht.Default.startAnim(params);

其实最让我们好奇的是描绘的路径跟飞机本身的飞行并没有关系,还有那么多左拐右拐的,要如何做才能做到呢?

绘制飞机轨道

HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.
接下来我们来描绘路径,首先这个路径是由 ht.Polyline 作为基础来描绘的:

polyline = new ht.Polyline();   
polyline.setThickness(2);
polyline.s({
    'shape.border.pattern': [16, 16],
    'shape.border.color': 'red',
    'shape.border.gradient.color': 'yellow',
    'shape3d.resolution': 300,
    '3d.selectable': false
});
dataModel.add(polyline);

上面的代码只是向 datamodel 数据模型中添加了一个 polyline 管线而已,不会显示任何东西,要显示“航道”首先就要设置航道所在的点,我们先设置航道的初始点:

points = [{ x: 0, y: 0, e: 0 }];
segments = [1];

这个 points 和 segments 是 HT for Web Shape 手册(http://hightopo.com/guide/gui...)中定义的,points 是 ht.List 类型数组的定点信息,顶点为 { x: 100, y: 200 } 格式的对象;segments 是 ht.List 类型的线段数组信息,代表 points 数组中的顶点按数组顺序的连接方式。

图中“航道”左侧的多个圆形轨道也是通过设置 points 和 segments 来设置的:

for(var k=0; k<count><p>接下来几个拐点也是这种方法来实现的,这里就不赘述了,如果你还没看手册的话,这里标明一点,segments 只能取值 1~5,1 代表一个新路径的起点;2 代表从上次最后点连接到该点;3 占用两个点信息,第一个点作为曲线控制点,第二个点作为曲线结束点;4 占用3个点信息,第一和第二个点作为曲线控制点,第三个点作为曲线结束点;5 不占用点信息,代表本次绘制路径结束,并闭合到路径的起始点:</p>
<pre class="brush:php;toolbar:false">points.push({ x: cx+radius, y: 0, e: height/2 });
points.push({ x: 0, y: 0, e: height/2 });
segments.push(3);

points.push({ x: radius, y: -radius, e: height/2*0.7 });
points.push({ x: radius*2, y: radius, e: height/2*0.3 });
points.push({ x: radius*3, y: 0, e: 0 });
segments.push(4);   

points.push({ x: 0, y: 0, e: 0 });
segments.push(2);

我们已经把路径上的点都添加进“航道”中了,接下来要把点都设置到管道上去才会显示在界面上:

polyline.setPoints(points);
polyline.setSegments(segments);

飞机跑道

HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.

“跑道”就比较简单了,只是一个 Node 节点然后设置基础效果而已,没什么特别的:

runway = new ht.Node();
runway.s3(-cx+radius*3, 1, 200);
runway.p3(cx+runway.getWidth()/2, -22, 0);
runway.s({
    'all.color': '#FAFAFA',
    'all.transparent': true,
    'all.reverse.cull': true,
    'all.opacity': 0.8,
    '3d.selectable': false
});
dataModel.add(runway);

最后,在界面上添加一个 formPane 表单面板,定义好之后可以直接添加到 body 上,这样就不会跟 graph3dView 有显示的联系了。

表单面板

HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.
formPane 可以用 formPane.addRow(https://hightopo.com/guide/gu...)方法动态添加行,这个方法中可以直接对动态变化的数据进行交互,例如本例中的是否有动画 Animation,我们利用 checkBox 来记录选中或者非选中的状态:

{
    checkBox: {
        label: 'Animation',
        selected: true,
        onValueChanged: function(){
            if(this.isSelected()){
                animation.resume();
            }else{
                animation.pause();
            }                               
        }
    }
}

也可以通过设置“id”来记录动态改变的值,然后 formPane 就会通过调用 formPane.v(id) 来获取当前值。

最后

工业互联网(Industrial Internet)的概念最早由通用电气(GE)在 2012 年提出,即让互联网进入产业链的上游,从根本上革新产业。根据飞常准的数据显示,美国已有 78% 的航班提供机上互联服务。在航天航空领域,工业互联网会打破软件、硬件和人员之间的信息壁垒,依靠大数据的分析,让飞机建立自己的声音,表达给飞行员和维修人员飞行员,具体飞行状况如何或者哪里需要维修。工业互联网技术的深入应用,正在改变着民航飞机的使用效率和制造成本。
HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.

HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.

HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.

相关推荐:

HTML5 Canvas实现交互式地铁线路图

如何使用Chrome控制台进行3D模型编辑的实现(代码)

위 내용은 HTML은 산업용 인터넷과 결합하여 지능형 항공기 제어(코드 포함)를 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
H5 : 웹 개발을위한 새로운 기능 및 기능H5 : 웹 개발을위한 새로운 기능 및 기능Apr 29, 2025 am 12:07 AM

H5는 여러 가지 새로운 기능과 기능을 제공하여 웹 페이지의 상호 작용 및 개발 효율성을 크게 향상시킵니다. 1. Enhance SEO와 같은 시맨틱 태그. 2. 멀티미디어 지원은 오디오 및 비디오 재생 및 태그를 단순화합니다. 3. 캔버스 드로잉은 역동적 인 그래픽 드로잉 도구를 제공합니다. 4. 로컬 스토리지는 LocalStorage 및 SessionStorage를 통해 데이터 스토리지를 단순화합니다. 5. Geolocation API는 위치 기반 서비스의 개발을 용이하게합니다.

H5 : HTML5의 주요 개선H5 : HTML5의 주요 개선Apr 28, 2025 am 12:26 AM

HTML5는 5 가지 주요 개선 사항을 제공합니다. 1. 시맨틱 태그는 코드 선명도 및 SEO 효과를 향상시킵니다. 2. 멀티미디어 지원은 비디오 및 오디오 임베딩을 단순화합니다. 3. 형태 향상은 검증을 단순화한다. 4. 오프라인 및 로컬 스토리지는 사용자 경험을 향상시킵니다. 5. 캔버스 및 그래픽 기능은 웹 페이지의 시각화를 향상시킵니다.

HTML5 : 표준과 웹 개발에 미치는 영향HTML5 : 표준과 웹 개발에 미치는 영향Apr 27, 2025 am 12:12 AM

HTML5의 핵심 기능에는 시맨틱 태그, 멀티미디어 지원, 오프라인 저장 및 로컬 스토리지 및 형태 향상이 포함됩니다. 1. 코드 가독성 및 SEO 효과를 향상시키는 시맨틱 태그 등. 2. 레이블로 멀티미디어 임베딩을 단순화하십시오. 3. ApplicationCache 및 LocalStorage와 같은 오프라인 스토리지 및 로컬 스토리지는 네트워크없는 작동 및 데이터 저장을 지원합니다. 4. 양식 향상은 처리 및 검증을 단순화하기 위해 새로운 입력 유형 및 검증 속성을 도입합니다.

H5 코드 예제 : 실제 응용 프로그램 및 튜토리얼H5 코드 예제 : 실제 응용 프로그램 및 튜토리얼Apr 25, 2025 am 12:10 AM

H5는 다양한 새로운 기능과 기능을 제공하여 프론트 엔드 개발 기능을 크게 향상시킵니다. 1. 멀티미디어 지원 : 미디어를 포함하고 요소를 포함하여 플러그인이 필요하지 않습니다. 2. 캔버스 : 요소를 사용하여 2D 그래픽 및 애니메이션을 동적으로 렌더링합니다. 3. 로컬 스토리지 : LocalStorage 및 SessionStorage를 통해 지속적인 데이터 저장을 구현하여 사용자 경험을 향상시킵니다.

H5와 HTML5 사이의 연결 : 유사성과 차이H5와 HTML5 사이의 연결 : 유사성과 차이Apr 24, 2025 am 12:01 AM

H5 및 HTML5는 다른 개념입니다. HTML5는 새로운 요소 및 API를 포함하는 HTML의 버전입니다. H5는 HTML5를 기반으로 한 모바일 애플리케이션 개발 프레임 워크입니다. HTML5는 브라우저를 통해 코드를 구문 분석하고 렌더링하는 반면 H5 응용 프로그램은 컨테이너를 실행하고 JavaScript를 통해 기본 코드와 상호 작용해야합니다.

H5 코드의 빌딩 블록 : 주요 요소 및 그 목적H5 코드의 빌딩 블록 : 주요 요소 및 그 목적Apr 23, 2025 am 12:09 AM

HTML5의 주요 요소에는 최신 웹 페이지를 작성하는 데 사용되는 ,,,,, 등이 포함됩니다. 1. 헤드 컨텐츠 정의, 2. 링크를 탐색하는 데 사용됩니다. 3. 독립 기사의 내용을 나타내고, 4. 페이지 내용을 구성하고, 5. 사이드 바 컨텐츠 표시, 6. 바닥 글을 정의하면, 이러한 요소는 웹 페이지의 구조와 기능을 향상시킵니다.

HTML5 및 H5 : 일반적인 사용법 이해HTML5 및 H5 : 일반적인 사용법 이해Apr 22, 2025 am 12:01 AM

HTML5와 H5 사이에는 차이가 없으며, 이는 HTML5의 약어입니다. 1.HTML5는 HTML의 다섯 번째 버전으로 웹 페이지의 멀티미디어 및 대화식 기능을 향상시킵니다. 2.H5는 종종 HTML5 기반 모바일 웹 페이지 또는 응용 프로그램을 참조하는 데 사용되며 다양한 모바일 장치에 적합합니다.

HTML5 : 현대 웹의 빌딩 블록 (H5)HTML5 : 현대 웹의 빌딩 블록 (H5)Apr 21, 2025 am 12:05 AM

HTML5는 W3C에 의해 표준화 된 하이퍼 텍스트 마크 업 언어의 최신 버전입니다. HTML5는 새로운 시맨틱 태그, 멀티미디어 지원 및 양식 향상을 도입하여 웹 구조, 사용자 경험 및 SEO 효과를 개선합니다. HTML5는 웹 페이지 구조를 더 명확하게하고 SEO 효과를 더 좋게하기 위해, 등 등과 같은 새로운 시맨틱 태그를 소개합니다. HTML5는 멀티미디어 요소를 지원하며 타사 플러그인이 필요하지 않으므로 사용자 경험을 향상시키고 속도를로드합니다. HTML5는 양식 함수를 향상시키고 사용자 경험을 향상시키고 양식 검증 효율성을 향상시키는 새로운 입력 유형을 도입합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.