11、VTK重要数学知识:平面和法向量

法向量的定义蛮简单,就是任意平面上的向量都与法向量垂直

根据2个向量点积为0垂直特性,那就很容易从定义得到点法式方程,再由点法式展开得到一般式方程

cpp 复制代码
#include "MainWindow.h"

#include <QApplication>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkCamera.h>
#include <vtkProperty.h>
#include <vtkAxesActor.h>
#include <vtkPlaneSource.h>

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle)
VTK_MODULE_INIT(vtkRenderingFreeType)

int main(int argc, char *argv[])
{
    auto plane = vtkSmartPointer<vtkPlaneSource>::New();
    plane->SetNormal(0, 1, 0);
    plane->SetCenter(0, 0, 0);


    auto mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
    mapper->SetInputConnection(plane->GetOutputPort());

    auto actor = vtkSmartPointer<vtkActor>::New();
    actor->SetMapper(mapper);
    actor->GetProperty()->SetColor(1, 0, 0);

    auto actorAxes = vtkSmartPointer<vtkAxesActor>::New();

    auto render = vtkSmartPointer<vtkRenderer>::New();
    render->SetBackground(0.1, 0.2, 0.3);
    render->AddActor(actor);
    render->AddActor(actorAxes);

    render->GetActiveCamera()->SetFocalPoint(0, 0, 0);
    render->GetActiveCamera()->SetPosition(5, 3, 5);

    auto wd = vtkSmartPointer<vtkRenderWindow>::New();
    wd->AddRenderer(render);

    auto interator = vtkSmartPointer<vtkRenderWindowInteractor>::New();
    wd->SetInteractor(interator);
    wd->SetSize(800, 600);
    wd->SetPosition(200, 200);

    wd->Render();
    interator->Start();

    return 0;
}
相关推荐
老歌老听老掉牙1 天前
圆柱端面四平面交线及其在yoz面投影的几何解析与 Python 实现
开发语言·python·平面
无言听风雨丶2 天前
Kubernetes 控制平面深度剖析:从 kubectl apply 到 etcd 写入的全链路
平面·kubernetes·etcd
Solange__5 天前
AI世界模型、3D场景生成和游戏引擎怎么选?按5类任务比较交互、物理与导出
开发语言·人工智能·游戏·平面·3d·自然语言处理·游戏引擎
国科安芯5 天前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
希和20276 天前
考研高数综合题|微分方程 + 平面面积 + 旋转体体积
考研·平面
beibeix20156 天前
VTK 渲染全流程与 OpenGL 上下文适配
vtk
Evand J7 天前
【MATLAB例程】平面下,5基站对待定位点的定位。基于距离辅助下的AOA。完整代码下载链接
开发语言·matlab·平面·定位·导航·测距·aoa
网络小江12 天前
组网第21课:初登交换机——管理平面三板斧
平面·ssh·console·华为交换机
天人合一peng14 天前
Catia数控加工平面铣削
平面
Suprman15 天前
从 B/S 到 Electron:平面排版套料系统桌面版开发实战
javascript·平面·electron·排序算法