Processing基本形状内容和实例

一、Processing的基本形状内容和实例

       1.Processing有一组专门绘制基本图形得图案。像线条这样的基本图形可以被连接起来创建更为复杂得形状,例如一片叶子或者一张脸。

        2.为了绘制一条直线,我们需要四个参数,两个用于确定初始位置,另外两个用于确定结束位置。

例1:一条直线如图1

                                      图1

        注意:一条直线由两个端点构成,也就是说有四个参数,即(x1,y1),(x2,y2).

而在Processing中输入的代码格式为:

line(x1,y1,x2,y2);

      先写代码如图2

                     图2

     保存运行如图3

                                         图3

  例2:一个三角形如图4

                                       图4

       注意:一个三角形有三个端点构成,也就是说有六个参数。即(x1,y1),(x2,y2),(x3,y3).而在Processing中输入的代码格式为:

triangle(x1,y1,x2,y2,x3,y3);

         先写代码如图5

                                       图5

          保存并运行如图6

                                    图6

例3:一个不规则四边形如图7

                                  图7

       注意:四边形有四个点,有八个参数,比三角形多了一个(x4,y4)。在这个例子里输入的代码格式为:

quad(x1,y1,x2,y2,x3,y3, x4,y4);

        先写代码如图8

                                    图8

         保存并运行如图9

                                  图9

例4:一个矩形如图10

  

                         图10

        注意:(x,y)是定义点的x轴和y轴,另外两个参数则是定义矩形的宽和高。因此矩形需要用四个参数来定义。输入的代码如下:

rect(x,y,width,height);

       先写代码如图11

                                    图11

        保存并运行如图12

                                  图12

例5:一个圆形如图13

  

                                        图13

         注意:(x,y)是确定圆的圆心,height和width是确定圆的宽和高。因此圆也是需要四个参数来定义,输入的代码如下:

ellipse(x,y,width,height);

        先写代码如图14

                                        图14

          保存并运行如图15

                                       图15

例6:缺了一角的圆如图16

                                  图16

         注意:(x,y)是确定圆的圆心,height和width是确定圆的宽和高。图6中的start指的是圆开始的角度,stop指的是圆结束的角度。输入的代码如下:

arc(x,y,start,stop);

        在这个例子中,我们不像之前的可以直接将数值带入,我们还需要了解一些内容。绘制椭圆的一部分我们需要加入开始的角度和结束的角度。但我们不能直接写几度几度,我们有两种方法写角度。

       第一种,代码如下:

arc(90,60,80,80,0,HALF_PI);

arc(190,60,80,80,0,PI+HALF_PI);

arc(290,60,80,80,PI,TWO_PI+HALF_PI);

arc(390,60,80,80,QUARTER,PI+QUARTER_PI);

       第一个和第二个参数是设置圆的圆心,第三个和第四个参数是设置圆的宽度和高度。第五个是设置弧形的初始角度,第六个参数是设置弧形的结束角度。角度是用弧度(radian)而不是角度(degree)绘制的。弧度是基于PI(3.14159)的弧度制数值绘制的。以上四个代码中,PI、QUARTER_PI、HALF_PI和TWO_PI的值可以被180°、45°、90°、360°的弧度值替代。

       第二种,我们可以用radians()函数转换角度数值。这个函数从角度数值中获得角度的信息,并把它转变为相应的弧度数值。这种方法和第一种显示的功能是一样的,只是第一种方法不常用,有点难,最常用的是第二种。

      如代码图17

                                      图17

        保存运行如图18

                                    图18

二、以上就是Processing的基本形状内容和实例,里面的实例 大家可以尝试着敲一下代码,改一下里面的数值,可以发现有趣的现象。下期我们讲形状属性,比如说设置描边粗细和色彩,让形状变得更加丰富、有趣。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/275223.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xterminal:未来的终端体验

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…

【vue.js】文档解读【day 4】 | 事件处理

如果阅读有疑问的话,欢迎评论或私信!! 文章目录 事件处理前言监听事件内联事件处理器方法事件处理器方法与内联事件判断在内联处理器中调用方法在内联事件处理器中访问事件参数修饰符事件修饰符按键修饰符常规按键别名系统按键别名组合按键ex…

(C语言)strcpy与strcpy详解,与模拟实现

目录 1. strcpy strcpy模拟实现&#xff1a; 实现方法1&#xff1a; 实现方法2&#xff1a; 2. strcat strcat模拟实现&#xff1a; 1. strcpy 作用&#xff1a;完成字符串的复制。 头文件&#xff1a;<string.h> destination是字符串要复制到的地点&#xff0c;s…

【轮式平衡机器人】——TMS320F28069片内外设之eCAP

引入 TMS320F28069的eCAP&#xff08;增强型捕获模块&#xff09;是一个强大的外设&#xff0c;用于精确测量和捕获输入信号的事件和时间戳。 在电机控制、传感器数据采集和信号处理等应用中&#xff0c;eCAP模块可以用于测量霍尔传感器、编码器或其他数字输入信号的周期、频…

开源爬虫技术在金融行业市场分析中的应用与实战解析

一、项目介绍 在当今信息技术飞速发展的时代&#xff0c;数据已成为企业最宝贵的资产之一。特别是在${industry}领域&#xff0c;海量数据的获取和分析对于企业洞察市场趋势、优化产品和服务至关重要。在这样的背景下&#xff0c;爬虫技术应运而生&#xff0c;它能够高效地从互…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的农作物害虫检测系统(深度学习模型+UI界面+训练数据集)

