Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 국비지원취업
- BFS
- 알고리즘
- git
- 자바스크립트
- LinkSnap
- Javascript
- 프론트엔드개발자
- 야놀자
- 백준
- 패스트캠퍼스
- js
- 그리디
- 호이스팅
- 코테
- 컴퓨터공학
- nodejs
- 너비우선탐색
- CSS
- 부트캠프
- 컴퓨터과학
- 국비지원
- html/css/js
- CS
- KAKAO
- computerscience
- 코딩테스트
- DFS
- github
- cpu
Archives
- Today
- Total
My Boundary As Much As I Experienced
p5.js로 2차원 pendulum 만들기 본문
Interactive(HTML Canvas ・three.js ・game)/CSS・Canvas ・ p5.js ・ Pixi.js
p5.js로 2차원 pendulum 만들기
Bumang 2024. 5. 26. 20:47
각도와 사인 함수의 반환값
- 라디안 단위의 각도: 사인 함수는 입력된 각도를 라디안 단위로 받아들인다. 1 라디안은 약 57.3도이다.
- 사인 값: 주어진 각도에 따라 사인 값은 다음과 같이 변한다:
- sin(0)=0
- sin(𝜋2)=1
- sin(𝜋)=0
- sin(3𝜋2)=−1
- sin(2𝜋)=0
let angle;
// angleVelocity
let angleV = 0;
// angleAcceleration
let angleA = 0.001;
let bob;
let len;
let gravity = 1;
function setup() {
createCanvas(600, 800);
origin = createVector(300, 0);
angle = PI / 4; // 0.78
console.log(angle, "angle");
bob = createVector();
len = 300;
}
function draw() {
background(0);
let force = gravity * sin(angle);
// console.log(force, "force");
angleA = (-1 * force) / len;
angleV += angleA;
angle += angleV;
console.log(angle, "angle");
angleV *= 0.99;
// bob이 추이다.
bob.x = len * sin(angle) + origin.x;
bob.y = len * cos(angle) + origin.y;
stroke(255);
strokeWeight(8);
fill(127);
// 시작점의 x,y, bob의 x,y를 라인으로 이음
line(origin.x, origin.y, bob.x, bob.y);
// bob의 x, y를 중점으로 반지름 64의 원을 생성
circle(bob.x, bob.y, 64);
}
'Interactive(HTML Canvas ・three.js ・game) > CSS・Canvas ・ p5.js ・ Pixi.js' 카테고리의 다른 글
p5.js) 블러된 이미지가 점점 선명해지는 효과 구현하기 (0) | 2024.06.01 |
---|---|
p5.js로 점으로 된 웨이브 패턴 만들기 (0) | 2024.05.28 |
Nature of Code 1. 벡터 이해하기 (p5.js) (0) | 2024.05.21 |
펄린 노이즈(Perlin Noise)를 이용하여 예쁜(?) 무작위성을 주기 (0) | 2024.05.17 |
p5.js로 크리에이티브 코딩을 시작했다. (0) | 2024.05.17 |