- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组n个点组成一条线,但我想要一条曲线而不是一条线。为了在处理中做曲线,需要一些控制点,我想知道如何才能从 n 个点的集合中获取控制点。另外,我会拖动曲线,因此我认为我需要一直找到新的控制点?
最佳答案
好吧,您基本上可以解析坐标数组并使用它们在处理中创建 curveVertex() 形状,如下所示:
// create an array of coordinates in x, y, x, y... format
int[] points = {
34, 163,
67, 345,
474, 84,
682, 234,
495, 396,
174, 379,
275, 574
};
void setup() {
size(800, 600);
smooth();
noFill();
}
void draw() {
background(255);
draw_curve_from_points(points); // draw the curve
draw_handles_on_points(points, 6, 126); // draw the handles
}
// a function to draw the curve
void draw_curve_from_points(int[] _points) {
noFill();
stroke(0);
strokeWeight(1);
int len = _points.length;
beginShape();
curveVertex(_points[0], _points[1]); // the first point is duplicated to be used as control point
for (int i = 0; i < len; i +=2) {
curveVertex(_points[i], _points[i+1]);
}
curveVertex(_points[len-2], _points[len-1]); // idem for last point
endShape();
}
// draw handles on the points
void draw_handles_on_points(int[] _points, float _size, int _gray) {
int len = _points.length;
pushStyle();
noStroke();
fill(_gray);
for (int i = 0; i < len; i +=2) {
ellipse(_points[i], _points[i+1], _size, _size);
}
popStyle();
}
只需添加一些鼠标位置识别和鼠标交互即可拖动点。
关于java - 如何从一组形成直线的点中获取曲线的控制点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197893/
有没有办法动态调整贝塞尔路径四曲线的控制点? 我正在为 children 创建一个小型拖放绘图应用程序。我希望他们在 Canvas 上添加一条线,然后通过拖动手指来调整曲线点以创建微笑或皱眉。 我目前
我正在开发一款安卓 UPnP/DLNA 应用程序。我有一个控制点,我可以在其中将文件从媒体服务器流式传输到渲染器。我可以在播放期间暂停/播放和停止文件,但我似乎无法弄清楚如何将搜索栏集成到控制点中以显
我能够使用这个问题的答案在 ggplot 中找到 geom_curve 控制点: How to find the geom_curve control points in ggplot 我现在想知道如
我正在开发一个类似提醒的应用程序,需要在特定时间发送通知。基本上,用户会创建某种提醒,我需要在指定时间发送通知。我正在使用 Firebase Cloud Messaging 发送通知。 我现在的想法是
我正在开发一个类似提醒的应用程序,需要在特定时间发送通知。基本上,用户会创建某种提醒,我需要在指定时间发送通知。我正在使用 Firebase Cloud Messaging 发送通知。 我现在的想法是
我一直在搜索 gcloud 文档和网络,但找不到为 gcloud 应用服务版本设置配置的方法。 在我的其他项目中已经完成,但我忘记了如何再次更新它。我想做的是对单个服务设置最大版本限制 - 例如: 使
我正在尝试为一些 NSView 的 alpha 过渡设置动画。它需要在另一个动画期间发生,特别是它的 super View (边界更改)。解释原因有点复杂,但我需要这些 alpha 转换具有计时功能,
以下怎么可能? ➢ gcloud compute instances list NAME ZONE
以下怎么可能? ➢ gcloud compute instances list NAME ZONE
我想将 Spanner 中现有表的主键从 Col1 修改为 Col1 和 Col2 的组合。可以在 Spanner 中实现吗? 此选项在控制台中不可用。也许可以用脚本来完成! 最佳答案 The key
我想使用 CyberGarage“CyberLink for Java”API 为 Android 编写一个 UPnP 控制点应用程序。为了测试 API,我实现了一个非常简单的应用程序。在此应
我是一名优秀的程序员,十分优秀!