摘要&#xff1a;开发农作物害虫检测系统对于提高农业生产效率和作物产量具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个农作物害虫检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0…

docker容器镜像管理+compose容器编排(持续更新中)

目录 一、 Docker的基本组成 二、 容器和镜像的关系 2.1 面向对象角度 2.2 从镜像容器角度 三、 容器命令 3.1 使用Ubuntu 3.1.1 下载镜像 3.1.2 新建和启动容器 run 3.1.3交互式 compose编排与部署 1. docker-compose部署 2. docker-compose.yml模板 …

Git版本工具学习

目录 版本控制git配置工作区域文件状态git对象模型基础命令.gitignore忽略文件IDEA集成Git 版本控制 本地版本控制&#xff1a;在本地记录每一次版本更新。 集中版本控制&#xff1a;版本数据都保存在单一服务器&#xff0c;不联网就看不到版本信息。SVN 分布式版本控制&…

《详解:鸿蒙NEXT开发核心技术》

我们现在都知道鸿蒙作为一个国产的全栈自研系统&#xff0c;经过国家主推后。已经引起人们很大的关注&#xff0c;其中作为开发者来说&#xff1b;许多一线大厂已经与其华为鸿蒙展开原生应用的合作了&#xff0c;目前了解到已经有200家。而之后出现了很多的高薪鸿蒙开发岗位&am…

[密码学]OpenSSL实践篇

背景 最近在写Android abl阶段fastboot工具&#xff0c;需要我在Android代码中实现一些鉴权加解密相关的fastboot命令&#xff0c;里面用到了OpenSSL。我们先来实践一下OpenSSL在Linux系统中的指令。 OpenSSL官方网站&#xff1a;OpenSSL 中文手册 | OpenSSL 中文网 1. 查看…

mybatis-plus整合spring boot极速入门

使用mybatis-plus整合spring boot&#xff0c;接下来我来操作一番。 一&#xff0c;创建spring boot工程 勾选下面的选项 紧接着&#xff0c;还有springboot和依赖我们需要选。 这样我们就创建好了我们的spring boot&#xff0c;项目。 简化目录结构&#xff1a; 我们发现&a…

C语言:内存函数

目录 1.memcpy2.memmove3.memset4.memcmp5.atoi 1.memcpy void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置这个函数再遇到\0时不会停下来如果source和destination有…

哪个骨传导蓝牙耳机的好?独家揭秘六大选购技巧

在科技飞速前进的今天&#xff0c;骨传导蓝牙耳机以独特的听觉技术逐渐进入大众视野&#xff0c;赢得了众多消费者的青睐。作为一名资深的数码爱好者&#xff0c;我最近频繁地收到朋友们的咨询&#xff0c;他们希望了解哪个骨传导蓝牙耳机的好&#xff1f;对于初入数码圈的朋友…

zabbix 7.0编译部署教程

zabbix 7.0编译部署教程 2024-03-08 16:50乐维社区 zabbix7.0 alpha版本、beta版本已经陆续发布&#xff0c;Zabbix7.0 LTS版本发布时间也越来越近。据了解&#xff0c;新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现&#xff0c;不少小伙伴对此也已经跃跃欲试。心…

ThreeJs 射线拾取不准确设置

欢迎关注进来点个关注; 关注获取更多咨询!关注获取答案! 1、效果图如下: 2、问题描述:点击一开始无法获取当前的位置,官方推荐直接使用 mouseClick.x = (event.offsetX / window.innderWidth) * 2 - 1; mouseClick.y = -(event.offsetY / window.innderHeight) * 2 + 1;…

promise,async →await,then→catch,try→catch 使用简介

提示&#xff1a;promise&#xff0c;async →await&#xff0c;then→catch&#xff0c;try→catch 使用简介 文章目录 前言一、Promise二、promise then/catch三、promise async/await try/catch总结 前言 需求&#xff1a;promise&#xff0c;async →await&#xff0c;then…

多数问题求解之蒙特卡洛与分治法

多数问题&#xff08;Majority Problem&#xff09;是一个有多种求解方法的经典问题&#xff0c;其问题定义如下&#xff1a; 给定一个大小为 n n n的数组&#xff0c;找出其中出现次数超过 n / 2 n/2 n/2的元素 例如&#xff1a;当输入数组为 [ 5 , 3 , 5 , 2 , 3 , 5 , 5 ] […

爬虫案例2:playwright 超爽体验

参考链接&#xff1a;https://playwright.bootcss.com/python/docs/intro 目标网站&#xff1a;https://spa6.scrape.center/通过观察&#xff0c;页面的信息是通过Ajax请求后返回的信息 下面使用playwright实现绕过token的获取直接拿到返回的数据import asyncio import json f…

邮件发送:行业会议邀请的高效新选择

随着数字化浪潮的不断深入&#xff0c;营销手段也在不断的创新和升级。因此&#xff0c;如何高效、精准地触达并吸引目标用户群体参与行业会议已成为众多会议举办方的核心关注点。在这一背景下&#xff0c;邮件推送服务凭借其独特的优势正逐渐成为行业会议邀请的新选择。 邮件推…

Linux本地搭建FastDFS系统

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…